Your SlideShare is downloading. ×
0
はじめてのAndroid開発
はじめてのAndroid開発
はじめてのAndroid開発
はじめてのAndroid開発
はじめてのAndroid開発
はじめてのAndroid開発
はじめてのAndroid開発
はじめてのAndroid開発
はじめてのAndroid開発
はじめてのAndroid開発
はじめてのAndroid開発
はじめてのAndroid開発
はじめてのAndroid開発
はじめてのAndroid開発
はじめてのAndroid開発
はじめてのAndroid開発
はじめてのAndroid開発
はじめてのAndroid開発
はじめてのAndroid開発
はじめてのAndroid開発
はじめてのAndroid開発
はじめてのAndroid開発
はじめてのAndroid開発
はじめてのAndroid開発
はじめてのAndroid開発
はじめてのAndroid開発
はじめてのAndroid開発
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

はじめてのAndroid開発

4,162

Published on

日本Androidの会 大分支部の第1回勉強会で使用した資料です。

日本Androidの会 大分支部の第1回勉強会で使用した資料です。

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

No Downloads
Views
Total Views
4,162
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. はじめての Android 開発 日本 Android の会 大分支部 第 1 回勉強会 2010 年 4 月 24 日 本田 克己
  • 2. 開発環境OK? <ul><li>JDK
  • 3. Android SDK
  • 4. Platform File(1.6)
  • 5. Eclipse
  • 6. ADT(Android Development Toolkit) </li></ul>
  • 7. みんな大好きハローワールド <ul><li>EclipseからAndroidプロジェクト作るだけ </li></ul>
  • 8. みんな大好きハローワールド <ul><li>パッケージ名は公開するときは重要です
  • 9. 作成後エラーが出ている場合はProject -> Clean </li></ul>
  • 10. エミュレータでコンニチワ <ul><li>エミュレータの設定をしていないとダイアログがでるので、設定してください。
  • 11. エミュレータの起動には時間がかかるのでしばらくお待ちください </li></ul>
  • 12. Hello Android!! <ul><li>エミュレータの画面は閉じないで置いた方が効率的です。 </li></ul>
  • 13. Android の中身 を少しだけ
  • 14. Androidの構造 くわしくはWEBで。 http://developer.android.com/intl/ja/guide/basics/what-is-android.html
  • 15. 4つのコンポーネント <ul><li>アクティビティ
  • 16. サービス
  • 17. ブロードキャストレシーバ
  • 18. コンテンツプロバイダ </li></ul>くわしくはWEBで。 http://developer.android.com/intl/ja/guide/topics/fundamentals.html
  • 19. コンポーネントを繋げるインテント コンテンツプロバイダは仲間はずれ ブロードキャスト レシーバ サービス アクティビティ アクティビティ インテント インテント インテント この辺を 少し試してみます
  • 20. とりあえずサービスを動かしてみる <ul><li>アクティビティからサービスを開始
  • 21. サービスが一定周期にメッセージを表示 </li></ul>実用性はまったくありません。ごめんなさい。
  • 22. サービスの作成 <ul><li>File -> New -> Class でクラス作成
  • 23. クラス名:任意(PeskyService)
  • 24. 親クラス:android.app.Service </li></ul>
  • 25. public class PeskyService extends Service { private final static long DELAY = 3000; private final static long PERIOD = 6000; private final static String MESSAGE = &quot; お気に入りのメッセージを入れてください &quot; ; private Toast toast ; private Timer timer ; private TimerTask task ; @Override public void onCreate() { super .onCreate(); toast = Toast. makeText ( this , MESSAGE , Toast. LENGTH_SHORT ); timer = new Timer(); task = new TimerTask() { @Override public void run() { toast .show(); } }; timer .schedule( task , DELAY , PERIOD ); } @Override public void onDestroy() { timer .cancel(); }; @Override public IBinder onBind(Intent arg0) { return null ; } }
  • 26. アクティビティにボタン追加 <ul><li>res/values/strings.xml にボタンの文字を追加 < string name = &quot;start_button&quot; > スタート </ string > を追加
  • 27. res/layout/main.xml にボタンを追加 < Button android:layout_width = &quot;wrap_content&quot; </li></ul>       android:layout_height = &quot;wrap_content&quot;         android:id = &quot;@+id/StartButton&quot; android:text = &quot;@string/start_button&quot; / >
  • 28. ボタンを押すとサービス起動 <ul><li>HelloActivityにイベントリスナ追加 Button startButton = (Button)findViewById(R.id. StartButton ); </li></ul>startButton.setOnClickListener( new OnClickListener()   {     @Override     public void onClick(View v) {       startService( new Intent(HelloActivity. this ,       ClockService. class ));     }   });
  • 29. 動かしてみると・・・
  • 30. 動かない?
  • 31. マニフェスト <ul><li>AndroidManifest.xmlにコンポーネントを登録する必要があります。
  • 32. アクティビティの下あたりにサービスを追加 </li></ul>< service android:name = &quot;.PeskyService&quot; />
  • 33. 動かしてみると・・・動いた!
  • 34. でも、止まりません。 サービスっぽいですね。
  • 35. ストップボタンを追加する <ul><li>ストップボタンのイベントハンドラ stopButton.setOnClickListener( new OnClickListener() { </li></ul>@Override public void onClick(View v) { stopService( new Intent(MenuActivity. this , ClockService. class )); } }) ;
  • 36. 起動直後からメッセージ表示 <ul><li>せっかくなので起動直後からお気に入りのメッセージを表示したい
  • 37. ブロードキャストレシーバで起動完了を検知
  • 38. ブロードキャストレシーバからサービスを起動 </li></ul>
  • 39. ブロードキャストレシーバの作成 <ul><li>File -> New -> Class でクラス作成
  • 40. クラス名:任意(BootReceiver)
  • 41. 親クラス:android.app.BroadcastReceiver </li></ul>public class BootReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { context.startService( new Intent(context, ClockService. class )); } }
  • 42. マニフェスト再び <ul><li>サービスの下あたりに追加 </li></ul>< receiver android:name = &quot;.BootReceiver&quot; android:permission = &quot;android.permission.RECEIVE_BOOT_COMPLETED&quot; > < intent-filter > < action android:name = &quot;android.intent.action.BOOT_COMPLETED&quot; /> </ intent-filter > </ receiver >
  • 43. 実行できたら、時間がかかってしまいますが一旦エミュレータを閉じて再度実行してみます。
  • 44. これを応用して画期的な時計アプリが作れるかも
  • 45. それでは午後もよろしくお願いします。

×