Androidで動く携帯Javaアプリ作成入門
連載インデックスへ
Androidで動く携帯Javaアプリ作成入門(19)

XMLレイアウトでAndroidアプリに“設定画面”を追加


株式会社イーフロー
緒方聡
2010/8/19

AndroidはJavaの著作権を侵害? 今後はどうなる?

- PR -

 2010年8月12日、米オラクルは突如「AndroidプラットフォームはJavaの著作権を侵害している」として米グーグルに対して提訴を起こしました。

 連載第1回で説明しましたが、Androidは米サン・マイクロシステムズ(米オラクルに買収された)が開発したJavaVMではなく、独自に開発した「Dalvik」というVM(仮想マシン)を使用しています。

 これまでも、独自のJavaVMを開発したベンダや団体は数多くありました。(参考:開発者が知っておくべきJavaと仮想マシンの歴史)。米グーグルの場合は、ライセンス契約の交渉が上手くいかなかったようです。

 両社の対立が今後どのようになっていくかは、Androidアプリ開発に大きな影響を及ぼします。本連載の読者なら、今後もぜひ追いかけるべき話題でしょう。どのような結果になるにせよ、いままで作ってきたアプリや、今後作成予定のアプリが無駄にならないようにしてもらいたいものです。

 大きな心配ごとができてしまいましたが、本連載では変わらず、Java言語を使ったAndroidアプリ開発に役立つ情報を提供していきたいと思います。今回は、“設定画面”についてです。

Androidアプリに設定画面を追加するのは簡単だ

 Androidの標準ライブラリには設定専用のPreferenceActivityクラスが用意されています。Androidケータイの設定画面もPreferenceActivityで作成されています。

図1 カメラプレビューの失敗例
図1 Androidの無線とネットワーク設定画面

 ここまで複雑な設定を持つアプリはなかなか少ないと思いますが、独自に設定画面を頑張って一から実装するよりも、PreferenceActivityを使用した方が、簡単でバグが入り込まず、ユーザーにとっても使い慣れているインターフェイスであるため、メリットが大きいです。

 また、設定項目がアプリを終了しても永続化されるように自動的に保存され、必要な時に自動的に読み込まれるため、その辺の管理に気を使わなくてもよいのが開発者にとってのメリットです。

 今回はPreferenceActivityクラスとPreferenceActivityで使用できる設定を見ていきましょう。今回もサンプルアプリを用意してあるので、ダウンロードして動作を確認しながら読み進めてみてください。

Activityの派生クラス「PreferenceActivity」とは

 設定画面として使用するActivityはPreferenceActivityというActivityの派生クラスです。残念ながらActivityと一緒に表示させることはできず、設定画面を表示させるには画面遷移を伴います。

 PreferenceActivityはActivityの派生クラスなので、Activityと同じようにXMLによるレイアウトとコーディングによるレイアウトが可能です。

 今回はXMLとコーディングの両方を解説しますが、実際に使用する際にはXMLのレイアウトを強くお勧めします。理由は以下の2つです。

  1. コードが複雑になってしまうため
  2. 依存関係部分が期待通りに機能しないため

 1.に関しては、実際にソースコードを見てもらえれば分かると思いますが、設定画面はカテゴリの中に設定項目がネストする形になるため、生成しなければならないインスタンスの数がとても多くなります。XMLでも条件は同じですが、XMLならネストは自然に表現できますし、数が多くなってもコーディング時のようなインスタンスの命名を心配する必要もありません。

 2.に関しては、「コンポーネントの依存関係を決めるには」で詳しく説明します。

1-2-3

 Index
第19回 XMLレイアウトでAndroidアプリに“設定画面”を追加
Page1
AndroidはJavaの著作権を侵害? 今後はどうなる?
Androidアプリに設定画面を追加するのは簡単だ
Activityの派生クラス「PreferenceActivity」とは
  Page2
設定画面で使用可能な6つのコンポーネント
XMLレイアウトによる設定画面の構築
コラム 「画面をXMLで定義する意味」
  Page3
コンポーネントの依存関係を決めるには
次回は、アニメーションで華やかな演出を

Androidで動く携帯Javaアプリ作成入門 バックナンバー 連載インデックスへ»


ご意見、ご感想は Smart&Social 会議室へどうぞ


 Smart&Social フォーラム トップページへ


TechTargetジャパン

Smart & Social フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

キャリアアップ

@IT Sepcial

イベントカレンダー

PickUpイベント

- PR -
もっと見る
- PR -

お勧め求人情報

ホワイトペーパーTechTargetジャパン

@IT Sepcial
ソリューションFLASH