демо-версия kotlin realm

kotlin version 1.0.0, realm version 0.88.0-SNAPSHOT Я загружаю демоверсию realm kotlin и запускаю, если код выглядит следующим образом:

var person = Person() person.id = 1 person.name = "Young Person" person.age = 14 realm.beginTransaction() realm.copyToRealm(person) realm.commitTransaction() 

throw Exception: Caused by: java.lang.ClassCastException: io.realm.examples.kotlin.model.Person не может быть передан в io.realm.PersonRealmProxyInterface

иначе я меняю код следующим образом:

  realm.beginTransaction() // Add a person var person = realm.createObject(Person::class.java) person.id = 1 person.name = "Young Person" person.age = 14 // When the transaction is committed, all changes a synced to disk. realm.commitTransaction() 

то realm вставляет данные, но person.name, id, age – пустое значение или 0;

как его решить

С Realm 0.88.0-SNAPSHOT вы также должны использовать свой Gradle Plugin. Если вы Google это исключение ( realm java.lang.ClassCastException ProxyInterface ), вы найдете эту realm java.lang.ClassCastException ProxyInterface Github – 2353, которая гласит:

Мы просто объединили наш байтовый код в мастер, и похоже, что он не запускается в вашем случае. Обратите внимание, что из 0.88.0-SNAPSHOT вы должны использовать наш плагин Gradle: https://realm.io/news/android-installation-change/

Раньше вы устанавливали Realm как:

 repositories { jcenter() } dependencies { compile 'io.realm:realm-android:<version>' } 

Теперь вы должны установить его, чтобы включить плагин Gradle:

 buildscript { repositories { jcenter() } dependencies { classpath "io.realm:realm-gradle-plugin:<version>" } } apply plugin: 'realm-android' 

Таким образом, преобразование байтового кода включается. Без этого вы получите ошибку, точно так же, как ваш первый вариант использования (это был правильный код, но для выпуска моментального снимка, который вы выбрали для использования, вам также понадобился дополнительный шаг плагина Gradle). В приведенной выше ссылке есть другие важные примечания, а также заметки о выпуске изменений в последних версиях Realm.

Intereting Posts
Несоответствие типа Kotlin после преобразования в Android Studio Android Studio (Kotlin) GsonBuilder.registerTypeAdapter () дает 2 ошибки Как я могу создать новую активность Android в Android Studio из проекта Explorer? Как создать неизменяемый список, который должен пересекать поле другого списка Как получить Flowable <List <Foo >> из объекта «Bar» с отношениями «один ко многим» «Foo» с использованием realm и Rxjava Android: Kotlin: пользовательский webView – не может быть вызван как функция. Функция 'invoke ()' не найдена Котлин – вторичный конструктор, который отличается одним аргументом не случайное переопределение в Котлине Как добавить изображение плюс в качестве кнопки в конце моего RecyclerView в Android? В kotlin, как сделать сеттер свойств в основном конструкторе частным? проект kotlin не может быть построен в gradle (не может найти ссылку) Как отличить глобальную переменную от локального с тем же именем в Kotlin? В Котлине как открыть ссылку в новом окне Откуда распространяются классы данных Kotlin? Могу ли я увеличить их? Использование универсального типа интерфейса в методе