From 2a5a3163dd5ededc798248e61915e0cd4dcdb2e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8C=85=E5=B0=94=E4=BF=8A?= Date: Wed, 21 Jan 2026 15:26:59 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=BA=93=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E6=95=85=E9=9A=9C=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Notesmaster/.idea/.name | 1 + src/Notesmaster/.idea/vcs.xml | 1 + src/Notesmaster/app/.project | 28 +++++++ src/Notesmaster/app/build.gradle.kts | 6 +- .../notes/data/NotesDatabaseHelper.java | 77 +++++++++++-------- 5 files changed, 79 insertions(+), 34 deletions(-) create mode 100644 src/Notesmaster/.idea/.name create mode 100644 src/Notesmaster/app/.project diff --git a/src/Notesmaster/.idea/.name b/src/Notesmaster/.idea/.name new file mode 100644 index 0000000..7efc0ae --- /dev/null +++ b/src/Notesmaster/.idea/.name @@ -0,0 +1 @@ +Notes-master \ No newline at end of file diff --git a/src/Notesmaster/.idea/vcs.xml b/src/Notesmaster/.idea/vcs.xml index 94a25f7..fdf1fc8 100644 --- a/src/Notesmaster/.idea/vcs.xml +++ b/src/Notesmaster/.idea/vcs.xml @@ -1,6 +1,7 @@ + \ No newline at end of file diff --git a/src/Notesmaster/app/.project b/src/Notesmaster/app/.project new file mode 100644 index 0000000..b3be08f --- /dev/null +++ b/src/Notesmaster/app/.project @@ -0,0 +1,28 @@ + + + app + Project app created by Buildship. + + + + + org.eclipse.buildship.core.gradleprojectbuilder + + + + + + org.eclipse.buildship.core.gradleprojectnature + + + + 1768961338889 + + 30 + + org.eclipse.core.resources.regexFilterMatcher + node_modules|\.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__ + + + + diff --git a/src/Notesmaster/app/build.gradle.kts b/src/Notesmaster/app/build.gradle.kts index 29cdd19..347ac46 100644 --- a/src/Notesmaster/app/build.gradle.kts +++ b/src/Notesmaster/app/build.gradle.kts @@ -56,9 +56,9 @@ dependencies { // "exclude" to listOf("") // ))) //修改为如下代码: - implementation(files("D:\\college\\studying\\studying\\2025.09\\SE\\android\\client\\lib\\httpclient-osgi-4.5.14.jar")) - implementation(files("D:\\college\\studying\\studying\\2025.09\\SE\\android\\client\\lib\\httpclient-win-4.5.14.jar")) - implementation(files("D:\\college\\studying\\studying\\2025.09\\SE\\android\\client\\lib\\httpcore-4.4.16.jar")) + implementation(files("D:\\ke\\software_enginering\\httpcomponents-client-4.5.14-bin\\lib\\httpclient-osgi-4.5.14.jar")) + implementation(files("D:\\ke\\software_enginering\\httpcomponents-client-4.5.14-bin\\lib\\httpclient-win-4.5.14.jar")) + implementation(files("D:\\ke\\software_enginering\\httpcomponents-client-4.5.14-bin\\lib\\httpcore-4.4.16.jar")) testImplementation(libs.junit) androidTestImplementation(libs.ext.junit) androidTestImplementation(libs.espresso.core) diff --git a/src/Notesmaster/app/src/main/java/net/micode/notes/data/NotesDatabaseHelper.java b/src/Notesmaster/app/src/main/java/net/micode/notes/data/NotesDatabaseHelper.java index 5b334bc..8a516c8 100644 --- a/src/Notesmaster/app/src/main/java/net/micode/notes/data/NotesDatabaseHelper.java +++ b/src/Notesmaster/app/src/main/java/net/micode/notes/data/NotesDatabaseHelper.java @@ -511,36 +511,51 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper { boolean reCreateTriggers = false; boolean skipV2 = false; - // 从V1升级到V2(包括V2到V3) - if (oldVersion == 1) { - upgradeToV2(db); - skipV2 = true; // this upgrade including the upgrade from v2 to v3 - oldVersion++; - } - - // 从V2升级到V3 - if (oldVersion == 2 && !skipV2) { - upgradeToV3(db); - reCreateTriggers = true; - oldVersion++; - } - - // 从V3升级到V4 - if (oldVersion == 3) { - upgradeToV4(db); - oldVersion++; - } - - // 从V4升级到V5 - if (oldVersion == 4) { - upgradeToV5(db); - oldVersion++; - } - - // 从V5升级到V6 - if (oldVersion == 5) { - upgradeToV6(db); - oldVersion++; + // 使用 while 循环逐步升级到目标版本 + while (oldVersion < newVersion) { + switch (oldVersion) { + case 1: + // 从V1升级到V2(包括V2到V3) + upgradeToV2(db); + skipV2 = true; + oldVersion = 2; + break; + + case 2: + // 从V2升级到V3(如果未被V2升级包含) + if (!skipV2) { + upgradeToV3(db); + reCreateTriggers = true; + } + oldVersion = 3; + break; + + case 3: + // 从V3升级到V4 + upgradeToV4(db); + oldVersion = 4; + break; + + case 4: + // 从V4升级到V5 + upgradeToV5(db); + oldVersion = 5; + break; + + case 5: + // 从V5升级到V6(仅在需要时) + if (newVersion > 5) { + upgradeToV6(db); + } + oldVersion = 6; + break; + + default: + // 如果遇到未知版本,直接跳到目标版本 + Log.w(TAG, "Unknown database version: " + oldVersion + ", skipping to " + newVersion); + oldVersion = newVersion; + break; + } } // 如果需要,重新创建触发器 @@ -552,7 +567,7 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper { // 检查升级是否成功 if (oldVersion != newVersion) { throw new IllegalStateException("Upgrade notes database to version " + newVersion - + "fails"); + + " fails. Current version: " + oldVersion); } } -- 2.34.1