Your SlideShare is downloading. ×
はじめてのAndroid in 高知
はじめてのAndroid in 高知
はじめてのAndroid in 高知
はじめてのAndroid in 高知
はじめてのAndroid in 高知
はじめてのAndroid in 高知
はじめてのAndroid in 高知
はじめてのAndroid in 高知
はじめてのAndroid in 高知
はじめてのAndroid in 高知
はじめてのAndroid in 高知
はじめてのAndroid in 高知
はじめてのAndroid in 高知
はじめてのAndroid in 高知
はじめてのAndroid in 高知
はじめてのAndroid in 高知
はじめてのAndroid in 高知
はじめてのAndroid in 高知
はじめてのAndroid in 高知
はじめてのAndroid in 高知
はじめてのAndroid in 高知
はじめてのAndroid in 高知
はじめてのAndroid in 高知
はじめてのAndroid in 高知
はじめてのAndroid in 高知
はじめてのAndroid in 高知
はじめてのAndroid in 高知
はじめてのAndroid in 高知
はじめてのAndroid in 高知
はじめてのAndroid in 高知
はじめてのAndroid in 高知
はじめてのAndroid in 高知
はじめてのAndroid in 高知
はじめてのAndroid in 高知
はじめてのAndroid in 高知
はじめてのAndroid in 高知
はじめてのAndroid in 高知
はじめてのAndroid in 高知
はじめてのAndroid in 高知
はじめてのAndroid in 高知
はじめてのAndroid in 高知
はじめてのAndroid in 高知
はじめてのAndroid in 高知
はじめてのAndroid in 高知
はじめてのAndroid in 高知
はじめてのAndroid in 高知
はじめてのAndroid in 高知
はじめてのAndroid in 高知
はじめてのAndroid in 高知
はじめてのAndroid in 高知
はじめてのAndroid in 高知
はじめてのAndroid in 高知
はじめてのAndroid in 高知
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 in 高知

2,491

Published on

「日本Androidの会四国支部第四回勉強会inこうち」で使った資料です。

「日本Androidの会四国支部第四回勉強会inこうち」で使った資料です。

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

