冬だからAndroid再入門

3,840 views

Published on

日本Androidの会 大分支部 第16回勉強会の資料です

0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,840
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
14
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide

冬だからAndroid再入門

  1. 1. 冬だからAndroid再入門 アンドロイド開発2012 日本Androidの会 大分支部 本田 克己
  2. 2. ◯◯だから◯◯再入門シリーズ 第3弾
  3. 3. 2011年7月31日  夏だからJava再入門 2011年9月25日 秋だからEclipse再入門1年以上経っているけど、気にしない気にしない :p
  4. 4. Androidの歴史1.0 Astro 2008年9月23日1.1 Bender 2009年2月9日1.5 Cupcake 2009年4月30日1.6 Donut 2009年9月15日2.0/2.1 Eclair 2009年10月26日2.2 Froyo 2010年5月21日2.3 Gingerbread 2010年12月6日3.x Honeycomb 2011年2月22日4.0 Ice Cream Sandwich 2011年10月18日4.1 Jelly Bean 2012年6月27日4.2 Jelly Bean 2012年11月13日 イマココ 次はKey Lime Pieらしいよ
  5. 5. Jelly Beanサクサクです
  6. 6. ここ最近の話題
  7. 7. 7インチhttps://play.google.com/store/devices/details?id=nexus_7_16gb 15,800円 12,800円の廉価版も http://www.amazon.co.jp/gp/product/B008UAAE44/
  8. 8. 10インチhttps://play.google.com/store/devices/details?id=nexus_10_16gb http://www.sony.jp/tablet/products/S2/
  9. 9. iPad miniとかWindowsタブレット http://www.apple.com/jp/ipad-mini/ http://www.microsoft.com/Surface/
  10. 10. 色々タブレットやっときたいですね Windowsタブレットが高くてなかなか買えません・・・
  11. 11. 10インチタブレット買いました :)今さらXOOMヤフオクで送料込み15,001円でした :)
  12. 12. コモディティ化 Nexus 7 : 19,800円〜 海外では$99モデルの噂も HDじゃないKindle Fire : 15,800円 Nexus 10 : 36,800円〜の予定? Xperia Tablet S : 39,800円(ソニーストア) Nexus 4 : $299 Huawei Honor2 : 1,888元 http://www.huaweidevice.com/cn/productMobile.do?method=index&directoryId=5005&treeId=3677http://www.google.com/nexus/4/
  13. 13. では、そろそろ開発のお話
  14. 14. Android SDKが新しくなったよ
  15. 15. SDKとADTとEclipseが1つに 今まで通りのセパレートなセットアップもできます
  16. 16. セットアップ簡単ビフォー アフターJDKのインストール JDKのインストールAndroid SDKインストールEclipseインストール Android SDKバンドル版インストールADTインストールSDKマネージャで色々ダウンロード できたー�できたー�
  17. 17. テンプレートが増えたえーーっと、BlankActivity以外使っていないので、細かい内容はそのうち・・・
  18. 18. 画面のプレビューが楽々 まとめて確認
  19. 19. アップデートのやり方 開発環境をセットアップした後は、新しいのが出たからといって 再インストールしなくても、アップデートすれば大丈夫●SDKマネージャを起動してアップデートがあれば、インストール●Eclipseのメニューから[Help] → [Check for Updates]を選択して、ADTをアップデート 2つに分かれてるの面倒だけど、とりあえずこれだけ
  20. 20. 爆速エミュレータ
  21. 21. Androidのエミュレータが遅い だなんて過去の話 SDK Managerからこいつらをインストール Intelさんのサイトから、HAXM(Hardware Accelerated Execution Manager)をダウンロードしてインストールhttp://software.intel.com/en-us/articles/intel-hardware-accelerated-execution-manager/ ※CPUに仮想化支援機構が必要です
  22. 22. Intelなエミュレータを作る CPU/ABIにIntel Atomを選びます IntelのへなちょこGPU使っている場合は チェックを外しておきます
  23. 23. 3Dもボチボチ動きます
  24. 24. 今気がついた、カメラが使える (爆速エミュレータとは関係ありません) パソコンに繋がってるカメラが選べるようになってた
  25. 25. 注意点CPUの仮想化支援機能が必要です(Intel以外のCPUで動くかは試したことないです)Macの10.8はHAXMの最新版1.0.4じゃないと、OSが再起動してヒドい目にあいますIntelのGPU使っている人はuse host GPUのチェックを必ず外しておくことIntelなシステムイメージにはGoogle APIが入っていないので、Google Mapsとかは動かせません
  26. 26. サポートライブラリ
  27. 27. まだまだ2.3http://developer.android.com/about/dashboards/index.html
  28. 28. サポートライブラリ古いAndroidに、新しいAndroidの機能をバックポート最近のSDKはプロジェクト作ると自動的に組み込まれてるAndroid1.6以降の端末で使えるフラグメントとか使えますAndroid4.2で追加されたネステッドフラグメントも
  29. 29. パッケージ名に気をつけてねパッケージ名の違う、同じクラスがあるのでパッケージ名には気をつけましょう
  30. 30. ネステッドフラグメント意味の無いサンプルですが、フラグメントの入れ子ができるようになりました
  31. 31. ActionBarSherlock http://actionbarsherlock.com/index.html
  32. 32. サポートライブラリに 足りないもの
  33. 33. アクションバー ActionBarSherlockを使うとAndroid2.xな端末で、 アクションバーが使えるようになります
  34. 34. ActionBarSherlockを使う ダウンロードして解凍 https://github.com/JakeWharton/ActionBarSherlock/archive/4.2.0.zip[New] → [Project]からAndroid Project from Existing Codeを選択アプリのプロジェクトのプロパティを表示して、ライブラリに追加します
  35. 35. 微調整サポートライブラリのバージョンが違うよゴラァーってエラーが出てしまいますActionBarSherlockのlibsのandroid-support-v4.jarをアプリのlibsのファイルで上書きしちゃいましょう
  36. 36. アプリの変更テーマの変更 <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/Theme.Sherlock" >アプリのテーマを、シャーロック何たらってのに設定しますクラスの変更 import com.actionbarsherlock.view.Menu; とか public class MainActivity extends SherlockFragmentActivityアクティビティの親クラスをSherlock何たらActivityにします。Menuクラスとかを、com.actionbarsherlockパッケージのを使うようにします。メニューインフレータの変更 getMenuInflater() getSupportMenuInflater()
  37. 37. メニュー用XMLの変更<item android:id="@+id/menu_settings" android:icon="@android:drawable/ic_menu_preferences" android:orderInCategory="100" android:showAsAction="ifRoom|withText" android:title="@string/menu_settings"/> showAsActionにifRoomとか指定することで アクションバーに表示されるようになります
  38. 38. こんな感じ この辺がアクションバー
  39. 39. 新しいGoogle Maps APIhttps://developers.google.com/maps/documentation/android/
  40. 40. 前準備 SDK ManagerからGoogle Play servicesをインストール APIsコンソールでGoogle Maps Android API v2を有効化 APIキーを作成https://code.google.com/apis/console/
  41. 41. APIプロジェクト作成 [New] → [Project]から Android Project from Existing Codeを選択 SDKのextrasの中に、Google play servicesライブラリ プロジェクトが入っているので指定します
  42. 42. プロジェクトに参照を追加アプリのプロジェクトのプロパティを表示して、ライブラリにgoogle-play-services_libを追加します
  43. 43. API Keyの作り方 デバッグ用のKeystoreを使う時はこんな感じkeytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android実行結果のSHA1の部分とアプリのパッケージ名を指定SHA1: 99:62:24:65:B6:ED:B4:09:33:13:56:A0:02:66:11:9A:03:D1:79:2B
  44. 44. AndroidManifest.xml application要素の中に追加 <meta-data android:name="com.google.android.maps.v2.API_KEY"          android:value="your_api_key" /> マップ用パーミッションを追加 <permission android:name="com.example.hello.permission.MAPS_RECEIVE" android:protectionLevel="signature" /> <uses-permission android:name="com.example.hello.permission.MAPS_RECEIVE" /> パッケージ名は、アプリで使っているのに合わせます
  45. 45. AndroisManifest.xml続きマップに必要なパーミッション追加<uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /><uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /><uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> OpenGL ES 2.0以降の端末に限定する<uses-feature android:glEsVersion="0x00020000" android:required="true" /> グリグリ動くのですよ :) Android1.6世代の端末はたぶん全滅
  46. 46. レイアウトレイアウト用XMLにマップのフラグメントを追加 <fragment xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/map" android:layout_width="match_parent" android:layout_height="match_parent" class="com.google.android.gms.maps.MapFragment"/>サポートライブラリを使っている場合は、コッチのクラスを指定 com.google.android.gms.maps.SupportMapFragment
  47. 47. キターーーーーーー 立体なコンパルホール :)
  48. 48. ということで、最近のAndroid開発について おさらいしてみました
  49. 49. ご清聴ありがとうございました。

×