Когда я собрал этот код, он показал ошибку сборки:
DatabaseManager_Impl не является абстрактным и не переопределяет абстрактный
Метод clearAllTables () в RoomDatabase.
build.gradle:
implementation 'android.arch.persistence.room:runtime:1.0.0'
kapt 'android.arch.persistence.room:compiler:1.0.0'
implementation 'android.arch.persistence.room:rxjava2:1.0.0'
implementation 'android.arch.persistence.room:guava:1.1.0-beta3'
Реализация базы данных в соответствии с указаниями Room:
@Database(entities = {Task.class}, version = 1)
public abstract class DatabaseManager extends RoomDatabase {
private static final String DATABASE =
Iterables.getLast(Splitter.on(".").trimResults().split(BuildConfig.APPLICATION_ID)).concat("-db");
private static volatile DatabaseManager instance;
public abstract TaskDao taskDao();
synchronized public static DatabaseManager onInstance(Context context) {
if (instance == null) {
instance = newInstance(context, false);
}
return instance;
}
public static DatabaseManager newInstance(Context context, boolean memoryOnly) {
RoomDatabase.Builder<DatabaseManager> builder;
if (memoryOnly) {
builder = Room.inMemoryDatabaseBuilder(context.getApplicationContext(), DatabaseManager.class);
} else {
builder = Room.databaseBuilder(context.getApplicationContext(), DatabaseManager.class, DATABASE);
}
return builder.fallbackToDestructiveMigration().build();
}
}