AndroidApp/AppDatabase.java

45 lines
1.6 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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;
}
}