Я обновил android studio и realm и потратил много времени, просматривая ошибки, чтобы заставить его работать. Код ниже работал нормально, прежде чем я все обновил.
Теперь он говорит, что свойство uid
никогда не используется, и я получаю сообщение об ошибке при попытке запустить программу. При запуске приложения происходит сбой, и возникает ошибка:
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void io.realm.ProxyState.setConstructionFinished()' on a null object reference
at io.realm.com_myApp_SettingsRealmProxy.<init>(com_myApp_SettingsRealmProxy.java:82)
at io.realm.DefaultRealmModuleMediator.newInstance(DefaultRealmModuleMediator.java:69)
at io.realm.Realm.createObjectInternal(Realm.java:1001)
at io.realm.Realm.createObject(Realm.java:977)
import io.realm.RealmObject
open class Settings() : RealmObject() {
var name: String = ""
var uid: Int = 0
var settings = ""
}
Я использую его следующим образом.
val statsRealm = realm.createObject(Settings::class.java)
statsRealm.name = "MathTrainerStats"
statsRealm.settings = generateJSONString()
realm.commitTransaction()
Это вызывает ошибку, упомянутую выше. Однако, если я добавлю uid
, ошибка исчезнет.
val statsRealm = realm.createObject(Settings::class.java)
statsRealm.uid = 22
statsRealm.name = "MathTrainerStats"
statsRealm.settings = generateJSONString()
realm.commitTransaction()
Я не понимаю, в чем причина ошибки, поскольку код работал до того, как я обновил android studio gradle, kotlin и т. Д.
Вот раздел применения плагина
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
apply plugin: 'realm-android'
android {
compileSdkVersion 26
defaultConfig {
.....