gpt4 book ai didi

java - 合并 Realm 对象和 Gson 对象

转载 作者:IT老高 更新时间:2023-10-28 21:01:56 26 4
gpt4 key购买 nike

我的目标是将使用 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com