左晓为主开发手持机充值管理机
zuoxiao
2024-05-09 b8f8323cc39091d3119101923251a0455da87f55
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
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;
 
    }
 
 
}