我正在尝试为从我的 cn1 应用程序中的 parse 下载的数据创建一个缓存系统,以便该应用程序不必每次都进行网络调用。我不想使用内置于 parse4cn1 库中的内置外部化实现,因为据我所知,它将每个对象写入文件,并且我想缓存带有大量对象列表的整个查询。
ParseUser
我在尝试恢复之前查询的对象(例如当前用户团队的成员)时遇到了问题。我看不到在ParseUser
不扩展类的情况下实例化对象的任何方法。这是我应该做的,还是有其他方法可以解决这个问题?
我的犹豫是,除了这个需要之外,我没有理由 subclass ParseUser
,如果我注册我的子类,我认为它必须使用不同的类名,并且需要对我的代码的其他部分进行重大调整。
更新
我进行了子类化ParseUser
以公开一个空的构造函数,并且由于多态性,我不必更改任何其他代码。它看起来像这样:
public static class MyParseUser extends ParseUser{
public static ParseUser fromData(JSONObject data){
ParseUser user = new VqParseUser();
user.setData(data);
return user;
}
private MyParseUser(){
super();
}
}
然后,在我的代码中:
ParseUser parseUser = MyParseUser.fromData(json);
我仍然很好奇这是否是最好的方法。