Your SlideShare is downloading. ×
0
はじめてのAndroid開発     2011/12/08 井谷裕紀
はじめに 今回、環境構築の話はしません。 環境構築はここを見れば大丈夫!http://www.android-group.jp/index.php?%A5%EF%A1%BC%A5%AD%A5%F3%A5%B0%A5%B0%A5%EB%A1%...
みなさん
Androidは好きですか?
愚問でしたね。
そんなAndroid大好きなみなさん
Androidと言えばなにを思い浮かべますか?
愚問でしたね。
機種依存
というわけでまずは機種依存の話から
そのためには、Androidのディレクトリ構成を 理解する必要があります。
0 ディレクトリ構成              プログラムファイル               自動生成ファイル                 Google API             リソース(xml, 画像, etc.)       ...
1. 機種依存
1-1 よくある機種依存   解像度、dpi   カメラ   メール   etc.      今回はまったの      が、、、、、
1-2-1 端末による解像度・dpiの違い   Androidは端末によって解像度やdpiが違います                     ※dpi = dot per inchの略。ピクセル解像度。       800x480    ...
1-2-2 解像度・dpi別のリソースの管理   異なる解像度・dpiを吸収するためのもっともシンプ    ルな方法は、それら毎に画像等のリソースを管理す    ることです。   Androidには、複数のリソースを用意することで、そ   ...
1-2-3 具体的な方法           res/drawable-ldpi      100〜140dpi          res/drawable-mdpi       140〜180dpi           res/drawabl...
あるAndroiderは言いました。
普通に書けば、機種依存問題なんてまず起こらない。    ただしカメラ以外。
Androidには機種依存を吸収する仕組みが      ちゃんと用意されています。    その使い方さえ押さえておけば、機種依存でそこまで深刻な問題は起きません。
ただしカメラ以外。
2. Android4種の神器
2-1 Android4種の神器   Activity       ユーザー・インタフェース(UI)を持つAndroidのア        プリケーション・プログラム   Service       UIを持たず,連続的に情報を提供し続...
2-2-1 Activityとは   主にViewのことを指します。   Android上で表示されている画面はActivityです。            Activity
2-2-2 ActivityのライフサイクルActivityには、生成から始まり、破棄で終わるまでのライフサイクルがあります。
2-2-3 Activityを作成するには   Activityクラスを継承し、onCreate()メソッドを    Overrideします。public class SampleActivity extends Activity {    ...
2-3-1 Serviceとは   主にバックグラウンドで動作し続けるプログラムを    指します。   例)       タイマー機能       音楽再生       目覚まし機能       etc.
2-3-2 ServiceのライフサイクルServiceにもライフサイクルがあります。
2-3-3 ServiceのBind   Serviceは通常、一度起動するとActivityからは停止す    ることしかできません。   Bindという機能を使うと、ActivityからServiceが提供    するメソッドを実行する...
2-3-4 Serviceを作成するには       Serviceクラスを継承し、onCreate(), onBind()を        Overrideします。    public class SampleService extends...
2-4-1 BroadcastRecieverとは   外部からのイベントに応じて処理が発生するプログ    ラム       電話が着信したときに何らかの処理を実行する       端末を再起動した際に何らかの処理を実行する     ...
2-4-2 BroadcastRecieverを作成するには   BroadcastRecieverクラスを継承し、onRecieve()を    Overrideします。    public class PgcwSampleReciever...
2-5 ContentProviderとは   データを保存する際に使用します。   端末内のアプリ専用エリアに作成され、アクセス権    限を定義すれば他のアプリからも使用可能です。   システムのデータもこれで作成されています。
3. Intent
3-1 Intentとは   プロセスやスレッドを跨いだ処理を簡単に実現する    ものです。       Activityを起動       Serviceを起動       etc.
3-2 明示的Intentと暗黙的Intent   明示的Intent     直接起動したいClassを指定して呼び出す    Intent intent = new Intent(context, class);   暗黙的Intne...
4. Out of memory
4-1 メモリとの戦い   Android開発はメモリとの戦いと言っても過言ではあ    りません。   必ずと言っていいほど、メモリ問題にぶつかりま    す。                   そのほとんどの原因が・・・       ...
4-2 メモリリーク     Androidはメモリを明示的に開放することはできませ      ん      できないといういい方は正しくないかもしれません。      メソッドは用意されているのですが、あてになりません。          ...
4-3 開発に入る前のポイント   DEと相談しましょう       画像を多用しなくてもリッチに見える工夫       画像のダイエット処理           画像をダイエットさせるだけで、とっても効果あります   参考になるUR...
5. サンプルアプリの紹介
感想
   とってもよくできています。   とっつきにくさは感じませんでした。   JAVAを対して知らない僕でもそれなりに開発はでき    ました!
