[android] SharedPreferenceに配列などのObjectを保存・読み取りする方法

目次

SharedPreferenceに配列などのObjectを保存・読み取りする方法

SharedPreferenceでAndroidのローカルデバイスに値などを保存できるが
保存できる型が決まっているため、通常の方法では配列などのObjectは保存できない

JSON文字列に変換することで保存が可能

保存

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
Gson gson = new Gson();
// objectをjson文字列へ変換
String jsonInstanceString = gson.toJson(instance);
// 変換後の文字列をputStringで保存
pref.edit().putString("PREF_KYE",jsonInstanceString).apply();

読み取り

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
Gson gson = new Gson();
// 保存されているjson文字列を取得
String userSettingString = prefs.getString("PREF_KYE", "");
// json文字列を 「UserSettingクラス」のインスタンスに変換
instance = gson.fromJson(userSettingString, UserSetting.class);

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です