package com.dayu.henanlibrary.dao; import android.content.Context; import android.os.Environment; import androidx.annotation.NonNull; import androidx.room.Room; import androidx.room.migration.Migration; import androidx.sqlite.db.SupportSQLiteDatabase; import java.io.File; /** * Copyright (C), 2023, * Author: zuo * Date: 2023-11-06 16:58 * Description: 创建数据库实例 */ public class HNBaseDaoSingleton { public static AppDatabase baseDao; public static AppDatabase AsynchBaseDao; public static String SqlitePath = Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + ".dayu" + File.separator + "data" + File.separator; //MyFileUtil.SqlitePath + public static AppDatabase getInstance(Context context) { if (baseDao == null) { baseDao = Room.databaseBuilder( context, AppDatabase.class, SqlitePath + "ConfigurationData" ).allowMainThreadQueries().addMigrations(migration_2_3).build(); } return baseDao; } static Migration migration_2_3 = new Migration(2, 3) { @Override public void migrate(@NonNull SupportSQLiteDatabase database) { // 在此处编写从版本 2 到版本 3 的迁移逻辑 // 例如,你可以执行 SQL 命令来修改表结构,迁移数据等操作 // 如果需要,你还可以执行其他的 SQL 命令来迁移数据等操作 } }; public static AppDatabase getAsynchInstance(Context context) { if (AsynchBaseDao == null) { AsynchBaseDao = Room.databaseBuilder( context, AppDatabase.class, SqlitePath + "ConfigurationData" ).build(); } return AsynchBaseDao; } }