Saya mencoba menggunakan Realm.io untuk menyimpan data di Android yang saya punya RealmClass
@RealmClass
public open class Alarm : RealmObject() {
@Required
public open var hourOfDay: Int? = null
@Required
public open var minute: Int? = null
@Required
public open var days: BooleanArray? = null
public open var name: String? = null
}
dan di onCreate
saya mencoba menambahkan beberapa data pengujian
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
mRealm = Realm.getInstance(activity);
mRealm.beginTransaction()
var a = mRealm.createObject(Alarm::class.java)
a.hourOfDay = 12
a.minute = 1;
a.days = booleanArrayOf(true, true, true, true, true, false, false);
a.name = "Test${System.currentTimeMillis()}"
mRealm.commitTransaction()
}
tapi aku mendapat pengecualian.
> java.lang.IllegalArgumentException: Alarm is not part of the schema for this Realm
at var a = mRealm.createObject(Alarm::class.java)
saya telah menetapkan aturan dunia
-keep class io.realm.annotations.RealmModule
-keep @io.realm.annotations.RealmModule class *
-keep class io.realm.internal.Keep
-keep @io.realm.internal.Keep class *
-dontwarn javax.**
-dontwarn io.realm.**
di > proguard-rules.pro
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
productFlavors {
realmFlavor {
proguardFile 'proguard-rules.pro'
}
}
tapi ini tidak membawa solusi
KESIMPULAN
sejauh ini sepertinya kita harus menulis model di Java, Realm, dan perpustakaan ORM apa pun. Contoh Kotlin yang diposting di GitHub memiliki model yang ditulis dalam Java murni