[[ワーキンググループ/ハンズオンセッション]]

* Hello, Android [#m8552a0f]

Eclipseで作成するプロジェクトのひな型がHello, Androidのプロジェクトになっています。新しいプロジェクトを作成しながら、内部の構造を確認していきましょう。

** Eclipseで新規のプロジェクトを作成する [#q8c6c107]

新規のプロジェクトを作成します。
File > New > Otherで新規のプロジェクトの画面を表示します。

#ref(FileNewOther.jpg)

表示されたプロジェクトの画面で以下の項目を入力します。

|Project Name|HelloAndroidProject|
|Build Target|Google APIs|
|Application Name|HelloAndroid|
|Package Name|jp.hews.hello|
|Create Activity|HelloAndroidActivity|
|Min SDK Version|3(Bild Targetを指定すると自動的に設定される)|

#ref(Project.jpg)

Finishを押すとプロジェクトが作成されます。

初期状態では、クラスファイルが作成されていないので、エラーが発生する場合があるので、Project > cleanを選択するとエラーがクリアされます。

#ref(InitialError.jpg)

** プロジェクトの内容を確認する [#u422c6f5]

それでは、プロジェクトの中に作成されているファイルを確認してみましょう。

#ref(HelloAndroidPackage.jpg)

フォルダー内に以下のクラスが作成されています。

|ファイル名|概要|
|HelloAndroidActivity.java|アプリケーションの画面の制御|
|res\drawable\icon.png|アプリケーションのアイコンのイメージ|
|res\values\strings.xml|画面に表示する文字列の定義|
|res\layout\main.xml|XMLで定義した画面の構成|
|gen\R.java|アイコンや文字列などのリソースへのアクセス用ID|
|AndroidManifest.xml|アプリケーションの属性の定義|

*** HelloAndroidActivity.java [#ob1ab232]

GUIを持つアプリケーションのメインの画面です。
このクラスの、onCreateメソッドからアプリケーションが開始されます。
onCreateメソッドでボタンのリスナーを登録したり、バックグラウンドの処理を開始します。
アプリケーションの終了時の処理や、画面が表示されなくなった時の処理は、ベースクラスの以下のメソッドをオーバーライドして実装します。

- onCreate  アクティビティの開始時に呼び出されます
- onStart 画面がユーザーに表示される時に呼び出されます
- onResume アクティビティがユーザーと対話可能(キー操作の受付など)になるときに呼び出されます
- onPause ユーザーの操作を受け付けなくなった時に呼び出されます
- onStop 画面が表示されなくなったときに呼び出されます
- onRestart 非常時になった画面が再度表示される前に表示されます
- onDestroy アクティビティが終了するときに呼び出されます

*** res\drawable\icon.png [#vaa1e55e]

ランチャーに表示されるアイコンです。このファイルを編集することでアイコンを変更することができます。

*** res\values\strings.xml [#qabd2eb4]

画面に表示される文字列の定義です。Androidでは、プログラムのロジックと、表示される文字を分離することで国際化を容易にしています。

*** res\layout\main.xml [#sf5fbc0d]

画面のレイアウトの定義です。Androidでは、プログラムのロジックと、画面の定義を分離することで、画面の大きさや見た目などのカスタマイズを容易にしています。

画面の定義は、縦方向と横方にならべるLinearLayoutや、リスト形式に要素を並べるListView、画像をスクロールしながら表示するGalleryなどをしようすることができます。

http://developer.android.com/guide/tutorials/views/index.html

*** gen\R.java [#f921ae18]

画像や文字列などをプログラムから参照するときに私用するIDが定義去れています。strings.xmlを編集すると、Eclipseのプラグインが自動的にIDを採番して、このファイルを更新するので、直接編集していはいけません。

*** AndroidManifest.xml [#def15c4e]

アプリケーションの属性を記述したファイルです。
アプリケーションのアイコンや、どのアクティビティのクラスを起動するかなどが定義されています。

** 演習問題 [#l5677294]

1)  表示されている文字列を「こんにちはアンドロイド」に変更してみましょう。
2)  アプリケーションのアイコンの画像と、アイコンの下の文字を「ハロー」に変更してみましょう
3)  文字列の下にアナログ時計を配置してみましょう。

** 演習問題 [#t22a3b5e]

1)  表示されている文字列を「こんにちはアンドロイド」に変更してみましょう。
2)  アプリケーションのアイコンの画像と、アイコンの下の文字を「ハロー」に変更してみましょう

3)  文字列の下にアナログ時計を配置してみましょう。

** PDFバージョン [#n50d566a]
#ref(HelloAndroid.pdf)

----
[[ワーキンググループ/ハンズオンセッション]]