update tutorial query example android realm kotlin data-class

tutorial - realm update android



Clase de datos Kotlin de RealmObject (2)

Cualquier propiedad de Kotlin en cualquier clase tiene un getter y un setter. Así que creo que su código debería funcionar como usted lo sugirió (sin modificador de data ).

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

PD: Estoy de acuerdo en que los documentos sobre propiedades no están claros sobre el tema

Estoy usando Kotlin y Realm para escribir una clase de datos

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

Tengo que guardar los datos en db, así que uso Realm para guardarlos. Pero como sabemos, si quiero guardar la clase en Realm, la clase AuthToken tiene que extender RealmObject .

Ese es el problema, Kotlin dice que las clases de datos no pueden extender las clases. Por lo tanto, renuncio a la clase de datos, simplemente usando una clase normal de Kotlin como modelo, luego surge otra pregunta:

La clase de Kotlin no tiene getter ni setter. Como sabemos, la clase Realm tiene que establecer toda la propiedad privada y escribir getter y setter.

Ahora me pregunto cómo resolver el problema.


El reino no admite clases de datos actualmente. Puede ver un ejemplo de cómo escribir clases de modelos compatibles con Realm en Kotlin aquí: 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() {