Android チュートリアル Exercise 1
Google Androidアプリ作成のチュートリアルに挑戦してみた。
説明が丁寧かつ詳しかったためExercise1についてはとりあえず問題なく終了。
個人的に大事そうだと思った部分をメモしておく。
XMLレイアウトファイルの記述
- XMLレイアウトファイル内では@id、@stringのような"@"を使った表記によってresフォルダ以下のリソースを参照可能(R.javaのリソースIDを参照)。
- AndroidSDK上(android.R)で定義されているIDは、"android:"というプレフィックスを用いてXMLファイル内で参照可能。以下の例の、android:emptyはandroid.Rで定義されているID。
<TextView id="@id/android:empty" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/no_notes"/>
- @+idのように"@"のあとに"+"を付けると、もしそのidが存在しなければ自動的に作成することを表す。
<TextView id="@+id/text1" xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
SQLite databaseの利用
Tutorial Exercise1ではSQLite databaseにアクセスする際に、SQLiteDatabaseを直接使っている(DBHelper.java内でSQLiteDatabaseを利用)。
SQLiteDatabaseを直接利用しても問題はないが、SQLite databaseへのアクセスをカプセル化したクラスContentProviderを用いた方法の方がより一般的。実際にSDKのsample/以下にあるNotePadではContentProviderを使っている。
ListViewへのデータバインド
ArrayAdapterは任意のデータ型のList、または配列をListViewにバインドするためのクラス。
ArrayAdapterを用いたデータのバインドは最もシンプルな方法であるが、拡張性が低い。
このため、SimplecursorAdapterとContentProviderを組み合わせたバインド方法が一般的。