1

我正在尝试为从我的 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);

我仍然很好奇这是否是最好的方法。

4

0 回答 0