Android > 設定(Setting)

下位ページ

Content

設定画面を設定する/設定情報をローカルストレージに残す

設定情報はPreferenceActivityを継承したクラスで作成する。これにより、
  • 設定をローカルストレージに残す
  • 設定の画面が揃う(統一されたユーザインターフェースになる)
といった利点がある
設定 | Android Developers

設定のXMLを準備する

xmlファイルを置くフォルダ

res/xml

xmlファイルの概要

ごく単純な設定画面の場合の構造。チェックボックス1個。
<PreferenceScreen>
 <CheckBoxPreference />
</PreferenceScreen>
実際には名前空間の指定などもあるが、構造的にはこれ。

サポートされている属性は以下を参照
Preference | Android Developers

PreferenceActivityを作成

PreferenceFragmentを継承したクラスで作成(API11よりフラグメントの使用を推奨。なので、とりあえず形の上はPreferenceFregmentで作成して、通常のActivityで開く。)

onCreate() のコールバック時に、ビューのレイアウトをロードしてはならないことに注意。代わりにaddPreferencesFromResourceで、XMLファイルをアクティビティに追加する。
addPreferencesFromResource - PreferenceActivity | Android Delelopers

プレファレンスを読み出す

PreferenceManager.getDefaultSharedPreferences()
で、SharedPreferencesオブジェクトを取得し、キーを使って、値を取得する。取得する値で、メソッドを使い分ける。
getDefaultSharedPreferences では引数にコンテクストを取るが、フラグメントはコンテクストを持っていないので、getActivityで呼び出し元Activityを取得する。
SheredPreferences | Android Developers
最終更新:2017年04月14日 21:14