java - 合并 Realm 对象和 Gson 对象

标签 java android gson realm

我的目标是将使用 GSON 实例化的对象保存到使用 Realm 的数据库中

我的问题如下:

  • 我可以使用 GSON 实例化一个对象,因此 GSON 会处理所有属性, 但它不会被持久化到 db

  • 我可以用 Realm 实例化一个对象,但是我必须填写属性的所有 setter 。

在我的 oncreate 中,这部分对于两种方法都是一样的

//delete previous realm file
Realm.deleteRealmFile(this);

//gson instance
Gson gson = new Gson();

//realm instance
realm = Realm.getInstance(this);

** 我的类(class)名称是 Vacature **

信息:我知道下面的代码需要在里面:

realm.beginTransaction();

// code here

realm.commitTransaction();

选项 1:

//get class with gson
Vacature vacatureGson = gson.fromJson(jsonString, Vacature.class);

这行不通,因为您必须使用实例化 Realm 对象

Class instance = realm.createObject(Class.class); // Create a new object

选项 2:

//get instance with gson
Vacature vacatureGson = gson.fromJson(jsonString, Vacature.class);
//make instance with realm
Vacature realmVacature = realm.createObject(Vacature.class);
realmVacature = vacatureGson;

这不起作用,因为这不是将所有属性从一个对象复制到另一个对象的正确方法。 但是,如果有一种将 gsonObject 中的所有属性复制到 realmObject 的好方法, 选项 2 可能有效。

关于如何解决这个难题的任何想法?

最佳答案

来自 Realm 的 Emanuele。

目前解决方案不是最理想的,并在以下示例之一中给出:https://github.com/realm/realm-java/blob/master/examples/gridViewExample/src/main/java/io/realm/examples/realmgridview/GridViewExampleActivity.java

我们正在努力使体验更加流畅!

关于java - 合并 Realm 对象和 Gson 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26275143/

相关文章:

android - 在 UIAutomator 测试中引用资源标识符的最佳方式是什么?

java.lang.NoClassDefFoundError : com. google.gson.stream.JsonReader 在使用 Amazon S3 上传图像时在 android 中的 Pre-Lollipop 上出错

java - 如何在 RetroFit 中使用 Gson 转换器?

java - ArrayList 未正确更新

Java泛型推理太宽泛?

java - 使通知不可关闭时,使用这些解决方案中的每一种之间有什么区别?

Android ListView SetSelector 问题

java - block 大小和页面大小之间的差异 Spring Batch

java - JLabel.setText() 中的换行符

android - 反序列化 json 对象失败