From 14b15539a8fbbce1145197993e0c062400174ef1 Mon Sep 17 00:00:00 2001
From: zuoxiao <lf_zuo@163.com>
Date: 星期四, 26 六月 2025 16:51:12 +0800
Subject: [PATCH] docs(baselibrary): 更新 NativeNfcReadHelper 类文档
---
generallibrary/src/main/java/com/dayu/general/dao/BaseDaoSingleton.kt | 109 ++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 76 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..cb56c7a 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,87 @@
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 璇彞
+ }
+ }
+
+ // 鏁版嵁搴撹縼绉荤瓥鐣ワ細浠庣増鏈�4杩佺Щ鍒扮増鏈�5
+ private val MIGRATION_4_5 = object : Migration(4, 5) {
+ override fun migrate(database: SupportSQLiteDatabase) {
+ // 鍒涘缓绠$悊鍗¤〃
+ database.execSQL("""
+ CREATE TABLE IF NOT EXISTS `manager_card` (
+ `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+ `cardAddress` TEXT NOT NULL,
+ `orderId` TEXT NOT NULL,
+ `isReported` INTEGER NOT NULL DEFAULT 0,
+ `isCardWritten` INTEGER NOT NULL DEFAULT 0,
+ `operatorId` TEXT NOT NULL DEFAULT '',
+ `createTime` INTEGER NOT NULL
+ )
+ """.trimIndent())
+ }
+ }
+
+ fun getInstance(context: Context): AppDataBase {
+ if (baseDao == null) {
+ baseDao = Room.databaseBuilder<AppDataBase>(
+ context,
+ AppDataBase::class.java,
+ SqlitePath + "ConfigurationData_generalV1"
+ ).allowMainThreadQueries()
+ .addMigrations(MIGRATION_3_4, MIGRATION_4_5) // 娣诲姞杩佺Щ绛栫暐
+ .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, MIGRATION_4_5) // 娣诲姞杩佺Щ绛栫暐
+ .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