我正在将Realm
与Kotlin
一起用于示例应用程序。但是,无论出于何种原因,调用commitTranscation()
后都不会保留数据。 findAll()
方法始终将size()
返回为0。
写
realm.beginTransaction()
val userImage = UserImages()
userImage.image = byteArray
realm.commitTransaction()
阅读
val userImage = realm.where(UserImages::class.java).findAll().last()
上面的行始终将size()
返回为0,并导致应用崩溃。
如果有帮助,则图像属性为byte array
。
这是什么问题?
谢谢!
答案 0 :(得分:2)
您必须使用insert
来实际保存新对象。像这样:
val userImage = UserImages()
userImage.image = byteArray
realm.beginTransaction()
realm.insert(userImage)
realm.commitTransaction()
PS:您可以使用executeTransaction
代替开始+结束对。
像这样:
realm.executeTransaction {
realm.insert(userImage)
}