领域管理子对象

时间:2018-10-02 13:06:27

标签: android kotlin realm

你能帮我吗?

对于我当前在应用程序中的上下文,我正在尝试通过多个Realms管理从json解析的对象。由于我的要求,我必须对原始转换的POJO使用领域,对于应用程序会话实例使用领域,对于与子对象相关的会话使用领域(因为我要在每个会话中管理对象副本)。

问题:在将RealmObjects从一个Realm复制到另一个Realm时,如何正确管理(托管或非托管)RealmObject?

这里是我当前的代码:

Realm.getInstance(RealmManager.sessionsConfig)?.also{ sessionsRealm -> 
    try{
    sessionsRealm.executeTransaction{ 
        // Make a clean setup 
        realm.deleteAll() 
        val copyRootObject = sessionsRealm.copyToRealm(originalRootObject)

        // Ignore flat hierarchy if only one place with one campaign is provided 
        if(copyRootObject.place?.children?.size!! == 0){ 
                copyRootObject.campaign?.apply { 
                    parameters = copyRootObject.parameters 
                    dynamicfields = copyRootObject.dynamic_fields 
                    survey_topics = copyRootObject.survey_topics 
                } 
                copyRootObject.apply { 
                    place?.campaigns = RealmList() 
                    place?.campaigns?.add(copyRootObject.campaign) 
                } 
            } 
        } 
    }catch(e: Exception){ 
        e.printStackTrace()
    }finally { 
        realm.close() 
        openStartFragment() 
    } 
}

在打开显示POJO内容的主活动的过程中,我试图将原始的整个RealmObject从原始Realm复制到我的“实例” Realm。发生这种情况时,我还尝试将复制的对象中的某些子对象移到另一个字段中,因为我使用的REST API有点损坏。 问题是,显示的代码似乎不起作用。虽然我能够找到复制的对象,但是重新分配的子对象没有移动到指定的字段。 有人知道我在做什么错吗?

0 个答案:

没有答案