Android0422

940 views
888 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
940
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Android0422

  1. 1. Androidモバイル事業本部 企画開発部川平 航介
  2. 2. Androidの時代がやってきた! Android搭載スマートフォンが増えてきた 日本でも新機種が続々と 2
  3. 3. Agenda Androidの紹介 Androidアプリの作り方 Android Market 作ってみたアプリの紹介 3
  4. 4. 自己紹介 川平 航介 モバイル事業本部 企画開発部 ◦ モバイルサイトのプラットフォームとか 2009年4月入社 ◦ 今年で3年目です Id: @binzume 4
  5. 5. ANDROIDの紹介 5
  6. 6. Android?? モバイル向けプラットフォーム ◦ Google ◦ 2007年11月 ◦ オープンソース → ソース読めます ◦ ドロイド君 6
  7. 7. バージョンについて 1.6 (Donut) ◦ 音声検索機能 2.1 (Eclair) ◦ 多くの解像度に対応,ライブ壁紙 2.2 (Froyo) ◦ FlashPlayer10使える,高速化 2.3 (Gingerbread) ◦ 高速化,Javaを使わなくても開発可能に 詳しくはWikipediaを… 7
  8. 8. Android Market上での統計 2.2 63.9% 2.1 27.2% 1.6 3.5% 2.3 2.5% (2.3.3含む)2011/04/01 8
  9. 9. 日本では… とあるアプリの場合 2.2 39.3% 2.1 47.8% 1.6 6.4% 2.3 6.0%2011/04/13 9
  10. 10. アーキテクチャ(1) Wikipediaより 10
  11. 11. アーキテクチャ(2) こんな感じ アプリケーション アプリケーションフレームワーク コア・ライブラリ 標準ライブラリ . Dalvik VM Linux Androidアプリ開発ではこの辺が重要 11
  12. 12. 標準ライブラリ OpenGL 3D/2Dグラフィック SQLite データベース Web Kit HTMLの表示 他色々 ◦ 今回ライブラリの話はしません 12
  13. 13. Dalvik VM Androidアプリを実行する仮想マシン ◦ 省メモリ ◦ Javaで書いたアプリはDalvik用のコードに 変換して実行する ◦ Android 2.2からはJITコンパイルに対応 13
  14. 14. ANDROIDアプリの作り方 14
  15. 15. 開発環境 Java Android SDK Eclipse + ADT Pluginが便利 ◦ ADT : Android Development Tools 導入方法などは適当にググって! 15
  16. 16. Java Javaで開発するのが現実的 ◦ NDKを使えば他の言語で書いたライブラ リ等を呼び出せる  NDK : Native Development Kit  端末のCPUに依存するアプリになってしまう 16
  17. 17. Android SDKhttp://developer.android.com/sdk/index.html SDKの内容 ◦ AndroidのAPI使うためのSDK本体 ◦ サンプルプログラム ◦ エミュレータ ◦ 開発用のツール 17
  18. 18. Eclipse + ADT Plugin Eclipse ◦ 超便利 (贅沢言うなら,もう少しサクサク動いて欲しい) ADT Plugin ◦ Eclipse上でAndroid SDKのツールを簡単に 使える ◦ コンパイル→端末に転送→実行がワンク リックで 18
  19. 19. アプリケーションフレームワーク Androidアプリの肝 ◦ Activity ◦ Service ◦ Intent ◦ Content Provider ActivityとIntent は必修! 19
  20. 20. Activity 表示される画面の単位 ◦ Activityクラスを継承して処理を書く ◦ 画面が切り替わるとき別のActivityが起動して いる ◦ 前のActivityも保持され,戻ることができる Bを起動 Cを起動 Activity B Activity C Activity A Bを終了しAに Cを終了しBに 20
  21. 21. Activityと View Activityはまず最初にViewを用意する View = 画面に表示する内容 ◦ ボタンや画像,テキストなどを置ける テキスト Activity 画像 View ボタン 21
  22. 22. Activityと View Viewの内容はlayoutというxmlに書く ◦ Javaのコードでも書けるけどxmlで定義す るのが良い ◦ EclipseのADT PluginならGUIでボタンなど を配置できる(…が日本語使うのは難あり) 22
  23. 23. Service Activityと違って画面には出ない ◦ バックグラウンドで動く  Activityを起動したり  通知領域にアイコンやメッセージを出すなど ◦ 通知領域 23
  24. 24. Intent ActivityやService間でデータを受け渡す ◦ 例:ボタンを押したら画面が切替わる Intent 3 Bが起動しIntent受け取る Activity A 2 AがIntent投げる Activity B ボタン1 ボタンを押す 24
  25. 25. Intent 渡せるもの  URL  数値  文字列  …など Intentは別のアプリにも送れる 25
  26. 26. Intent 明示的Intent ◦ 指定したActivityやServiceを起動したり データを渡せる 暗黙的Intent ◦ URLやファイルをIntentで投げると対応ア プリが自動的に起動する  複数ある場合はユーザーが選択する 26
  27. 27. Content Provider 他のプロセスにファイルやDBを提供  ファイル自体はIntentで渡せない  他のアプリからURIでアクセスできる  例: content://com.example.hoge.fileprovider 27
  28. 28. センサー類 GPS 加速度 ジャイロ コンパス カメラ 28
  29. 29. その他 ライブ壁紙  動く壁紙 ウィジェットアプリ  ホーム画面に置ける常駐アプリ ホームアプリ  ホーム画面自体もアプリで作成できる 29
  30. 30. 気を付けること:メモリ Javaだからメモリリークとか気にしな くて良い? →そんなことはない 基本的に1アプリ16MB javaのstaticメンバ等は避けるのが無難  アプリ画面を閉じてもプロセスは生存してる 30
  31. 31. 気を付けること:速度 UIスレッドで重い処理をしない ◦ ネットワーク ◦ ファイルアクセス 別スレッドで処理する ◦ Service ◦ AsyncTask 31
  32. 32. 気を付けること:環境 環境は様々 ◦ OSのバージョン ◦ 画面の解像度 ◦ 使えるセンサーの種類 ◦ カメラ・フラッシュの有無 32
  33. 33. ANDROID MARKET 33
  34. 34. Android Markethttps://market.android.com/ 34
  35. 35. Android Market アプリケーション数:20万以上 ◦ 2011年4月時点 無料のアプリが多い ◦ 65%が無料 ◦ 審査などは無い ◦ 良いアプリ探すのは結構大変 35
  36. 36. 作ったアプリを公開する1. 開発者用アカウントを取得($25必要)2. アプリケーションを登録 ◦ ファイルをアップロード ◦ 説明文を書く ◦ スクリーンショットなど3. 少し待つと検索結果に現れる ◦ 30分くらい?審査とか待たなくて良いのが素晴らしいですね! 36
  37. 37. 開発者ページで見れるもの ダウンロード数 ◦ 実際にインストールされてる数も分かる ユーザーの統計 ◦ OSのバージョン ◦ 機種 ◦ 国・言語 37
  38. 38. 作ってみたアプリの紹介 38
  39. 39. ネギアンテナ ネギが表示されるウィジェットアプリ 電波の強さでネギの本数が変わります 画期的! 冗談です 39
  40. 40. ニコニコPlayer(仮) 作ってみました ◦ ニコニコ動画のクライアント ◦ コメントもできるよ ◦ まだ一部の動画が再生できない… 40
  41. 41. ニコニコPlayer(仮) デモ 41
  42. 42. 最後に Androidアプリ開発 楽しいです ◦ 楽しい≒苦難の道 ◦ Androidはまだまだ進化中 42

×