Android楽しいよ!!
ご静聴ありがとうございました。
Upcoming SlideShare
Loading in...5
×

初めてのAndroid開発

2,379

Published on

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

  • Be the first to like this

No Downloads
Views
Total Views
2,379
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
11
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "初めてのAndroid開発"

  1. 1. はじめてのAndroid開発 2011/12/08 井谷裕紀
  2. 2. はじめに 今回、環境構築の話はしません。 環境構築はここを見れば大丈夫!http://www.android-group.jp/index.php?%A5%EF%A1%BC%A5%AD%A5%F3%A5%B0%A5%B0%A5%EB%A1%BC%A5%D7%2F%A5%CF%A5%F3%A5%BA%A5%AA%A5%F3%A5%BB%A5%C3%A5%B7%A5%E7%A5%F3
  3. 3. みなさん
  4. 4. Androidは好きですか?
  5. 5. 愚問でしたね。
  6. 6. そんなAndroid大好きなみなさん
  7. 7. Androidと言えばなにを思い浮かべますか?
  8. 8. 愚問でしたね。
  9. 9. 機種依存
  10. 10. というわけでまずは機種依存の話から
  11. 11. そのためには、Androidのディレクトリ構成を 理解する必要があります。
  12. 12. 0 ディレクトリ構成 プログラムファイル 自動生成ファイル Google API リソース(xml, 画像, etc.) アプリケーションを定義するファイル
  13. 13. 1. 機種依存
  14. 14. 1-1 よくある機種依存 解像度、dpi カメラ メール etc. 今回はまったの が、、、、、
  15. 15. 1-2-1 端末による解像度・dpiの違い Androidは端末によって解像度やdpiが違います ※dpi = dot per inchの略。ピクセル解像度。  800x480  960x540  854x480  480x320  etc. 端末ごとの違いをどう吸収するか。 もっとも影響を受けるのはレイアウトで す。
  16. 16. 1-2-2 解像度・dpi別のリソースの管理 異なる解像度・dpiを吸収するためのもっともシンプ ルな方法は、それら毎に画像等のリソースを管理す ることです。 Androidには、複数のリソースを用意することで、そ の端末のdpiや解像度に合った適切なリソースを自動 で読み込む仕組みがあります。
  17. 17. 1-2-3 具体的な方法 res/drawable-ldpi 100〜140dpi res/drawable-mdpi 140〜180dpi res/drawable-hdpi 190〜250dpi res/drawable-nodpi DPIに依存しない画像 さらに応用すると・・・ res/drawable-320dpi 320dpi res/drawble-hdpi- 190〜250dpi 800x480 解像度:800x480 res/drawble-hdpi- 190〜250dpi 854x480 解像度:854x480 res/drawble-hdpi- 190〜250dpi 960x540 解像度:960x540
  18. 18. あるAndroiderは言いました。
  19. 19. 普通に書けば、機種依存問題なんてまず起こらない。 ただしカメラ以外。
  20. 20. Androidには機種依存を吸収する仕組みが ちゃんと用意されています。 その使い方さえ押さえておけば、機種依存でそこまで深刻な問題は起きません。
  21. 21. ただしカメラ以外。
  22. 22. 2. Android4種の神器
  23. 23. 2-1 Android4種の神器 Activity  ユーザー・インタフェース(UI)を持つAndroidのア プリケーション・プログラム Service  UIを持たず,連続的に情報を提供し続けるプログラ ム BroadcastReciever  外部のイベントに対して何らかの反応を返す ContentProvider  データベースなど,特定の条件下においてデータを 提供する
  24. 24. 2-2-1 Activityとは 主にViewのことを指します。 Android上で表示されている画面はActivityです。 Activity
  25. 25. 2-2-2 ActivityのライフサイクルActivityには、生成から始まり、破棄で終わるまでのライフサイクルがあります。
  26. 26. 2-2-3 Activityを作成するには Activityクラスを継承し、onCreate()メソッドを Overrideします。public class SampleActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState { super.onCreate(savedInstanceState); // ViewをLayoutを定義しているxmlからセット setContentView(R.layout.main); }}
  27. 27. 2-3-1 Serviceとは 主にバックグラウンドで動作し続けるプログラムを 指します。 例)  タイマー機能  音楽再生  目覚まし機能  etc.
  28. 28. 2-3-2 ServiceのライフサイクルServiceにもライフサイクルがあります。
  29. 29. 2-3-3 ServiceのBind Serviceは通常、一度起動するとActivityからは停止す ることしかできません。 Bindという機能を使うと、ActivityからServiceが提供 するメソッドを実行することができます。
  30. 30. 2-3-4 Serviceを作成するには Serviceクラスを継承し、onCreate(), onBind()を Overrideします。 public class SampleService extends Service { public void onCreate() { super.onCreate(); } @Override public IBinder onBind(Intent arg0) { // bind機能は使用しないのでnullを返す return null; } }
  31. 31. 2-4-1 BroadcastRecieverとは 外部からのイベントに応じて処理が発生するプログ ラム  電話が着信したときに何らかの処理を実行する  端末を再起動した際に何らかの処理を実行する  etc.
  32. 32. 2-4-2 BroadcastRecieverを作成するには BroadcastRecieverクラスを継承し、onRecieve()を Overrideします。 public class PgcwSampleReciever extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { } }
  33. 33. 2-5 ContentProviderとは データを保存する際に使用します。 端末内のアプリ専用エリアに作成され、アクセス権 限を定義すれば他のアプリからも使用可能です。 システムのデータもこれで作成されています。
  34. 34. 3. Intent
  35. 35. 3-1 Intentとは プロセスやスレッドを跨いだ処理を簡単に実現する ものです。  Activityを起動  Serviceを起動  etc.
  36. 36. 3-2 明示的Intentと暗黙的Intent 明示的Intent  直接起動したいClassを指定して呼び出す Intent intent = new Intent(context, class); 暗黙的Intnent  明示的に起動させるClassを指定せずにIntentのパラメー タに起動するClassをある程度推測できるだけの情報を入 れておくと、該当するClassが呼び出される Intent intent = new Intent(); intent.setAction(Intent.ACTION_VIEW); intent.setData(Uri.parse(“http://kayac.com”)); startActivity(intent);
  37. 37. 4. Out of memory
  38. 38. 4-1 メモリとの戦い Android開発はメモリとの戦いと言っても過言ではあ りません。 必ずと言っていいほど、メモリ問題にぶつかりま す。 そのほとんどの原因が・・・ 画像
  39. 39. 4-2 メモリリーク  Androidはメモリを明示的に開放することはできませ ん できないといういい方は正しくないかもしれません。 メソッドは用意されているのですが、あてになりません。 どうするか 来たるべきGCの時に備えて、とにかく無駄に参照し続けるオブジェクトを持たないことです。
  40. 40. 4-3 開発に入る前のポイント DEと相談しましょう  画像を多用しなくてもリッチに見える工夫  画像のダイエット処理  画像をダイエットさせるだけで、とっても効果あります 参考になるURL  http://www.textdrop.net/soft/android-avoiding-memory- leaks/  http://andbrowser.com/development/knowhow/65/eclipse- android-memory-leak-mat/  http://tomokey.blogspot.com/2011/05/android.html
  41. 41. 5. サンプルアプリの紹介
  42. 42. 感想
  43. 43.  とってもよくできています。 とっつきにくさは感じませんでした。 JAVAを対して知らない僕でもそれなりに開発はでき ました!
  44. 44. Android楽しいよ!!
  45. 45. ご静聴ありがとうございました。
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×