在我的android应用程序中,我通过gson在共享偏好中存储了一个自定义类列表。现在我的问题是,我更改了WORD类中的代码,我不知道如何将其应用于"中的当前列表;共享偏好";旧版本的应用程序。谢谢你的帮助!
我也遇到了同样的问题。我的解决方法是用try catch
包围您的错误,并从旧对象中创建一个新的对象列表。然后保存你新创建的列表,这样就不会再发生这种情况了。
try {
if (object.getNewMethod().equals("")) {
wontHappenBecauseError();
}
}
catch (Exception e) {
//create new arraylist to save
ArrayList<Object> updatedObjectList = new ArrayList<>();
//loop through old objects
for(Object oldObject: oldObjectsList){
//for each, add an object to the new list from the attributes of the old list
updatedObjectsList.add(new Object(oldObject.getAttribute, oldObject.getOtherAttribute);
}
//save the new and improved list so it doesnt happen again
Gson gson = new Gson();
Type type = new TypeToken<ArrayList<Object>>(){}.getType();
String json = gson.toJson(updatedObjectList,type);
editor.putString("ObjectList",json);
editor.commit();
}