我有一个第三方库,它创建了很多数据模型来捕获对象中的数据。例如,要存储记录,他们有 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/