我正在向Android上的realm数据库写一些数据:
val realm = Realm.getDefaultInstance()
realm.executeTransaction({
val ValueModel =
realm.where(ValueModel::class.java).findFirst() ?: CnamModel()
valueModel.value = value
realm.copyToRealmOrUpdate(valueModel)
})
几秒钟后,我正在尝试阅读它:
val realm = Realm.getDefaultInstance()
val valueModel =
realm.where(ValueModel::class.java).findFirst()
val myValue = valueModel.value
问题在于,当我在写入后很快执行此操作时,db具有旧值。我需要超过10秒才能从realm获取数据以获得新写入的值。如何解决问题,能够在写入事务结束后读取新值?
答案 0 :(得分:0)
我不确定你是否关闭了这个领域,但尝试下面的代码,让我知道它是否有效。
Realm.getDefaultInstance().use { realm ->
// do something
}
Java中的
try(Realm realm = Realm.getDefaultInstance()) {
// do something
}
如果您没有处理realm.insertOrUpdate(...)
的返回结果,请使用realm.copyToRealmOrUpdate(..)
。