Автоматическая генерация и инициализация Android Room - PullRequest
3 голосов
/ 28 апреля 2019

У меня есть база данных комнат, которая содержит Stuff сущностей. Эти объекты имеют идентификатор, который будет сгенерирован автоматически:

@Entity(tableName = "stuff")
data class Stuff(val text: String) {
    @PrimaryKey(autoGenerate = true) var id: Int = 0
}

Есть две вещи, которые мне не нравятся в моем коде:

  1. Я инициализирую id с 0, хотя он должен быть инициализирован Room.
  2. Элемент данных id является изменяемым.

Я пытался использовать lateinit var , но компилятор не позволил мне сделать это для примитивного типа. Есть ли способ преодолеть две проблемы, упомянутые выше в Kotlin?

...