Android Room: стандартные коды - PullRequest
0 голосов
/ 23 апреля 2019

Мы работаем над новым приложением для Android и решили использовать Android Room. Но есть кое-что, чего я не понимаю.

  1. В учебнике Google они создают базу данных следующим образом:

    @Database(entities = {Word.class}, version = 1) public abstract class WordRoomDatabase extends RoomDatabase { public abstract WordDao wordDao(); }

На самом деле у нас есть сотни сущностей, так что это значит, что я должен включить каждую аннотацию в аннотацию? Есть ли лучший способ включить их автоматически?

  1. Также в уроке Google мы получаем дао, подобный этому:

    WordRepository(Application application) { WordRoomDatabase db = WordRoomDatabase.getDatabase(application); mWordDao = db.wordDao(); mAllWords = mWordDao.getAllWords(); }

Это потому, что они сделали это:

@Database(entities = {Word.class}, version = 1)
public abstract class WordRoomDatabase extends RoomDatabase {

   public abstract WordDao wordDao();

   private static volatile WordRoomDatabase INSTANCE;

   static WordRoomDatabase getDatabase(final Context context) {
...

Тот же вопрос здесь, чтобы получить wordDao, мне нужно объявить абстрактный метод в WordRoomDatabase, представьте, у меня есть сотни сущностей (так сотни DAO)? Есть ли способ получить напрямую дао из БД без объявления?

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...