在我的Android应用程序中,我使用Gson为了在SharedPreferences中保存/加载对象的Arraylist。遵循我的代码使用Gson。如何使用/不使用Gson将对象列表保存并加载到SharedPreferences?
public static ArrayList<RequestModal> getModalList(Context ctx) {
Gson gson = new Gson();
String json = getSharedPreferences(ctx).getString("ModalList", new Gson().toJson(new ArrayList<>()));
Type type = new TypeToken<ArrayList<RequestModal>>() {}.getType();
return gson.fromJson(json, type);
}
在这里“RequestModal”是简单的对象,包括一些字符串和整数。 它适用于“在线”的情况。但是,如果互联网离线,永远在下面的代码工作。
Type type = new TypeToken<ArrayList<RequestModal>>() {}.getType();
我该如何解决?在使用/不使用Gson的情况下实现此功能的方式是什么?请帮助我有一个好主意的人。 预先感谢您。
它适用于“在线”的情况。但是,如果互联网离线,永远在下面的代码工作。 --->我没有把你带到这里。你的代码如何依赖于互联网? –
是的,你说得对。我的代码独立于互联网。但是,一旦网络脱机,它将永远在“TypeToken>(){} .getType();”上运行,不会停止或崩溃。 –