Android プリファレンスの詳細
Android Preferenceは、Androidが提供するアプリの設定(Preferences)の保存・読み込みするための仕組みです。Preferencesは一般的にアプリ内の設定オプションで、ユーザが自分のニーズに応じて設定できます。
SharedPreferencesに基づくPreferenceの実装により、キーバリュー形式のデータを簡単に格納および読み取ることができ、SharedPreferencesと比較してより便利で柔軟に使用できます。
Preference関連のクラスは、Androidではandroid.preferenceパッケージにあります。主たるクラスにはPreference、PreferenceActivity、PreferenceFragmentなどがあります。
プリファレンスクラスはプリファレンスフレームワークの基底クラスであり、プリファレンス設定項目を表します。プリファレンスクラスを継承することで、カスタマイズしたプリファレンス設定項目を作成できます。
PreferenceActivityは、設定画面を表示するために使用される特別なアクティビティです。設定画面は、レイアウトファイルにプリファレンスコントロールを追加するか、コードによってプリファレンスを作成することで構築できます。
PreferenceFragmentは、Preference画面を表示するための特別なFragmentです。PreferenceActivityの代わりに、Android 3.0から導入されました。レイアウトファイルにPreferenceコントロールを追加するか、コードでPreferenceを作成することによって、Preference画面を作成できます。
Preferenceの操作手順は次のとおりです。
- PreferenceActivity もしくは PreferenceFragment を継承したクラスを作成する。
- レイアウトファイルにプリファレンス追加、またはコードからプリファレンスを作成します。
- レイアウトファイルをPreferenceActivityまたはPreferenceFragmentにaddPreferencesFromResource()メソッド、またはsetPreferenceScreen()メソッドで読み込む
- ユーザーの環境設定の変更は、Preferenceのコールバックメソッドで処理できます。
- 共有プリファレンスオブジェクトを利用して、プリファレンスの値を読み書きします。
Preferenceでは、setTitle()、setSummary()、setDefaultValue()など、さまざまなメソッドを使用して、プリファレンスの値の設定と取得ができます。
プリファレンスのコールバックメソッドを利用することで、onPreferenceChangeListenerやonPreferenceClickListenerなど、ユーザーによるプリファレンスの変更をリッスンできる。
SharedPreferencesオブジェクトを経由して、getString()、putString()、getInt()、putInt()といったメソッドを使用して、プリファレンスの値の読み書きを行えます。
AndroidのPreferenceは、アプリの設定を管理する便利な仕組みを提供しています。PreferenceActivity、PreferenceFragmentによって、Preference画面の作成や表示が容易になります。Preferenceクラスによって様々な形式の設定項目を作成でき、それら状態の変化の監視ができます。SharedPreferencesオブジェクトによって設定値の読み込みや保存ができます。