android - 将非 Realm 对象存储到 Realm 数据库中

标签 android realm

我有一个第三方库,它创建了很多数据模型来捕获对象中的数据。例如,要存储记录,他们有 Record 类,要存储葡萄糖读数,他们有 Diabetes 类。

现在由于这些类是库的一部分,它们声明如下

public class Record implements Serializable {        
}

public class Diabetes extends Record implements Serializable {
}

我想使用这些类并将其存储到 Realm 中。由于 realm 具有必须从 RealmObject 扩展的约束,我不知道我将如何存储在库声明的类中捕获的数据。

我无法执行以下操作,因为 Diabetes 没有扩展 RealmObject

Diabetes diabetes = new Diabetes() ;

 realm.executeTransaction((realm) -> {
            realm.insert(diabetes);
 });

那么有没有办法将非 Realm 对象存储到 Realm 数据库中?如果我通过扩展 RealmObject 在我的应用程序中重新创建相同的类,那么我应该如何快速将非 Realm 对象关闭为 Realm 对象?

最佳答案

为 Record 创建一个新类,假设是 RecordEntry 并使其扩展 RealmObject。

在 RecordEntry 中创建一个静态函数,它接受一个 Record 类作为参数,然后将其转换为一个新的 RecordEntry 对象。

例子

static RecordEntry createRecordEntry(Record record) {
    return new RecordEntry(record.id, record.title);
}

关于android - 将非 Realm 对象存储到 Realm 数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53868003/

相关文章:

Android 谷歌地图在第一次打开时加载然后在第二次打开时崩溃

java - 通过 Activity 1 登录 facebook 并通过 Activity 2 将帖子发送到 fb 墙

ios - 解析 JSON 并使用 Realm 保存

swift - Realm 正在重写而不是更新嵌套的对象数组

ios - 将 Realm 查询结果用作UITableView节标题

ios - Realm 对象字段有时为零

android - 谷歌地图显示灰色方 block

java - MainActivity 不是封闭类

Android x86 移植,无法正常工作

ios - 尝试使用 Grand Central Dispatch 执行 Realm 事务时出现 RLMException