【发布时间】:2020-08-14 16:30:33
【问题描述】:
我需要在关闭应用程序时恢复我保存的数据,但我不知道如何..
这是保存方法:
public void saveHashMap(HashMap<String, ArrayList<List>> map) {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
Gson gson = new Gson();
for (Map.Entry<String, ArrayList<List>> entry : map.entrySet()) {
String json = gson.toJson(entry.getValue());
Log.i(TAG, "SAVED KEY = " + entry.getKey() + " value "+ json);
prefs.edit().putString(entry.getKey(), json);
}
}
理论上我认为保存方法有效,但我不知道如何制作恢复方法...
我需要恢复一个HashMap
【问题讨论】:
-
"prefs.edit().putString(entry.getKey(), json);" -> 你需要调用 apply() 或 commit() 否则值不会从编辑器保存到 SharedPreferences 文件...