J'ai une couche de domaine et une couche de données. Est-il possible de faire cela?
Domaine strong>: Données STRUT>: Je veux que toutes mes sources de données implémentent le i obtenir cette erreur dans le Erreur: une méthode abstrait DAO doit être annotée avec un seul et un seul
des annotations suivantes: Insérer, Supprimer, Query, Mise à jour, RawQuery P>
blockQuote> p> user.java code>
userdao.java code> p>
userRoRomentity.java code>
userroomdao.java code> p>
userDao code>. Lorsque je fais
userroomdao code> implémente
userDao code> interface I Devez des erreurs que je devrais annoter le
userdao.java code> fonction avec
@insert code> et le reste des annotations de la pièce. Est-il possible de le faire avec la chambre? P>
userDao code>. P >
3 Réponses :
vous devriez faire userroomdao code> Classe
abstrait code> et la marque Les méthodes dans
userDao code>
abstrait code> so fournir les implémentations pour eux. P>
J'ai fait ça. L'UserDao est une interface et la salle d'utilisateur est une classe abstraite. Mais je reçois cette erreur lorsque je mettant en œuvre l'utilisateurDao dans userroomdao. Erreur: une méthode abstraite DAO doit être annotée avec une seule et une seule des annotations suivantes: Insérer, Supprimer, Query, Mise à jour, RawQuery
J'explanie l'UserDao avec une interface userroomDao et remplacer les méthodes. Cela fonctionne pour moi.
@Database(entities = {User.class}, version = 1) public abstract class UsersDatabase extends RoomDatabase { public abstract UserRoomDao userRoomDao(); }
vous manquez @Dao Anotation dans votre et modifier l'interface en classe. ( Vous pouvez garder à la fois utilisateurDao et userroomdao comme interface forte>) p> suggestion: strong>
Créez générique Vous pouvez maintenant utiliser ce Generic DAO dans vos autres DAO afin d'insérer ou de mettre à jour (travail générique) sera couvert par Generic DAO non nécessaire pour mettre en œuvre la même méthode encore. p> p> userDao code> classe. Vous avez également manqué
abstrait code> mot-clé. Si complet exemple comme:
dao code> classe afin que d'autres autres DAO puissent l'utiliser. Comme: p>
Pourriez-vous s'il vous plaît fournir un code?
S'il vous plaît donner un certain code de ce que vous voulez réaliser, même si cela ne fonctionne pas, montre simplement ce que vous voulez réaliser
J'ai ajouté le code.