Царство Котлин сохранить данные - PullRequest
0 голосов
/ 27 марта 2019

Я использую Realm с Kotlin для примера приложения. Однако по какой-либо причине данные не сохраняются после вызова commitTranscation(). Метод findAll() всегда возвращает size() как 0.

WRITE

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

READ

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

Приведенная выше строка всегда возвращает size() как 0 и вылетает из приложения.

Если это помогает, свойство изображения имеет вид byte array.

В чем здесь проблема?

Спасибо!

1 Ответ

2 голосов
/ 27 марта 2019

Вы должны использовать insert, чтобы фактически сохранить новый объект.Что-то вроде:

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

PS: вы можете использовать executeTransaction вместо пары начало + конец.Как это:

realm.executeTransaction {
  realm.insert(userImage)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...