From 167eea1eeb0d02be0e4372ba787ddde11219de1e Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期三, 11 六月 2025 10:24:55 +0800
Subject: [PATCH] feat(generallibrary): 新增写卡成功页面并优化开卡流程
---
generallibrary/src/main/java/com/dayu/general/dao/BaseDaoSingleton.kt | 89 ++++++++++++++++++++++++++++----------------
1 files changed, 56 insertions(+), 33 deletions(-)
diff --git a/generallibrary/src/main/java/com/dayu/general/dao/BaseDaoSingleton.kt b/generallibrary/src/main/java/com/dayu/general/dao/BaseDaoSingleton.kt
index 610bcdc..a58d63f 100644
--- a/generallibrary/src/main/java/com/dayu/general/dao/BaseDaoSingleton.kt
+++ b/generallibrary/src/main/java/com/dayu/general/dao/BaseDaoSingleton.kt
@@ -3,44 +3,67 @@
import android.content.Context
import android.os.Environment
import androidx.room.Room
-import com.dayu.general.activity.BaseActivity
+import androidx.room.migration.Migration
+import androidx.sqlite.db.SupportSQLiteDatabase
import java.io.File
class BaseDaoSingleton {
- var baseDao: AppDataBase? = null
-
- var AsynchBaseDao: AppDataBase? = null
-
- var SqlitePath: String =
- Environment.getExternalStorageDirectory().absolutePath + File.separator + ".dayu" + File.separator + "data" + File.separator
-
- //MyFileUtil.SqlitePath +
- fun getInstance(context: Context?): AppDataBase? {
- if (baseDao == null) {
- baseDao = Room.databaseBuilder<AppDataBase>(
- context!!,
- AppDataBase::class.java,
- SqlitePath + "ConfigurationData_generalV1"
- ).allowMainThreadQueries().build()
- }
- return baseDao
- }
-
- fun getAsynchInstance(context: Context?): AppDataBase? {
- if (AsynchBaseDao == null) {
- AsynchBaseDao = Room.databaseBuilder<AppDataBase>(
- context!!,
- AppDataBase::class.java,
- SqlitePath + "ConfigurationData_generalV1"
- ).build()
- }
- return AsynchBaseDao
- }
-
companion object {
- fun getAsynchInstance(baseActivity: BaseActivity): AppDataBase? {
- return getAsynchInstance(baseActivity)
+ var baseDao: AppDataBase? = null
+ var AsynchBaseDao: AppDataBase? = null
+ @JvmField
+ val SqlitePath: String =
+ Environment.getExternalStorageDirectory().absolutePath + File.separator + ".dayu" + File.separator + "data" + File.separator
+
+ // 鏁版嵁搴撹縼绉荤瓥鐣ワ細浠庣増鏈�3杩佺Щ鍒扮増鏈�4
+ private val MIGRATION_3_4 = object : Migration(3, 4) {
+ override fun migrate(database: SupportSQLiteDatabase) {
+ // 杩欓噷涓嶉渶瑕佸疄闄呯殑鏁版嵁搴撶粨鏋勪慨鏀癸紝鍥犱负鎴戜滑鍙槸鏇存柊浜哛oom鐗堟湰
+ // 濡傛灉闇�瑕佷慨鏀规暟鎹簱缁撴瀯锛屽彲浠ュ湪杩欓噷娣诲姞 ALTER TABLE 璇彞
+ }
+ }
+
+ fun getInstance(context: Context): AppDataBase {
+ if (baseDao == null) {
+ baseDao = Room.databaseBuilder<AppDataBase>(
+ context,
+ AppDataBase::class.java,
+ SqlitePath + "ConfigurationData_generalV1"
+ ).allowMainThreadQueries().build()
+ }
+ return baseDao as AppDataBase
+ }
+ fun getAsynchInstance(context: Context): AppDataBase {
+ if (AsynchBaseDao == null) {
+ synchronized(this) {
+ if (AsynchBaseDao == null) {
+ AsynchBaseDao = Room.databaseBuilder(
+ context.applicationContext,
+ AppDataBase::class.java,
+ "GeneralLibrary.db"
+ )
+ .addMigrations(MIGRATION_3_4) // 娣诲姞杩佺Щ绛栫暐
+ .build()
+ }
+ }
+ }
+ return AsynchBaseDao as AppDataBase
+ }
+
+ // 閿�姣佹暟鎹簱瀹炰緥
+ fun destroyInstance() {
+ AsynchBaseDao = null
}
}
+
+
+
+
+
+// companion object {
+// fun getAsynchInstance(baseActivity: BaseActivity): AppDataBase? {
+// return getAsynchInstance(baseActivity)
+// }
+// }
}
\ No newline at end of file
--
Gitblit v1.8.0