配列をSharedPreferencesに保存する方法 Gson
Gsonクラスを利用して配列をSharedPreferencesで保存する
SharedPreferencesはキー1個に対して値ひとつしか保存できませんが、
Gsonを使うことで、配列を文字列に変換し、
putStringで保存ができるようになります。
もちろん、getStringで読み出して、配列に復元することもできます。
Gsonを利用できるようにする
Gsonライブラリをプロジェクトに追加します。
Project StructureのDependenciesからcom.google.code.gsonを追加します。
(ここの手順は割愛させていただきます)
配列を保存
int[] ints = {1,2,3}; Gson gson = new Gson(); String s = gson.toJson(ints); getSharedPreferences("MY_PREF", Context.MODE_PRIVATE).edit() .putString("INTS", s).commit();
配列を復元
int[] ints; String s = getSharedPreferences("MY_PREF",Context.MODE_PRIVATE) .getString("INTS",null); Gson gson = new Gson(); ints = gson.fromJson(s,int[].class);
復元の際は、データがnullだった場合のエラー回避の処理を追加します。
fromJsonメソッドの第一引数はJson文字列(配列を文字列化したもの)、
第二引数は、復元後のデータ型を指定します。
この例では整数の配列なので、int[].classというかたちで指定します。
これで、intsに{1,2,3}が格納されます。
意外とかんたん☆