21. 1.3.Androidで何ができるの?
– Webサービスを利用したもの
1.
天気情報表示
– Google Weather APIを使用して天気
情報を表示
①
– 日本語入力(IME)
2.
simeji
– フリック入力を可能にするソフトウ
ェアキーボード
※ フリック入力とは、ソフトウェアキーボードの
キーを
スライドすることで入力文字を選択する入力方
法のこと
This material is licensed under the Creative
Commons License BY-NC-SA 4.0.
② 21
22. 1.3.Androidで何ができるの?
– センサーを利用したもの
3.
Google Sky Map
–
4.
傾きセンサー、磁気センサーを
使用して端末を向けている方向
の星空を表示
Labyrinth Lite
– 傾きセンサーを使用したゲーム
③
– カメラを利用したもの
5.
Layer
– カメラで写した実際の映像上に
デジタル情報を表示するブラウ
ザ
④
This material is licensed under the Creative
Commons License BY-NC-SA 4.0.
⑤
22
27. 1.4.技術的側面から見たAndroid
• 携帯端末を想定した軽量な実行環境
– Dalvik仮想マシン(Dalvik VM)
• メモリの少ない環境に最適化されたJava VM
– Googleが独自開発した仮想マシン
– メモリの少ない環境でも複数のアプリケーションを同時実行でき
るように設計されている
– Dalvik実行形式フォーマット(.dex)
• Dalvik VMでは標準の.class、.jarを.dexに変換して実行
• .classに比べ、稼働時の使用メモリサイズが小さい
Java VM
.class
Dalvik VM
変換
.dex
.jar
This material is licensed under the Creative
Commons License BY-NC-SA 4.0.
27
28. 1.4.技術的側面から見たAndroid
– Dalvik VM と Java VM には互換性がない
• 実行ファイルのバイナリ形式が異なる
– Dalvik VM上では、.class、.jar形式のファイルは実行できない
– Java VM上では、.dex形式のファイルは実行できない
Java VM
Dalvik VM
.class
.dex
.jar
This material is licensed under the Creative
Commons License BY-NC-SA 4.0.
28
29. 1.4.技術的側面から見たAndroid
• 従来の携帯アプリケーションに比べて制限が少ない為、
PC上で動作するJavaアプリケーションに近い
iアプリ(Doja-5.x)※1
Androidアプリケーション
Javaのサポート
Java ME
Java SE
アプリケーショ
ン
サイズ制限
1MB(機種により異なる)
特になし
ヒープメモリ制
限
6MB~15MB(機種により異な
る)
16MB(SDKの設定値)※2
通信制限
アプリケーションダウンロード
先以外通信不可
特になし
HTTP通信サイズ
制限
リクエストボディ:80KB
レスポンスボディ:150KB
特になし
クッキー
2009年夏モデルより利用可
利用可
文字コード
SJIS
UTF-8
※1 iアプリコンテンツ開発ガイド for DoJa-5.x/5.x LE~ 詳細編 ~ 第3.00版
ScratchPad
永続化方法
ファイル、SQLite
※2 SDKでのデフォルトの設定値となり、機種ごとに変更される場合がある。例えばNexus Oneは24MBである。
This material is licensed under the Creative
29
Commons License BY-NC-SA 4.0.
30. 1.5. アプリケーション開発に必要な環
境
項目
必要な環境
OS
Windows XP, Windows Vista(32 / 64 bit)
Mac OS X 10.5.8以降(x86のみ)
Linux(Ubuntu Hardy Herson にてテスト済)
Java SDK
Java SDK 5, Java SDK 6
Android開発ツール
Android SDK
統合開発環境
Eclipse 3.4 (Ganymede), 3.5 (Galileo),
Android Development Tools(ADT) Plug-in
テキストベース
開発環境
Apache Ant(Windows版は1.7, Mac/Linux版は1.6.5以降)
実機は必須ではない。開発用にエミュレータが用意されている
エミュレータではセンサー等、一部利用できないものがある
詳細は http://developer.android.com/intl/ja/sdk/requirements.html
This material is licensed under the Creative
Commons License BY-NC-SA 4.0.
30
31. 1.6. アプリケーションの配布方法
• アプリケーションを配布する方法は大きく2つあ
る
– Android Marketから配布する方法
– Android Marketを使用せずに配布する方法
※Android Marketとは?
– Androidアプリケーションの配布・販売を目的としたサイト
– Androidアプリケーションの配布には一般的な方法
This material is licensed under the Creative
Commons License BY-NC-SA 4.0.
31
32. 1.6. アプリケーションの配布方法
• Android Marketから配布する方法
– 配布手順
1.
Android Marketに開発者アカウント登録を行う
– 開発者アカウントの登録には、Googleアカウントが必要
2.
アプリケーションの電子証明書を作成する※1
– 証明書の作成にはKeytool(Java SDK同梱)※2を使用する
3.
アプリケーションにデジタル署名する※1
– デジタル署名を行うにはjarsigner (Java SDK同梱)※2を使用する
4.
Android Marketにアプリケーションをアップロードする
※1 Eclipseの機能で証明書の作成、署名を行うことができる
※2 各ツールの使用方法については、ツールのマニュアルを参照
– 必要なもの
•
Googleアカウント
This material is licensed under the Creative
Commons License BY-NC-SA 4.0.
32
33. 1.6. アプリケーションの配布方法
• Android Marketから配布する方法
– Android Marketに開発者アカウントを登録する手順
1.
開発者登録サイトから、開発者プロフィールの登録を行う
– 登録サイト
» http://market.android.com/publish/signup
– 入力するプロフィール項目
»
»
»
»
2.
3.
名前
メールアドレス(Google アカウントが必要)
WebサイトURL
電話番号
登録料($25)を支払う
– 支払はGoogle Checkoutからクレジットカードでのみ可能
配布契約書に同意する
This material is licensed under the Creative
Commons License BY-NC-SA 4.0.
33
34. 1.6. アプリケーションの配布方法
• Android Marketを使用せずに配布する方法
– アプリケーションファイルを直接配布する
• 配布例
– ホームページでファイルを配布する
– CD、USBメモリ等でファイルを配布する
– LAN環境等のネットワーク上でファイルを配布する
• 配布手順
1.
2.
3.
アプリケーションの電子証明書を作成する
アプリケーションにデジタル署名する
アプリケーションファイルを配布する
• インストール方法
1.
2.
Android端末でファイルをダウンロードしてインストールする
パソコンとAndroid端末をUSB接続し、インストールコマンドを
使用してインストールする
This material is licensed under the Creative
Commons License BY-NC-SA 4.0.
34
35. 1.6. アプリケーションの配布方法
• Android Marketを使用せずに配布する方法
– インストール方法①
Android端末でアプリケーションファイルをダウンロードしてイン
ストールする
• 手順
1. Android端末のブラウザでアプリケーションファイルをダウンロー
ドする
2. ダウンロード完了後、ダウンロード履歴からアプリケーションフ
ァイルをクリックする
3. インストール確認画面から”Install”を押す
This material is licensed under the Creative
Commons License BY-NC-SA 4.0.
35
36. 1.6. アプリケーションの配布方法
• Android Marketを使用せずに配布する方法
– インストール方法①
ファイルをク
リックする
ダウンロード
ファイルをク
リックする
Installボタンを
クリックする
手順1
手順2
This material is licensed under the Creative
Commons License BY-NC-SA 4.0.
手順3
36
37. 1.6. アプリケーションの配布方法
• Android Marketを使用せずに配布する方法
– インストール方法②
パソコンとAndroid端末をUSB接続し、インストールコマンドを使
用してインストールする
• 手順
1.
2.
パソコンとAndroid端末をUSBケーブルで接続する
コマンドプロンプトを起動し、adb install コマンドを実行する
>adb install <アプリケーションファイル名(.apk)>
■コマンドプロンプトの入力( C:Simeji3.0.6.apk )をUSB経由でインストール
C:>adb install C:Simeji3.0.6.apk // ・・・ 手順1
596 KB/s (1413225 bytes in 2.312s)
pkg: /data/local/tmp/Simeji3.0.6.apk
Success // ・・・ 手順2
This material is licensed under the Creative
Commons License BY-NC-SA 4.0.
37
62. 2.1.5.サービス
• サービスとは?
– 独立したスレッドで処理を実行する為の仕組み
– サービスはフォアグラウンドのアクティビティとは別スレッド
で実行される。このため、他アクティビティによる割込みが発
生しても処理を続けることができる
音楽を再生(サービス未使用)
音楽を再生(サービス使用)
割込み
割込み
メ
ール受信により
メ
ール受信により
中断
中断
アクティ
ビティ
アクティ
ビティ
サービス開始
再生開始
サービス
音楽再生
中断に関係なく
処理を
完了
再生開始
アクティビティから直接音楽再生した場合と、サービ
ス経由で音楽再生した場合で、メール受信によるアク
ティビティの割込みが発生した時の動作の違い
音楽再生
This material is licensed under the Creative
Commons License BY-NC-SA 4.0.
62
63. 2.1.5.サービス
• サービスを使用したアプリケーションの紹介
– DroidTracker
• GPSで取得した位置情報を、SMS、メール、twitterで送信する
アプリケーション
• GPS機能による位置情報の取得をサービスで処理
• SMS、メール、twitter送信機能をサービスで処理
This material is licensed under the Creative
Commons License BY-NC-SA 4.0.
63
86. 3.2.各開発ツールのインストール方法
• Android Development Tools (ADT)のインストール
1.
2.
デスクトップにあるeclipseをダブルクリックし、Eclipseを起動
する
Eclipseのメニュー[Help]から[Install New Software…+を選択する
1
2
This material is licensed under the Creative Commons License BY-NC-SA 4.0.
86
91. 3.2.各開発ツールのインストール方法
8.
9.
Installウィンドウで[I Accept the terms of the license agreements]を
チェックし、[Finish]ボタンをクリックする。インストールが開
始する
インストールが完了し、Sowftware Updatesのメッセージが表示
されたら[Yes]をクリックし、Eclipseを再起動する
8
9
This material is licensed under the Creative Commons License BY-NC-SA 4.0.
91
97. 3.2.各開発ツールのインストール方法
7.
8.
Android SDK and AVD Managerウィンドウの左カラムからAvailable
Packagesを選択する
右カラムのURLを[+]をクリックして展開し、[SDK Platform Android
2.1, API-7, revision 2]にチェックを入れ、[Install Selected]ボタンを
クリックする
※ オフライン環境では講師の指示に従いC:android_trainingdevtoolsforOffline の
platformフォルダをC:android_trainingtoolsandroid-sdk-windowsにコピーすること
7
8
This material is licensed under the Creative Commons License BY-NC-SA 4.0.
97
98. 3.2.各開発ツールのインストール方法
9.
Choose Packages to Installウィンドウにて[Accept]を選択し[Install]
ボタンをクリックする
10. インストールが終了したら、[Close]ボタンをクリックし、インス
トールを終了する。
10
9
This material is licensed under the Creative Commons License BY-NC-SA 4.0.
98
106. 4.1. ADTでアプリケーションを作成する
• Android Development Tools(ADT)とは?
– AndroidアプリケーションをEclipseで開発する為のPlugin
• ADTが提供する機能
– Androidプロジェクトの作成
– Androidアプリケーションの実行・デバッグ
– リソースファイルの作成支援
• リソースファイルについては本節で解説
This material is licensed under the Creative Commons License BY-NC-SA 4.0.
106
107. 実
習
4.1.1. Hello Worldの表示
• 初めにAndroidプロジェクトを作成し、下記のア
プリケーションを作成する
– 完成イメージ
新規作成したプロジェクトは、左図
のようなHello World HelloWorld!と表
示されるアプリケーションとして作
成される
This material is licensed under the Creative Commons License BY-NC-SA 4.0.
107
108. 実
習
4.1.1. Hello Worldの表示
• Androidプロジェクトを作成する
1.
2.
3.
デスクトップのeclipseをダブルクリックし、Eclipseを起動する
Eclipseのメニュー[File]から[new]-[Other]を選択する
Newウィンドウの[Android]-[Android Project]を選択し[Next]ボタン
をクリックする
3
2
This material is licensed under the Creative Commons License BY-NC-SA 4.0.
108
109. 実
習
4.1.1. Hello Worldの表示
3.
[New Android Project]ウィンドウからProject Name、Build Target、
Propertiesに下記を入力する
Project Nameに HelloWorld を入力する
Build Targetで Android 2.1-update1 をチェッ
クする
Propertiesの各項目に以下を入力する
Application Name :HelloWorld
Package Name
:jp.oesf.tutorial
Create Activity
:HelloWorld
MinSDK Version
:7
This material is licensed under the Creative Commons License BY-NC-SA 4.0.
109
110. 実
習
4.1.1. Hello Worldの表示
4.
5.
Android Projectが生成され、左図のように表示される
Package ExplorerからHelloWorldプロジェクトを選択し、右クリッ
ク[Run As]-[Android Application]を選択する
4
5
5
This material is licensed under the Creative Commons License BY-NC-SA 4.0.
110
124. 4.2.1. リソースファイルの作成
• リソースファイルを使用した画面作成の仕組み
– アクティビティはRクラスを使用し、画面デザインリソースファイ
ルの内容を取得する
• Rクラス
– ビルド時に自動生成されるクラス
– プログラムからリソースファイルの情報を取得する為に必要なクラス
– 取得したリソースファイル情報から、Activity#setContentViewによ
って画面デザインを表示する
■HelloWorld.java
R.layout.mainがmain.xmlを示す
public class HelloWorld extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
・・・・・・・・・・・
>
・・・・・・・・・・・
<EditText
android:id="@+id//EditText01“
・・・・・・・・・・・
android:text="EditText"></EditText>
</LinearLayout>
■setContentView
画面デザインをアクティビティ上に表示
する
This material is licensed under the Creative Commons License BY-NC-SA 4.0.
124
125. 4.2.1. リソースファイルの作成
• Rクラスとリソースファイルの関係
– プログラムとリソース情報は、リソースIDで関連付けられている
■HelloWorld.java
setContentView(R.layout.main);
参照
■R.java
public static final class layout {
public static final int main=0x7f030000;
}
リソースID
This material is licensed under the Creative Commons License BY-NC-SA 4.0.
リソース
ファイル
125
130. 実
習
4.3. デザイン以外のリソースを使用す
る
5.
6.
ResourcesタブのResouces
Elementsに String が追加されて
いることを確認する
ResourcesタブのAttributes for StringのName、Valueに以下の値を入
力する
Attributes for Stringの設定値
項目名
5
Name
button_label
Value
6
設定値
Hello Button
This material is licensed under the Creative Commons License BY-NC-SA 4.0.
130
145. 4.5. エミュレータの使用方法
• 画面向きの切り替え(Ctrl + F11)
– デバイスの向きに合わせた画面表示
縦長表示(ポートレート)
横長表示(ランドスケープ)
Androidエミュレータに関する詳細情報
http://developer.android.com/intl/ja/guide/developing/tools/emulator.html
This material is licensed under the Creative Commons License BY-NC-SA 4.0.
145
146. 4.6. デバッグツールの使用方法
• ADT
– Eclipseのデバッグ機能がAndroidアプリケーション開発で利用でき
る
• ブレークポイント
• ステップ実行
• Dalvik Debug Monitor Services(DDMS)
– Android SDK同梱のデバッグツール
– 以下の機能がある
• モニタリング
• エミュレータ操作
• エミュレータ・ハードウェア内の情報取得
This material is licensed under the Creative Commons License BY-NC-SA 4.0.
146
160. 実
習
4.6.6.エミュレータへ電話発信
• 電話発信(エミュレータに電話発信する)
1. Emulator Control ビューを選択する
2. Incoming numberに電話番号(09010000001)を入力する
3. Voiceを選択し、[Call]ボタンをクリックする
発信元番号入力
ex.
Incoming number : 09010000001
Voiceを選択
Call
: 発信する
Hang Up : 電話を切る
1
2
Emulator Control
エミュレータに対して電話
発信、SMS送信、位置情報
の送信を行う
3
This material is licensed under the Creative Commons License BY-NC-SA 4.0.
160