From d773ab0295feba24ae4fc14f61e8aa310e40f4ba Mon Sep 17 00:00:00 2001
From: zuojincheng <lf_zuo@163.com>
Date: 星期五, 06 六月 2025 16:55:57 +0800
Subject: [PATCH] refactor(nfc): 优化写卡流程和状态更新
---
generallibrary/src/main/java/com/dayu/general/dao/BaseDaoSingleton.kt | 37 +++++++++++++++++++++++++++++--------
1 files changed, 29 insertions(+), 8 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 9ed72b7..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,7 +3,8 @@
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 {
@@ -14,6 +15,15 @@
@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>(
@@ -24,15 +34,26 @@
}
return baseDao as AppDataBase
}
- fun getAsynchInstance(context: Context?): AppDataBase? {
+ fun getAsynchInstance(context: Context): AppDataBase {
if (AsynchBaseDao == null) {
- AsynchBaseDao = Room.databaseBuilder<AppDataBase>(
- context!!,
- AppDataBase::class.java,
- SqlitePath + "ConfigurationData_generalV1"
- ).build()
+ synchronized(this) {
+ if (AsynchBaseDao == null) {
+ AsynchBaseDao = Room.databaseBuilder(
+ context.applicationContext,
+ AppDataBase::class.java,
+ "GeneralLibrary.db"
+ )
+ .addMigrations(MIGRATION_3_4) // 娣诲姞杩佺Щ绛栫暐
+ .build()
+ }
+ }
}
- return AsynchBaseDao
+ return AsynchBaseDao as AppDataBase
+ }
+
+ // 閿�姣佹暟鎹簱瀹炰緥
+ fun destroyInstance() {
+ AsynchBaseDao = null
}
}
--
Gitblit v1.8.0