Ich bin in die Room Persistence Library integriert. Ich habe eine Datenklasse in Kotlin wie:
@Entity(tableName = "story")
data class Story (
@PrimaryKey val id: Long,
val by: String,
val descendants: Int,
val score: Int,
val time: Long,
val title: String,
val type: String,
val url: String
)
Die @Entity
und @PrimaryKey
Anmerkungen gelten für die Raumbibliothek. Wenn ich versuche zu bauen, schlägt es mit Fehler fehl:
Error:Cannot find setter for field.
Error:Execution failed for task ':app:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.
Ich habe auch versucht, einen Standardkonstruktor bereitzustellen:
@Entity(tableName = "story")
data class Story (
@PrimaryKey val id: Long,
val by: String,
val descendants: Int,
val score: Int,
val time: Long,
val title: String,
val type: String,
val url: String
) {
constructor() : this(0, "", 0, 0, 0, "", "", "")
}
Das funktioniert aber nicht so gut. Zu beachten ist, dass es funktioniert, wenn ich diese Kotlin-Klasse in eine Java-Klasse mit Getter und Setter konvertiere. Jede Hilfe wird geschätzt!