Realm Kotlin 保存数据

Realm Kotlin save data

我正在使用 RealmKotlin 作为示例应用程序。但是,无论出于何种原因,在调用 commitTranscation() 后数据都没有被持久化。 findAll() 方法 returns size() 始终为 0。

写入

realm.beginTransaction()
  val userImage = UserImages()
  userImage.image = byteArray
  realm.commitTransaction()

阅读

val userImage = realm.where(UserImages::class.java).findAll().last()

上面的行总是 returns size() 为 0 并使应用程序崩溃。

如果有帮助,图像 属性 是 byte array

这里有什么问题?

谢谢!

您必须使用 insert 才能实际保存新对象。类似于:

val userImage = UserImages()
userImage.image = byteArray
realm.beginTransaction()
realm.insert(userImage)
realm.commitTransaction()

PS:您可以使用 executeTransaction 代替 begin + end 对。 像这样:

realm.executeTransaction {
  realm.insert(userImage)
}