您的数据是 json,因此您可以使用gson转换为字符串并返回 json。您需要它,因为您无法在 SharedPreference 上保存 json 格式。
public boolean saveJson(List<MyData> myData){
Gson gson = new Gson();
String json = gson.toJson(myData);
return saveMyData(json);
}
public List<MyData> getJson() {
Type listOfObjects = new TypeToken<List<MyData>>(){}.getType();
String json = restoreMyData();
Gson gson = new Gson();
List<MyData> myListData = gson.fromJson(json, listOfObjects);
return myListData;
}
public boolean saveMyData(String data) {
SharedPreferences settings = context.getSharedPreferences("PrefName", 0);
SharedPreferences.Editor editor = settings.edit();
editor.putString("MyKey", data);
return editor.commit();
}
public String restoreMyData() {
SharedPreferences settings = context.getSharedPreferences("PrefName", 0);
String data = settings.getString("MyKey", "default value, you can put null here");
return data;
}