Realm Kotlin 保存数据
Realm Kotlin save data
我正在使用 Realm
和 Kotlin
作为示例应用程序。但是,无论出于何种原因,在调用 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)
}
我正在使用 Realm
和 Kotlin
作为示例应用程序。但是,无论出于何种原因,在调用 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)
}