Androidでデータの保存(SharedPreferences)

手軽にデータを保存出来る仕組みとしてSharedPreferencesというのがある。

keyとvalueのセットを保存しておくもので、XML形式のファイルで保存される。

保存先は「data/data/[パッケージ名]/shared_prefs/」となる。

アプリをアンインストールするとこのファイルも消えるが、バージョンアップではそのまま残ってくれる。

 

SharedPreferencesのインスタンスは、

ContextクラスのgetSharedPreferencesメソッドで作成。ファイル名を指定して作成できる。

ActivityクラスのgetSharedPreferencesメソッドで作成するとActivity名で作成される。

PreferenceManagerクラスのgetDefaultSharedPreferencesメソッドでも出来る。


インスタンス作成時には操作モードが選べる。

MODE_PRIVATEを指定すれば、このアプリからしかアクセスできなくなる。

※getDefaultSharedPreferencesの場合は常にMODE_PRIVATE

 

保存の場合

SharedPreferences preference = PreferenceManager.getDefaultSharedPreferences(context);

SharedPreferences.Editor editor = preferences.edit();
editor.putString("key1", "test");
editor.putFloat("key2", 1.0f);
editor.putInt("key3", 1);
editor.commit();

 

読み出す場合

SharedPreferences preference = PreferenceManager.getDefaultSharedPreferences(context);

String val1 = preference.getString("key1", null);
float  val2 = preference.getFloat("key2", 1.0f);
int    val3 = preference.getInt("key3", 1);