No Downloads
Views
Total Views
2,491
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
19
Comments
0
Likes
1
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 これであなたも今すぐ始められる!
  • 2. 自己紹介
    • hironemu
    • 3. 東京でWeb系Javaエンジニア
      • 業務系アプリ
      • 4. インフラもやります
      • 5. Rubyも使います
    • Androidは初心者
      • 携帯用のアプリも作った経験なし
  • 6. 目次
    • Android概要
    • 7. 開発環境の構築
      • 開発者登録
    • Androidプログラミング
    • 8. TODOアプリケーション
      • ソースを見てみる
    • 公開するには
  • 9. Android概要
  • 10. 概要
    • 特徴
      • 携帯、ネット端末のプラットフォーム
      • 11. オープンソース
        • Linux、libc、SQLite、Open GL ES、etc...
      • マルチタスク
      • 12. Java SE(の拡張)
        • J2MEとかじゃない
        • 13. Dalvik(ダルビック) JVM
  • 14. 概要Androidのなかみ アプリケーション アプリケーションフレームワーク ライブラリ Linux Android ランタイム 初めての Android ( 初版 ) P.12 より ディスプレイ ドライバ Bluetooth ドライバ カメラ ドライバ フラッシュメモリ ドライバ バインダ ドライバ キーバッド ドライバ キーバッド ドライバ USB ドライバ WiFi ドライバ オーディオ ドライバ 電源管理 サーフェス マネージャ メディア フレームワーク SQLite Open GL ES FreeType Webkit SGL SSL libc アクティビティ マネージャ ウィンドウ マネージャ コンテンツ プロバイダ ビューシステム 通知マネージャ キーバッド ドライバ パッケージ マネージャ 電話 マネージャ リソース マネージャ 位置 マネージャ センサ マネージャ Home Contcts ( アドレス帳 ) Phone ( 電話 ) ブラウザ あなたの アプリケーション コアライブラリ Dalvik 仮想マシン ここ
  • 15. 概要
    • 特徴
      • 有料コンテンツ
        • 2009 年 10 月より日本でも利用可能に
        • 16. 売上
          • 3 割キャリア
          • 17. 7 割開発者
        • 利用者は Google Checkout を使って購入
  • 18. 概要
    • 現在の主要なバージョン
    • 日本のAndroid端末
    Xperia (2010 年 4 月 1 日 発売予定 ) Version 1.6 HT-03A (2009 年 6 月 発売 ) Version 1.5 -> 1.6(2009/10)
  • 21.
      開発環境の構築
  • 22. 開発の準備
    • 必要なもの
      • Java SDK
      • 23. Android SDK (最初にインストール )
      • 24. Eclipse
      • 25. Android Development Tools (ADT) ( プラグイン)
      • 26. 実機 ( なくても大丈夫)
      • 27. または、 Dev Phone
        • 開発者サイトから購入可
        • 28. 開発者登録が必要
  • 29. 開発の準備
    • Android SDK
      • http://developer.android.com/intl/ja/sdk/index.html
      • 30. android-sdk_r04-windows.zip
    • ZIP ファイル解凍後適当なディレクトリへ配置
    • 31. SDK Setup.exe を実行
  • 32. 開発の準備
    • ここで、httpsでアクセスできなというエラーが出るとき
  • 33. 開発の準備
    • ホームディレクトリの.androidディレクトリに
      • androidtool.cfgを作成
      • 34. 以下の一行を追加して、再度SDK Setup.exeを実行
    sdkman.force.http=true ※ 詳しくは、
        • http://d.hatena.ne.jp/hiro_nemu/20100107
  • 35. 開発の準備
    • 今回入れるのは、以下の3つ
      • SDK Platform Android 1.6 API
      • 36. Google APIs
      • 37. Usb Driver package
  • 38. 開発の準備
    • Eclipseプラグイン(ADT)
        • https://dl-ssl.google.com/android/eclipse/
  • 39. 開発の準備
    • ADTインストール後
      • Windows > Preferences > Android
        • Android SDKのインストールパスを入れて完了
  • 40. 開発者登録
  • 41. 開発者登録
    • 開発者登録するとできること
      • Androidマーケットでアプリを公開できる
      • 42. 有料アプリも公開できる
      • 43. Android Dev Phoneの購入
    • 登録するには
      • 開発者登録には $25 必要
      • 44. 支払いには Google Checkout が必要
        • クレジットカードによる決済
  • 45. 開発者登録の流れ
    • メールアドレス、電話番号等の入力
  • 46. 開発者登録の流れ
    • 支払い(Google Checkout)
  • 47. 開発者登録の流れ
    • クレジットカード登録
  • 48. 開発者登録の流れ
    • 支払い完了
  • 49. 開発者登録の流れ
    • 開発者登録確認
  • 50. 開発者登録の流れ
    • 開発者登録完了
  • 51.
      Android プログラミング
  • 52. 開発の基礎
    • アプリケーションは個別の Linux プロセス
    • 53. プロセスごとに専用 VM
    • 54. アプリケーションごとに個別の Linux ユーザ ID
    • 55. コンポーネント
      • アクティビティ
      • 56. サービス
      • 57. ブロードキャストレシーバ
      • 58. コンテンツプロバイダ
    • コンポーネントを呼び出す: インテント
      • 非同期メッセージオブジェクト
      • 59. Intent クラス
    http://developer.android.com/intl/ja/guide/topics/fundamentals.html  より ここ重要
  • 60. 開発の基礎
    • アクティビティとタスク
      • アプリケーションはアプリケーションランチャーから起動される
      • 61. アプリケーションは複数の画面から成り立つ
      • 62. Android はマルチタスクなので複数のタスクを処理できる
    D:userssatakeデスクトップScreenShot2010y02m18d_131939500.jpg http://developer.android.com/intl/ja/guide/topics/fundamentals.html  より
  • 63. Activity
    • Activity
      • 例えば、TODO管理アプリを考えてみる
    MainActivity EditActivity
  • 64. 開発の基礎
    • アクティビティとタスク
      • タスクとは・・・
    Twitter クライアント Web ブラウザ D:userssatakeデスクトップScreenShot2010y02m18d_131939500.png
  • 65. 開発の基礎
    • アクティビティとタスク
    D:userssatakeデスクトップScreenShot2010y02m18d_131939500.png D:userssatakeデスクトップScreenShot2010y02m18d_145543062.jpg 戻るボタン
  • 66. 開発の基礎
    • アクティビティとタスク
    D:userssatakeデスクトップScreenShot2010y02m18d_153536453.jpg ホームボタン D:userssatakeデスクトップScreenShot2010y02m18d_131939500.png タスク A D:userssatakeデスクトップScreenShot2010y02m18d_131939500.png タスク B
  • 67. 開発の基礎
    • ライフサイクル
    1. onCreate() 2. onStart() 3 onRestoreInstanceState() 4. onResume() 1. onSaveInstanceState() 2. onPause onResume 1. onSaveInstanceState() 2. onStop() 1. onRestart() 2. onStart() 3. onResume() onDestroy() または <Process killed> <Process killed> 初めての Android ( 初版 ) P.18 より 起動 実行中 一時停止 破棄済み 停止
  • 68. Intent
    • Intent( インテント ) とは
      • コンポーネントの呼び出しを行う
      • 69. 例えばあるアクティビティから別のアクティビティを起動する
    startActivity() startActivityForResult() onActivityResult
  • 70. 開発の基礎
    • インテント
      • 明示的インテント
        • クラス名を直接指定
        • 71. もうどれを起動するべきかあらかじめ分かっているとき
    http://developer.android.com/intl/ja/guide/topics/fundamentals.html  より http://developer.android.com/intl/ja/guide/topics/fundamentals.html  より D:userssatakeデスクトップScreenShot2010y02m18d_131939500.png
  • 72. 開発の基礎
    • 明示的インテントの実際の例
    // EditActivity を明示的に呼び出す Intent i = new Intent(v.getContext(), EditActivity.class); // EditActivity に渡すパラメータ i.putExtra(EditActivity. EXT_POSITION , t.getId()); // Intent を指定してアクティビティを呼び出す startActivityForResult(i, 0); // EditActivity を明示的に呼び出す Intent i = new Intent(v.getContext(), EditActivity.class); // EditActivity に渡すパラメータ i.putExtra(EditActivity. EXT_POSITION , t.getId()); // Intent を指定してアクティビティを呼び出す startActivityForResult(i, 0);
  • 73. 開発の基礎
    • インテント
      • 暗黙的インテント
        • クラス名での指定を行わない。なんか曖昧な感じで呼び出す。
        • 74. どのアプリを起動するか分からないけど大体こんなのって分かってる
        • 75. 他のアプリケーションから呼び出されたい場合
          • ある暗黙的インテントから Actirity を起動するとき、どの Activity で実行させるかシステムに判断させる(複数あるときはユーザが選択 )
        • IntentFilter
    http://developer.android.com/intl/ja/guide/topics/fundamentals.html  より http://developer.android.com/intl/ja/guide/topics/fundamentals.html  より D:userssatakeデスクトップScreenShot2010y02m18d_131939500.png
  • 79. 開発の基礎
    • 暗黙的インテント
    こういた要求に合致する アプリケーションの候補を システムが探して起動する 呼び出す側 なんかメモできるようなのが 欲しい なんかインターネット 見れそうなやつ が欲しい なんか アドレス帳的なものが欲しい
  • 80. 開発の基礎
    • 暗黙的インテントの実際の例
    http://www.saturn.dti.ne.jp/~npaka/android/ActivityEx/index.html  より Uri uri=Uri.parse( &quot;mailto:test@example.com&quot; ); Intent intent= new Intent(Intent.ACTION_SENDTO,uri); intent.putExtra(Intent. EXTRA_SUBJECT , &quot; タイトル &quot; ); intent.putExtra(Intent. EXTRA_TEXT , &quot; ボディのテキスト &quot; ); intent.setFlags( Intent. FLAG_ACTIVITY_NEW_TASK ); startActivity(intent);
  • 81. 開発の基礎
    • マニフェストファイル
      • AndroidManifest.xml
      • 82. コンポーネントを登録
    http://developer.android.com/intl/ja/guide/topics/fundamentals.html  より
  • 83. Todoリストアプリで画面を考える
    • Todoリストアプリ
      • Todoを「入力・一覧を表示する画面」
      • 84. 一覧からTodoを選んだとき表示する「編集画面」
    入力・一覧画面 編集画面
  • 85. ユーザインフェース
    • レイアウト
      • XMLで定義
      • 86. 一応GUIのツールもある
    • リソース管理
      • ラベルやボタンなどのリソースにつけるID等
      • 87. 画面に表示する文字など
      • 88. XMLで定義
        • Rクラス
  • 89. レイアウト
    • Todoリストアプリのサンプル
    XML で定義
  • 92. レイアウト
    • 入力・一覧画面のレイアウト
    LinearLayout RelativeLayout ListView
  • 93. main.xml <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?> <LinearLayout android:id=&quot;@+id/LinearLayout01&quot; android:layout_width=&quot;fill_parent&quot; android:layout_height=&quot;fill_parent&quot; xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot; android:orientation=&quot;vertical&quot;> <RelativeLayout android:id=&quot;@+id/RelativeLayout01&quot; android:layout_width=&quot;wrap_content&quot; android:layout_height=&quot;wrap_content&quot;> <EditText android:id=&quot;@+id/EditText01&quot; android:layout_height=&quot;wrap_content&quot; android:layout_width=&quot;fill_parent&quot; android:layout_marginRight=&quot;60dp&quot;></EditText> <Button android:layout_height=&quot;wrap_content&quot; android:id=&quot;@+id/ButtonAdd&quot; android:text=&quot;@string/label_add&quot; android:layout_alignParentTop=&quot;true&quot; android:layout_alignParentRight=&quot;true&quot; android:layout_width=&quot;wrap_content&quot; android:layout_marginRight=&quot;5dp&quot;></Button> </RelativeLayout> <ListView android:layout_width=&quot;wrap_content&quot; android:id=&quot;@android:id/list&quot; android:layout_height=&quot;fill_parent&quot;></ListView> </LinearLayout>
  • 94. レイアウト
    • todo_list.xmlのレイアウト
    LinearLayout CheckBox LinearLayout TextView
  • 95. Rクラス
    • 画面のレイアウトに関するリソースの ID を管理
    • 96. 自動で生成される
    • 97. R.{ リソースタイプ }.{ リソース名 } で参照
      • R.layout.main ( レイアウト XML )
      • 98. R.strings.label_add_button (文字リソース)
      • 99. R.id.add_button (画面に配置したボタン等のオブジェクト)
      • 100. etc..
    • ソースの中でオブジェクトを取得するには
    Button button = (Button) this .findViewById(R.id.add_button);
  • 101. strings.xml
    • 画面に表示する文字を定義
    • 102. 国際化も簡単
      • values/strings.xml (適当な言語が見つからなかった時のデフォルト)
      • 103. values-ja/strings.xml (日本語)
    <?xml version=“1.0” encoding=“utf-8”?> <resources>     <string name=“app_name”>Todo Sample</string>     <string name=“ label_add_button ”> 追加 </string> </resources> レイアウトの XML では「 @string/ label_add_button 」で指定
  • 104.
      TODO アプリケーション の中身
  • 105. 公開してみる
  • 106. 公開するには
    • Eclipse から apk ファイルを作成
      • ADT からウィザードで簡単に作成できる
      • 107. 署名が必要
    • 開発者サイトから apk ファイルをアップロード
      • 必要項目を記入してアップロードするだけ
      • 108. すぐに反映
    • 参考サイト
      • http://itpro.nikkeibp.co.jp/article/COLUMN/20091218/342383/
  • 109. 公開するには
    • Android Market 経由で配布
      • 開発者サイトから apk ファイルをアップロード
    • ドコモマーケット
      • http://www.nttdocomo.co.jp/info/news_release/page/100121_00.html#p02
    • PlayNow
      • ソニー・エリクソン
      • 110. 日本は対応するのか
      • 111. 審査あり、有料アプリ ( 手数料 30 %)
      • 112. http://andronavi.com/2010/01/4421
    • 野良アプリ
      • apk ファイルを Web 上で公開するだけ
  • 113. その他
    • adb コマンド
      • デバイスやエミュレータを管理
      • 114. android-sdk-windows ools にある
      • 115. シェルを使ってデバイスやエミュレータに接続する
        • > adb shell
        • 116. # echo $PATH ( 実行できるプログラムの場所 )
      • adb を使ったアプリケーションの追加・削除
        • > adb uninstall sample.todo.android
        • 117. > adb install sample-todo-android.apk
  • 118. 参考URL
    • 開発者サイト
      • http://developer.android.com/
    • 開発の基礎 ( 開発者サイト )
      • http://developer.android.com/intl/ja/guide/topics/fundamentals.html
    • 暗黙の Intent を投げてみた
      • http://d.hatena.ne.jp/minghai/20090316/
    • インテントについて ( 開発者サイト )
      • http://developer.android.com/intl/ja/reference/android/content/Intent.html
      • 119. http://developer.android.com/intl/ja/guide/topics/intents/intents-filters.html
    • エミュレータのショートカット
      • http://www.android.encke.net/android-emulator-tutorial.html

×