Однако я создаю приложение для инструментов
Я получаю эту ошибку при попытке создать проект на основе базы данных Room
java.lang.IllegalArgumentException: @androidx.room.Database does not define an element autoMigrations()
Здесь соответствующие настройки
build.gradle (Модуль:приложение)
compileSdk 34
def room_version = "2.6.1"
implementation libs.room.runtime
annotationProcessor "androidx.room:room-compiler:$room_version"
versionCode 1
versionName "1.0"
Я везде искал, гуглил, Stack Overflowed, но безрезультатно. ПОЖАЛУЙСТА, помогите
@Database(entities = {ToolList.class, Tools.class}, version = 1)
public abstract class RoomToolDatabase extends RoomDatabase
{
public abstract ToolListDAO toolListDAO();
public abstract ToolDAO toolDAO();
private static volatile RoomToolDatabase INSTANCE;
private static final int NUMBER_OF_THREADS = 4;
static final ExecutorService databaseWriteExecutor =
Executors.newFixedThreadPool( NUMBER_OF_THREADS );
static RoomToolDatabase getDatabase( final Context context )
{
if( INSTANCE == null )
{
synchronized( RoomToolDatabase.class )
{
if( INSTANCE == null )
{
INSTANCE = Room.databaseBuilder( context.getApplicationContext(),
RoomToolDatabase.class, "tool_list.db")
.addCallback( callback )
.build();
}
}
}
return INSTANCE;
}
/////////////////////////////////////////////////////////////////////////////////////
private static final Callback callback = new Callback()
{
@Override
public void onCreate( @NonNull SupportSQLiteDatabase db )
{
super.onCreate( db );
databaseWriteExecutor.execute( () ->
{
// Populate the database in the background.
} );
}
};
}
Подробнее здесь: https://stackoverflow.com/questions/788 ... -exception