Realm Kotlin保存数据

时间:2019-03-27 16:51:45

标签: android kotlin realm

我正在将RealmKotlin一起用于示例应用程序。但是,无论出于何种原因,调用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

这是什么问题?

谢谢!

1 个答案:

答案 0 :(得分:2)

您必须使用insert来实际保存新对象。像这样:

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

PS:您可以使用executeTransaction代替开始+结束对。 像这样:

realm.executeTransaction {
  realm.insert(userImage)
}