【Androidアプリケーションの設定画面を作ろう】PreferenceManagerのクラスメソッド
PreferenceManagerはPreferenceActivityやPreferenceFragmentからプリファレンスの管理を補助するためのクラスです。
今回はPreferenceManagerに定義されているクラスメソッドを説明します。
デフォルトプリファレンスの名前を取得する
static String getDefaultSharedPreferencesName(Context context)を使うことでアプリケーション内のデフォルトプリファレンスの名前を取得することができます。String defaultSharedPreferencesName = PreferenceManager.getDefaultSharedPreferencesName(getActivity());
デフォルトプリファレンスを取得する
static SharedPreferences getDefaultSharedPreferences(Context context)を使うことでアプリケーション内のデフォルトプリファレンスを表すSharedPreferencesを取得することができます。SharedPreferences defaultSharedPreferences = PreferenceManager.getDefaultSharedPreferences(getActivity());
初期値を設定する
PreferenceManager.setDefaultValuesはプリファレンスの初期値を設定するためのクラスメソッドです。また、PreferenceManager.setDefaultValuesは下記の二つのオーバーロードがあります。
static void setDefaultValues(Context context, int resId, boolean readAgain)
このオーバーロードはデフォルトプリファレンスを初期化するときに使用します。Context context | コンテキストを設定します。 |
int resId | プリファレンスに読み込むxmlリソースIDを設定します。このファイルで定義された各項目のandroid:defaultValue属性の値が初期値となります。 |
boolean readAgain | 再初期化するかを設定します。trueの場合は必ず初期化されます。falseの場合は一番最初の呼び出し時のみ初期化されます。 |
static void setDefaultValues(Context context, String sharedPreferencesName, int sharedPreferencesMode, int resId, boolean readAgain)
このオーバーロードは任意のプリファレンスを初期化するときに使用します。Context context | コンテキストを設定します。 |
String sharedPreferencesName | プリファレンスの名前を設定します。 |
int sharedPreferencesMode | プリファレンスのモード(Context.MODE_PRIVATE等)を設定します。 |
int resId | プリファレンスに読み込むxmlリソースIDを設定します。このファイルで定義された各項目のandroid:defaultValue属性の値が初期値となります。 |
boolean readAgain | 再初期化するかを設定します。trueの場合は必ず初期化されます。falseの場合は一番最初の呼び出し時のみ初期化されます。 |
PreferenceManager.setDefaultValues(getActivity() , R.xml.pref_general , true); PreferenceManager.setDefaultValues(getActivity() , "hoge" , Context.MODE_PRIVATE , R.xml.pref_general , true);