Kotlin-Datenklasse von RealmObject

Ich verwende Kotlin und Realm, um eine Datenklasse zu schreiben

data class AuthToken(val register: Boolean, val token: String, val tokenSecret: String, val user: AuthUser) 

Ich muss die Daten auf db speichern, also verwende ich Realm, um es zu speichern. Aber wie wir wissen, wenn ich die Klasse in Realm retten will, muss die AuthToken-Klasse RealmObject erweitern.

Das ist das Problem, Kotlin sagt Datenklasse kann nicht erweitern Klasse. So gib ich auf Datenklasse, nur mit einer normalen Kotlin-Klasse als Modell dann eine andere Frage kommt:

Kotlin Klasse hat keinen Getter oder Setter. Wie wir wissen Realm Klasse haben, um die ganze Eigenschaft privat und schreiben Getter und Setter.

Jetzt frage ich mich, wie man das Problem lösen kann.

  • Android: Realm.getInstance (Kontext) gibt eine bereits geschlossene Realm-Instanz zurück
  • So aktualisieren Sie nur NULL-Werte beim Schreiben von Daten in Realm
  • Wie kann ich Realm DB in Android sichern, bevor ich die Realm-Datei lösche. Gibt es eine Möglichkeit, die Backup-Datei wiederherzustellen?
  • Wie überprüft man, ob eine Realm-Instanz bereits geschlossen wurde?
  • Überprüfen Sie zwei Felder mit der Realm-Datenbank
  • Update-Anweisung in Realm
  • Ist das Lesen von Feldern eines Realm-Objekts langsamer als Java-Objekte?
  • Wie man in Realm für Android zu erreichen?
  • 2 Solutions collect form web for “Kotlin-Datenklasse von RealmObject”

    Realm unterstützt derzeit keine Datenklassen. Sie können ein Beispiel sehen, wie man Realm-kompatible Modellklassen in Kotlin hier schreiben kann: https://github.com/realm/realm-java/tree/master/examples/kotlinExample/src/main/kotlin/io/realm/examples / Kotlin / model

     public open class Person( @PrimaryKey public open var name: String = "", public open var age: Int = 0, public open var dog: Dog? = null, public open var cats: RealmList<Cat> = RealmList(), @Ignore public open var tempReference: Int = 0, public open var id: Long = 0 ) : RealmObject() { 

    Jede Kotlin-Eigenschaft in jeder Klasse hat einen Getter und einen Setter. Also ich glaube, du Code sollte einfach funktionieren wie sich selbst vorgeschlagen (ohne data ).

    https://kotlinlang.org/docs/reference/data-classes.html#data-classes https://kotlinlang.org/docs/reference/java-to-kotlin-interop.html#properties

    PS Ich bin damit einverstanden, dass die Dokumente auf Eigenschaften unklar sind

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.