Чтобы использовать 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
, если он объявлен абстрактным? Разве это не должно иметь другое имя?