package com.example.myapplication.DataBase; import android.content.Context; import androidx.annotation.NonNull; import androidx.room.Database; import androidx.room.Room; import androidx.room.RoomDatabase; import androidx.room.migration.Migration; import androidx.sqlite.db.SupportSQLiteDatabase; import com.example.myapplication.model.AudioEntity; import com.example.myapplication.model.ImageEntity; import com.example.myapplication.model.Turbine; @Database(entities = {ImageEntity.class, Turbine.class, AudioEntity.class}, version = 4) // 版本号增加,添加新实体 public abstract class AppDatabase extends RoomDatabase { public abstract ImageDao imageDao(); public abstract TurbineDao turbineDao(); // 添加新的DAO public abstract AudioDao AudioDao(); private static volatile AppDatabase INSTANCE; private static final Migration MIGRATION_4_5 = new Migration(4, 5) { @Override public void migrate(@NonNull SupportSQLiteDatabase database) { } }; public static AppDatabase getDatabase(Context context) { if (INSTANCE == null) { synchronized (AppDatabase.class) { if (INSTANCE == null) { INSTANCE = Room.databaseBuilder(context.getApplicationContext(), AppDatabase.class, "app_database") .fallbackToDestructiveMigration() // 简单处理,正式项目应该实现Migration .build(); } } } return INSTANCE; } }