小编jdu*_*dub的帖子

将云端点模型类序列化为Android文件系统的方法

我已成功创建了一个云端点模型,可以轻松从App Engine中检索信息.为了减少往返次数并提供更快的用户体验,我已经确定了一个我希望存储到本地存储的实例.

在我的应用程序的其余部分中,我使用ObjectInputStream来读取和写入对象,例如:

FileInputStream fis = context.openFileInput("PRIVFILE");
ObjectInputStream ois = new ObjectInputStream(fis);
AppModelState s = (AppModelState) ois.readObject();
Run Code Online (Sandbox Code Playgroud)

这显然要求所有数据成员实现Serializable接口.Model类扩展GenericJSON并且不是"Serializable",如

    public final class ModelClass extends GenericJson {}
Run Code Online (Sandbox Code Playgroud)

我可以手动创建一个映射到模型的可序列化对象; 然而,由于属性的数量,这似乎非常业余.

我考虑的另一个选择是创建一个Serializable Object包装器,它只是将JSON字符串作为成员,并提供一个setter/getter接受ModelClass作为参数,例如:

class AppModelState implements Serializable {
   private String modelClassJSON;

   public ModelClass getModelClass() {
      // generate a new ModelClass from the JSON
   }

   public void setModelClass(ModelClass c) {
      // extract the JSON for storage
   }

   .....
}
Run Code Online (Sandbox Code Playgroud)

我觉得必须有一个更好的方法,这应该已经解决了十几次,但我找不到任何资源.请提供意见.

serialization android caching google-cloud-endpoints

4
推荐指数
1
解决办法
1179
查看次数