将非领域对象存储到领域数据库中

时间:2018-12-20 11:42:07

标签: android realm

我有一个第三方库,该库具有大量数据模型,可以捕获对象中的数据。例如,要存储具有Record类的记录,要存储具有Diabetes类的葡萄糖读数。

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

public class Record implements Serializable {        
}

public class Diabetes extends Record implements Serializable {
}

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

由于Diabetes没有扩展RealmObject

,我无法进行关注
Diabetes diabetes = new Diabetes() ;

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

那么,是否有将非领域对象存储到领域数据库中的问题?而且,如果我通过扩展RealmObject在我的应用中重新创建相同的类,那么我应该如何快速将非领域对象关闭为领域对象呢?

1 个答案:

答案 0 :(得分:0)

为Record创建一个新类,比如说RecordEntry,并使其扩展RealmObject。

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

示例

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