From 040f1aba13b179ff318366680a6346af7fd97795 Mon Sep 17 00:00:00 2001 From: zuoxiao <470321431@qq.com> Date: 星期五, 11 四月 2025 16:11:23 +0800 Subject: [PATCH] feat(generallibrary): 新增补卡功能并优化底部导航栏 --- 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