你能帮我吗?
对于我当前在应用程序中的上下文,我正在尝试通过多个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有点损坏。 问题是,显示的代码似乎不起作用。虽然我能够找到复制的对象,但是重新分配的子对象没有移动到指定的字段。 有人知道我在做什么错吗?