Android DefaultSharedPreferences
SDK内には、DefaultSharedPreferencesというクラスはありませんが、getDefaultSharedPreferences()で取得できるSharedPrefrencesの事をDefaultSharedPreferencesと私は呼んでいます。
SharedPreferencesは、ユーザが自由なファイル名及びモードで作成できますが、PreferenceActivityでは自動的に、SharedPreferencesを作成します。この自動的に作成されるSharedPreferencesがDefaultSharedPreferencesです。
DefaultSharedPreferences特徴
- ファイル名はパッケージ名+”_preferences”
- アクセスモードは通常、MODE_PRIVATE
- アプリケーションディレクトリ下の、shared_prefディレクトリに作成される。
DefaultSharedPreferencesの取得法
- PrefrenceManagerクラスの、getDefaultSharedPreferences()でSharedPreferencesを取得可能です。DefaultShredPreferencesですので、ファイル名とモードは必要ありません。
- ActivityクラスのSharedPreferences getPreferences(int mode)でDefaultSharedPreferencesを取得可能です。ファイル名なしで、モードのみの指定となります。(通常はMODE_PRIVATEを指定するのが良いでしょう)。
注意) SDK 1.1のActivityの説明ページで、getSharedPreferences()というメソッド(引数なし)が記載されていますが、このようなメソッドはありません。
使いどころ
PreferenceActivityを持たないアプリケーションでもDefaultSharedPreferencesは使用可能です。
通常のSharedPrefrencesだと、ファイル名をどこかに保持しなければいけないので、ファイル名をグローバルにアクセスできる変数に設定しなければならなく、汚いソースコードになります。
DefaultSharedPreferencesであれば、アプリケーションのどこからでも、呼ぶことができますので非常に使いやすくなります。
また、PreferenceActivityで設定した値は、getDefaultSharedPreferencesを使用することで、プログラムのどこからでも設定値の取得が可能です。
ブログ内の関連する記事
- Android アプリケーションの設定画面の作り方
- Android PreferenceActivityにonSharedPreferenceChangedを使う時に注意すること
- Android SharedPreferences について
- Android DefaultSharedPreferences
コメント
コメントを投稿