PreferenceActivityの使い方について記載します。
アプリケーションで設定情報などをユーザーがカスタマイズ出来るように設定用画面を設けることがありますが、PreferenceActivityクラスを利用すると簡単に実装ですることができます。
1. 設定用画面のxml作成
通常のActivityクラスで利用する画面のレイアウト用のXMLと違いPreferenceScreen要素が必要になります。
xmlファイルはresフォルダ配下にxmlフォルダを作成し保存します。
1 2 3 4 5 6 7 8 9 10 11 12 |
[xml] <?xml version="1.0" encoding="utf-8"?> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> <CheckBoxPreference android:title="設定1" android:key="CheckBox1" /> <EditTextPreference android:title="設定2" android:key="EditTextPreference1" /> </PreferenceScreen> [/xml] |
CheckBoxPreference(4行目)
チェックボックスでon/offを選択するような設定項目に利用します。
android:title(5行目)は設定画面に表示される文字です。
設定情報はキーと値で保存されますが、6行目のandroid:key(6行目)で指定した値がキーになります。
EditTextPreference(7行目)
自由に文字列を入力可能な設定項目に利用します。
8,9行目に関する設定はCheckBoxPreferenceと同じです。
2. 1.で作成したxmlをクラスに読み込む
addPreferencesFromResourceメソッドで先ほど作成したxmlを読み込むことができます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
[java] package jp.co.ken; import android.os.Bundle; import android.preference.PreferenceActivity; public class PreferenceActivitySample extends PreferenceActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.pre); } } [/java] |
入力した情報やチェックした情報は自動的に保存されます。
保存された情報は以下の場所にxmlファイルとして作成されます。
「data/data/パッケージ名/shared_prefs」
今回はEditTextPreferenceとCheckBoxPreferenceを利用しましたが、他にもリストで選択項目を選べるものもあるので試してみてください。