0
votes

Faire une salle Dao classe implémenter une autre interface

J'ai une couche de domaine et une couche de données. Est-il possible de faire cela?

Domaine : user.java userdao.java

Données : userRoRomentity.java userroomdao.java

Je veux que toutes mes sources de données implémentent le userDao . Lorsque je fais userroomdao implémente userDao interface I Devez des erreurs que je devrais annoter le userdao.java fonction avec @insert et le reste des annotations de la pièce. Est-il possible de le faire avec la chambre? xxx xxx

i obtenir cette erreur dans le userDao .

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


3 commentaires

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.


3 Réponses :


0
votes

vous devriez faire userroomdao Classe abstrait et la marque Les méthodes dans userDao abstrait so fournir les implémentations pour eux.


1 commentaires

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



0
votes

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();
}


0 commentaires

0
votes

vous manquez @Dao Anotation dans votre userDao classe. Vous avez également manqué abstrait mot-clé. Si complet exemple comme: xxx

et modifier l'interface en classe. ( Vous pouvez garder à la fois utilisateurDao et userroomdao comme interface ) xxx

suggestion: Créez générique dao classe afin que d'autres autres DAO puissent l'utiliser. Comme: xxx

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.


0 commentaires