Как Room может сгенерировать класс с тем же именем, что и мой класс RoomDatabase? - PullRequest
0 голосов
/ 06 сентября 2018

Чтобы использовать Room, мы создаем абстрактный класс, который расширяет RoomDatabase, и используем строитель для получения его экземпляра.

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

  private static NoteDatabase instance;

  public abstract NoteDao noteDao();

  public static synchronized NoteDatabase getInstance(Context context) {
      if (instance == null) {
          instance = Room.databaseBuilder(context.getApplicationContext(),
                  NoteDatabase.class, "note_database")
                  .fallbackToDestructiveMigration()
                  .addCallback(roomCallback)
                  .build();
      }
      return instance;
  }

Я понимаю, что Room генерирует реализацию для этого класса, но как я могу получить экземпляр NoteDatabase, если он объявлен абстрактным? Разве это не должно иметь другое имя?

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