Lorsque j'essaie d'implémenter une base de données de pièces, j'obtiens le message d'erreur suivant:
Java.lang.RuntimeException: cannot find implementation for com.udacity.gradle.builditbigger.Database.HilarityUserDatabase. HilarityUserDatabase_Impl does not exist
at Android.Arch.persistence.room.Room.getGeneratedImplementation(Room.Java:92)
J'ai essayé d'ajouter les dépendances kotlin appropriées à mon fichier gradle (illustré ci-dessous), mais toutes les classes Databinding qui seraient normalement générées avec n'importe quel problème généraient maintenant des erreurs dans ma console Gradle. Est-il possible pour moi d'utiliser la bibliothèque DataBinding et la bibliothèque Room Pesistence?
apply plugin: 'kotlin-Android'
apply plugin: 'kotlin-Android-extensions'
apply plugin: 'kotlin-kapt'
...
dependencies{
kapt "Android.Arch.persistence.room:compiler:1.0.0"
}
Cela m'est déjà arrivé auparavant, assurez-vous que vous avez tous les 3 dépendances dans build.gradle
implementation 'Android.Arch.persistence.room:runtime:1.0.0'
annotationProcessor 'Android.Arch.persistence.room:compiler:1.0.0'
kapt 'Android.Arch.persistence.room:compiler:1.0.0'
En outre, un "Project Clean" après la synchronisation progressive aidera également.
Assurez-vous que kotlin-kapt est inclus dans le fichier Gradle au niveau de l'application.
apply plugin: 'kotlin-Android'
apply plugin: 'kotlin-Android-extensions'
apply plugin: 'kotlin-kapt'
et assurez-vous d’utiliser kapt au lieu de annotationProcessor . Cela a résolu mon problème.
Et vérifiez également les fichiers Room Model, DAO et Database des annotations @Entity, @Dao et @Database.
Pour utiliser Room, LiveData et ViewModel, vous avez besoin de ces bibliothèques:
•implementation "Android.Arch.persistence.room:runtime:1.0.0"
•implementation "Android.Arch.lifecycle:extensions:1.1.0"
•kapt "Android.Arch.persistence.room:compiler:1.0.0"
•kapt "Android.Arch.lifecycle:compiler:1.1.0"
LiveData et ViewModel vous permettent d'utiliser la technique DataBinding.
Pour plus d'informations, consultez la page officielle: https://developer.Android.com/topic/libraries/architecture/adding-components.html