将多个arraylist设置为共享首选项

时间:2018-10-26 13:01:34

标签: java android

我是android新手,我有一个三字符串数组列表(文件路径,数量,日期),我应如何将其保存到android studio中的共享首选项中?

Set<String> set1 = new HashSet<String>();
                set2.addAll(Cheque_amount);
                edit.putStringSet("Key1", set1);
                edit.commit();

Set<String> set2 = new HashSet<String>();
                set2.addAll(Cheque_amount);
                edit.putStringSet("Key2", set2);
                edit.commit(); 

使用像这样的Hashset不起作用...

1 个答案:

答案 0 :(得分:0)

您可以使用Gson。

使用Gson库将数组或对象转换为Json,并将数据以JSON格式存储为String。

保存为首选项

SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context);
Editor editor = sharedPrefs.edit();
Gson gson = new Gson();
String json = gson.toJson(your_array_list);
editor.putString(TAG, json);
editor.commit();

要从首选项中读取

SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context);
Gson gson = new Gson();
String json = sharedPrefs.getString(TAG, "");
Type type = new TypeToken<List<String>>() {}.getType();
List<String> arrayList = gson.fromJson(json, type);