« Android SharedPreferences について | メイン | Android MarketをPCから見る方法 »

Android DefaultSharedPreferences

SDK内には、DefaultSharedPreferencesというクラスはありませんが、getDefaultSharedPreferences()で取得できるSharedPrefrencesの事をDefaultSharedPreferencesと私は呼んでいます。
SharedPreferencesは、ユーザが自由なファイル名及びモードで作成できますが、PreferenceActivityでは自動的に、SharedPreferencesを作成します。この自動的に作成されるSharedPreferencesがDefaultSharedPreferencesです。

DefaultSharedPreferences特徴

  • ファイル名はパッケージ名+"_preferences"
  • アクセスモードは通常、MODE_PRIVATE
  • アプリケーションディレクトリ下の、shared_prefディレクトリに作成される。

DefaultSharedPreferencesの取得法

  1. PrefrenceManagerクラスの、getDefaultSharedPreferences()でSharedPreferencesを取得可能です。DefaultShredPreferencesですので、ファイル名とモードは必要ありません。
  2. ActivityクラスのSharedPreferences getPreferences(int mode)でDefaultSharedPreferencesを取得可能です。ファイル名なしで、モードのみの指定となります。(通常はMODE_PRIVATEを指定するのが良いでしょう)。

注意) SDK 1.1のActivityの説明ページで、getSharedPreferences()というメソッド(引数なし)が記載されていますが、このようなメソッドはありません。

使いどころ

PreferenceActivityを持たないアプリケーションでもDefaultSharedPreferencesは使用可能です。 通常のSharedPrefrencesだと、ファイル名をどこかに保持しなければいけないので、ファイル名をグローバルにアクセスできる変数に設定しなければならなく、汚いソースコードになります。 DefaultSharedPreferencesであれば、アプリケーションのどこからでも、呼ぶことができますので非常に使いやすくなります。

また、PreferenceActivityで設定した値は、getDefaultSharedPreferencesを使用することで、プログラムのどこからでも設定値の取得が可能です。

ブログ内の関連する記事

トラックバック

このエントリーのトラックバックURL:
http://www.taosoftware.co.jp/mt/mt-tb.cgi/170

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)