Avatar ·

Comment rendre une clé primaire auto-incrémentée dans Room (Android/Kotlin) ?

Bonjour à tous ! Je suis un développeur Android débutant en Kotlin et j'essaie de comprendre la bibliothèque Room. J'ai une entité (Entity) pour stocker des notes. Je veux que le champ id s'incrémente automatiquement lors de l'insertion d'un nouvel enregistrement, comme dans les bases de données SQLite classiques avec `AUTOINCREMENT`. Mais je n'y arrive pas. Voici mon code : ```kotlin @Entity(tableName = "notes") data class Note( @PrimaryKey val id: Int = 0, val title: String, val content: String ) ``` Quand j'insère une nouvelle note via DAO, je spécifie id = 0, mais Room renvoie une erreur indiquant que cet id existe déjà (ou un conflit). J'ai essayé de mettre `autoGenerate = true`, mais le compilateur se plaint que `autoGenerate` ne peut être utilisé qu'avec `Long` ou `Int`. J'ai lu plusieurs réponses sur Stack Overflow, mais elles sont en anglais et je ne comprends pas tout. Pouvez-vous me dire comment faire correctement une clé primaire auto-incrémentée dans Room ? Dois-je utiliser `Long` au lieu de `Int` ? Ou dois-je ajouter une annotation ?