Wie macht man einen Primärschlüssel in Room (Android/Kotlin) autoinkrementierend?
Hallo zusammen! Ich bin ein Anfänger in der Android-Entwicklung mit Kotlin und versuche, mich mit der Room-Bibliothek vertraut zu machen. Ich habe eine Entity zum Speichern von Notizen. Ich möchte, dass das Feld id beim Einfügen eines neuen Eintrags automatisch erhöht wird, wie in normalen SQLite-Datenbanken mit `AUTOINCREMENT`. Aber ich bekomme es nicht hin.
Hier ist mein Code:
```kotlin
@Entity(tableName = "notes")
data class Note(
@PrimaryKey
val id: Int = 0,
val title: String,
val content: String
)
```
Wenn ich eine neue Notiz über DAO einfüge, setze ich id = 0, aber Room gibt einen Fehler aus, dass diese id bereits existiert (oder ein Konflikt). Ich habe versucht, `autoGenerate = true` zu setzen, aber dann beschwert sich der Compiler, dass `autoGenerate` nur mit `Long` oder `Int` verwendet werden kann. Ich habe mehrere Antworten auf Stack Overflow gelesen, aber sie sind auf Englisch und nicht alles ist klar.
Könnt ihr mir bitte sagen, wie man einen autoinkrementierenden Primärschlüssel in Room richtig macht? Muss ich `Long` anstelle von `Int` verwenden? Oder muss ich eine Annotation hinzufügen?