はじめてのAndroid
Upcoming SlideShare
Loading in...5
×
 

はじめてのAndroid

on

  • 7,986 views

はじめてのAndroidということで、はじめてAndroidを勉強する方向けに行った勉強会で使用した資料です。

はじめてのAndroidということで、はじめてAndroidを勉強する方向けに行った勉強会で使用した資料です。

Statistics

Views

Total Views
7,986
Views on SlideShare
6,953
Embed Views
1,033

Actions

Likes
2
Downloads
28
Comments
0

5 Embeds 1,033

http://d.hatena.ne.jp 981
http://www.slideshare.net 48
http://webcache.googleusercontent.com 2
http://trans.hiragana.jp 1
http://translate.googleusercontent.com 1

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    はじめてのAndroid はじめてのAndroid Presentation Transcript

    • はじめての Android これであなたも今すぐ始められる!
    • 目次
      • Android概要
      • 開発環境の構築
        • 開発者登録
      • Androidプログラミング
      • TODOアプリケーション
        • ソースを見てみる
      • 公開するには
    • Android概要
    • 概要
      • 特徴
        • 携帯、ネット端末のプラットフォーム
        • オープンソース
          • Linux、libc、SQLite、Open GL ES、etc...
        • Java SE(の拡張)
          • Dalvik(ダルビック) JVM
    • 概要
      • 特徴
        • 有料コンテンツ
          • 2009年10月より日本でも利用可能に
          • 売上
            • 3割キャリア
            • 7割開発者
          • 利用者はGoogle Checkoutを使って購入
    • 概要Androidのなかみ アプリケーション アプリケーションフレームワーク ライブラリ Linux Android ランタイム 初めての Android ( 初版 ) P.12 より ディスプレイ ドライバ Bluetooth ドライバ カメラ ドライバ フラッシュメモリ ドライバ バインダ ドライバ キーバッド ドライバ キーバッド ドライバ USB ドライバ WiFi ドライバ オーディオ ドライバ 電源管理 サーフェス マネージャ メディア フレームワーク SQLite Open GL ES FreeType Webkit SGL SSL libc アクティビティ マネージャ ウィンドウ マネージャ コンテンツ プロバイダ ビューシステム 通知マネージャ キーバッド ドライバ パッケージ マネージャ 電話 マネージャ リソース マネージャ 位置 マネージャ センサ マネージャ Home Contcts ( アドレス帳 ) Phone ( 電話 ) ブラウザ あなたの アプリケーション コアライブラリ Dalvik 仮想マシン
    • 概要
      • 現在の主要なバージョン
        • 1.5
        • 1.6 (HT-03A, Xperia)
        • 2.1 (Nexus One)
      • 日本のAndroid端末
      Xperia (2010 年 4 月 発売予定 ) Version 1.6 HT-03A (2009 年 6 月 発売 ) Version 1.5 -> 1.6(2009/10)
      • 開発環境の構築
    • 開発の準備
      • 必要なもの
        • Android SDK(最初にインストール)
        • Eclipse
        • Android Development Tools (ADT) ( プラグイン)
        • 実機 ( なくても大丈夫)
        • または、 Dev Phone
          • 開発者サイトから購入可
          • 開発者登録が必要
    • 開発の準備
      • SDK
        • http://developer.android.com/intl/ja/sdk/index.html
        • android-sdk_r04-windows.zip
      • ZIP ファイル解凍後適当なディレクトリへ配置
      • SDK Setup.exe を実行
    • 開発の準備
      • ここで、httpsでアクセスできなというエラーが出るとき
    • 開発の準備
      • ホームディレクトリの.androidディレクトリに
        • androidtool.cfgを作成
        • 以下の一行を追加して、再度SDK Setup.exeを実行
      sdkman.force.http=true ※ 詳しくは、
          • http://d.hatena.ne.jp/hiro_nemu/20100107
    • 開発の準備
      • 今回入れるのは、以下の3つ
        • SDK Platform Android 1.6 API
        • Google APIs
        • Usb Driver package
    • 開発の準備
      • Eclipseプラグイン(ADT)
          • https://dl-ssl.google.com/android/eclipse/
    • 開発の準備
      • ADTインストール後
        • Windows > Preferences > Android
          • Android SDKのインストールパスを入れて完了
    • 開発者登録
    • 開発者登録
      • 開発者登録するとできること
        • Androidマーケットでアプリを公開できる
        • 有料アプリも公開できる
        • Android Dev Phoneの購入
      • 登録するには
        • 開発者登録には $25 必要
        • 支払いには Google Checkout が必要
          • クレジットカードによる決済
    • 開発者登録の流れ
      • メールアドレス、電話番号等の入力
    • 開発者登録の流れ
      • 支払い(Google Checkout)
    • 開発者登録の流れ
      • クレジットカード登録
    • 開発者登録の流れ
      • 支払い完了
    • 開発者登録の流れ
      • 開発者登録確認
    • 開発者登録の流れ
      • 開発者登録完了
      • Android プログラミング
    • 開発の基礎
      • アプリケーションは個別の Linux プロセス
      • プロセスごとに専用 VM
      • アプリケーションごとに個別の Linux ユーザ ID
      • コンポーネント
        • アクティビティ
        • サービス
        • ブロードキャストレシーバ
        • コンテンツプロバイダ
      • コンポーネントのアクティブ化:インテント
        • 非同期メッセージオブジェクト
        • Intent クラス
      http://developer.android.com/intl/ja/guide/topics/fundamentals.html  より
    • 開発の基礎
      • マニフェストファイル
        • AndroidManifest.xml
        • コンポーネントを登録
      http://developer.android.com/intl/ja/guide/topics/fundamentals.html  より
    • 開発の基礎
      • アクティビティとタスク
        • アプリケーションランチャー
      D:userssatakeデスクトップScreenShot2010y02m18d_131939500.jpg http://developer.android.com/intl/ja/guide/topics/fundamentals.html  より
    • 開発の基礎
      • アクティビティとタスク
      アプリケーション A アプリケーション B D:userssatakeデスクトップScreenShot2010y02m18d_131939500.png 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 http://developer.android.com/intl/ja/guide/topics/fundamentals.html  より http://developer.android.com/intl/ja/guide/topics/fundamentals.html  より D:userssatakeデスクトップScreenShot2010y02m18d_145543062.jpg 戻るボタン
    • 開発の基礎
      • アクティビティとタスク
      http://developer.android.com/intl/ja/guide/topics/fundamentals.html  より http://developer.android.com/intl/ja/guide/topics/fundamentals.html  より D:userssatakeデスクトップScreenShot2010y02m18d_153536453.jpg ホームボタン D:userssatakeデスクトップScreenShot2010y02m18d_131939500.png タスク A D:userssatakeデスクトップScreenShot2010y02m18d_131939500.png タスク B
    • 開発の基礎
      • ライフサイクル
      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 より 起動 実行中 一時停止 破棄済み 停止
    • 開発の基礎
      • インテント
        • 明示的インテント
          • クラス名を指定
          • アプリケーション内の他のコンポーネントを呼び出すような場合
      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
    • 開発の基礎
      • インテント
        • 暗黙的インテント
          • クラス名での指定を行わない
          • 他のアプリケーションを呼び出す場合
          • 他のアプリケーションから呼び出されたい場合
            • ある暗黙的インテントから Actirity を起動するとき、どの Activity で実行させるかシステムに判断させる(複数あるときはユーザが選択 )
          • IntentFilter
            • ACTION
            • CATEGORY
            • DATA
            • TYPE
      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
    • Todoリストアプリを考える
      • Todoリストアプリ
        • Todoを「入力・表示する画面」
        • 一覧からTodoを選んだとき表示する「編集画面」
      入力・一覧画面 編集画面
    • おさえておくこと
      • ユーザインターフェースのこと
      • Activity
      • Intent
    • レイアウト
      • Todoリストアプリのサンプル
        • main.xml
        • todo_list.xml
        • edit.xml
      XML で定義
    • レイアウト
      • 入力・一覧画面のレイアウト
      LinearLayout RelativeLayout ListView
    • 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>
    • レイアウト
      • todo_list.xmlのレイアウト
      LinearLayout CheckBox LinearLayout TextView
    • Rクラス
      • 画面のレイアウトに関するリソースの ID を管理
      • 自動で生成される
      • R.{ リソースタイプ }.{ リソース名 } で参照
        • R.layout.main ( レイアウト XML )
        • R.strings.label_add_button (文字リソース)
        • R.id.add_button (画面に配置したボタン等のオブジェクト)
        • etc..
      • ソースの中でオブジェクトを取得するには
      Button button = (Button) this .findViewById(R.id.add_button);
    • strings.xml
      • 画面に表示する文字を定義
      • 国際化も簡単
        • values/strings.xml (適当な言語が見つからなかった時のデフォルト)
        • 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 」で指定
    • Activity
      • Activity
      MainActivity EditActivity
    • Intent
      • コンポーネントの呼び出しを行う
      startActivity() startActivityForResult() onActivityResult
      • TODO アプリケーション の中身
    • 公開してみる
    • 公開するには
      • Android Market 経由で配布
        • 開発者サイトから apk ファイルをアップロード
      • ドコモマーケット
        • http://www.nttdocomo.co.jp/info/news_release/page/100121_00.html#p02
      • PlayNow
        • ソニー・エリクソン
        • 日本は対応するのか
        • 審査あり、有料アプリ ( 手数料 30 %)
        • http://andronavi.com/2010/01/4421
      • 野良アプリ
        • apk ファイルを Web 上で公開するだけ
    • 公開するには
      • Eclipse から apk ファイルを作成
        • ADT からウィザードで簡単に作成できる
        • 署名が必要
      • 開発者サイトから apk ファイルをアップロード
        • 必要項目を記入してアップロードするだけ
        • すぐに反映
      • 参考サイト
        • http://itpro.nikkeibp.co.jp/article/COLUMN/20091218/342383/
    • その他
      • adb コマンド
        • デバイスやエミュレータを管理
        • android-sdk-windows ools にある
        • シェルを使ってデバイスやエミュレータに接続する
          • > adb shell
          • # echo $PATH ( 実行できるプログラムの場所 )
        • adb を使ったアプリケーションの追加・削除
          • > adb uninstall sample.todo.android
          • > adb install sample-todo-android.apk
    • 参考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
        • http://developer.android.com/intl/ja/guide/topics/intents/intents-filters.html
      • エミュレータのショートカット
        • http://www.android.encke.net/android-emulator-tutorial.html