Sqlite
androidx.sqlite
程式庫包含抽象介面和基本實作,可用來建構您的資料庫來存取 SQLite。
建議您考慮使用 Room 程式庫,原因在於該程式庫透過 SQLite 提供抽象層,可提升資料庫存取的穩固性,並同時充分利用 SQLite 的強大功能。
最近更新時間 | 穩定版 | 候選版 | Beta 版 | Alpha 版 |
---|---|---|---|---|
2023 年 1 月 11 日 | 2.3.0 | - | - | - |
宣告依附元件
如要新增 SQLite 的依附元件,您必須在專案中新增 Google Maven 存放區。詳情請參閱 Google 的 Maven 存放區。
在應用程式或模組的 build.gradle
檔案中,新增所需構件的依附元件:
Groovy
dependencies { def sqlite_version = "2.3.0" // Java language implementation implementation "androidx.sqlite:sqlite:$sqlite_version" // Kotlin implementation "androidx.sqlite:sqlite-ktx:$sqlite_version" // Implementation of the AndroidX SQLite interfaces via the Android framework APIs. implementation "androidx.sqlite:sqlite-framework:$sqlite_version" }
Kotlin
dependencies { val sqlite_version = "2.3.0" // Java language implementation implementation("androidx.sqlite:sqlite:$sqlite_version") // Kotlin implementation("androidx.sqlite:sqlite-ktx:$sqlite_version") // Implementation of the AndroidX SQLite interfaces via the Android framework APIs. implementation("androidx.sqlite:sqlite-framework:$sqlite_version") }
如要進一步瞭解依附元件,請參閱「新增建構依附元件」一文。
意見回饋
您的意見可協助我們改善 Jetpack。如果您發現新問題,或是有改進這個程式庫的建議,請告訴我們。回報新問題前,請先查看這個程式庫的現有問題。只要按一下星號按鈕,即可投票給現有問題。
詳情請參閱 Issue Tracker 說明文件。
2.3.0 版本
2.3.0 版本
2023 年 1 月 11 日
發布 androidx.sqlite:sqlite:2.3.0
、androidx.sqlite:sqlite-framework:2.3.0
和 androidx.sqlite:sqlite-ktx:2.3.0
。2.3.0 版本包含這些修訂項目。
自 2.2.0 版本以來的重要變更
- 程式庫群組
androidx.sqlite
來源已從 Java 轉換為 Kotlin。請注意,由於androidx.sqlite
缺少某些是否可為空值的註解,因此如果來源位於 Kotlin,且程式碼對是否可為空值的推論錯誤,您可能會遇到來源不相容的錯誤。此外,某些 getter 方法會轉換成需要在 Kotlin 檔案上具有屬性存取語法的屬性。如果發生任何不相容的問題,請回報錯誤。(b/240707042) - 在
SupportSQLite's
設定中新增 API,允許資料在復原機制過程中遺失。(I1b830、b/215592732) - 在
FrameworkSQLite*
層級新增用來鎖定並使用多元處理程序的 API,這樣在首度同時建立及遷移資料庫時,可以避免發生多元處理程序競爭狀況。(Ied267、b/193182592)
2.3.0-rc01 版本
2022 年 12 月 7 日
發布 androidx.sqlite:sqlite:2.3.0-rc01
、androidx.sqlite:sqlite-framework:2.3.0-rc01
和 androidx.sqlite:sqlite-ktx:2.3.0-rc01
。查看 2.3.0-rc01 版的修訂項。
修正錯誤
- 解決可為空值資料欄的
SupportSQLiteQueryBuilder
相關 NPE 問題。(Ica8f5)
2.3.0-beta02 版本
2022 年 11 月 9 日
發布 androidx.sqlite:sqlite:2.3.0-beta02
、androidx.sqlite:sqlite-framework:2.3.0-beta02
和 androidx.sqlite:sqlite-ktx:2.3.0-beta02
。2.3.0-beta02 版包含以下修訂項目。
- 修正將查詢引數從不變 (
Array<Any?>
) 擷取到逆變 (Array<out Any?>
) 的各種 API,以符合 Java 的陣列行為。(b/253531073)
2.3.0-beta01 版本
2022 年 10 月 5 日
發布 androidx.sqlite:sqlite:2.3.0-beta01
、androidx.sqlite:sqlite-framework:2.3.0-beta01
和 androidx.sqlite:sqlite-ktx:2.3.0-beta01
。查看 2.3.0-beta01 版的修訂項。
API 變更
- 所有的 android.sqlite 來源都已從 Java 轉換為 Kotlin。(b/240707042)
- 轉換作業的一項顯著變化是下列 getter 函式已成為屬性:
- 在
SupportSQLiteDatabase
中: attachedDbs
isDatabaseIntegrityOk
isDbLockedByCurrentThread
isOpen
isReadOnly
isWriteAheadLoggingEnabled
maximumSize
pageSize
path
version
- 在
SupportSQLiteOpenHelper
中: databaseName
readableDatabase
writableDatabase
- 在
2.3.0-alpha05 版本
2022 年 8 月 24 日
發布 androidx.sqlite:sqlite:2.3.0-alpha05
、androidx.sqlite:sqlite-framework:2.3.0-alpha05
和 androidx.sqlite:sqlite-ktx:2.3.0-alpha05
。查看 2.3.0-alpha05 版的修訂項。
API 變更
- 程式庫群組 androidx.sqlite 來源已從 Java 轉換為 Kotlin。請注意,由於 androidx.sqlite 缺少某些是否可為空值的註解,因此如果來源位於 Kotlin,且程式碼對否可為空值的推論錯誤,您可能會遇到原始碼不相容的錯誤。如果發生任何不相容的問題,請回報錯誤。(b/240707042)
2.3.0-alpha04 版本
2022 年 8 月 10 日
發布 androidx.sqlite:sqlite:2.3.0-alpha04
、androidx.sqlite:sqlite-framework:2.3.0-alpha04
和 androidx.sqlite:sqlite-ktx:2.3.0-alpha04
。查看 2.3.0-alpha04 版的修訂項。
API 變更
- 更新是否可為空值 (I29fbd)
2.3.0-alpha03 版本
2022 年 6 月 1 日
發布 androidx.sqlite:sqlite:2.3.0-alpha03
、androidx.sqlite:sqlite-framework:2.3.0-alpha03
和 androidx.sqlite:sqlite-ktx:2.3.0-alpha03
。查看 2.3.0-alpha03 版的修訂項。
API 變更
- 將
androidx.sqlite.ProcessLock
設為受限。API 作用範圍已設定並限制為在androidx.sqlite
內的功能,不應用作一般用途的多行程鎖定。(I1643f)
2.3.0-alpha02 版
2022 年 4 月 6 日
釋出 androidx.sqlite:sqlite:2.3.0-alpha02
、androidx.sqlite:sqlite-framework:2.3.0-alpha02
和 androidx.sqlite:sqlite-ktx:2.3.0-alpha02
。瞭解 2.3.0-alpha02 版包含哪些修訂版本。
- 自 2.3.0-alpha01 版以來皆無重大異動
2.3.0-alpha01 版
2022 年 2 月 23 日
釋出 androidx.sqlite:sqlite:2.3.0-alpha01
、androidx.sqlite:sqlite-framework:2.3.0-alpha01
和 androidx.sqlite:sqlite-ktx:2.3.0-alpha01
。查看 2.3.0-alpha01 版的修訂項。
API 變更
- 在 SupportSQLite 的設定中新增 API,允許在復原機制過程的資料遺失。(I1b830、b/215592732)
- 在 FrameworkSQLite* 層級新增用於鎖定及使用多程序的 API,以保護首次建立及遷移資料庫的多程序工作。(Ied267、b/193182592)。
2.2.0 版本
2.2.0 版本
2021 年 12 月 15 日
已釋出 androidx.sqlite:sqlite:2.2.0
、androidx.sqlite:sqlite-framework:2.2.0
和 androidx.sqlite:sqlite-ktx:2.2.0
。2.2.0 版包含這些修訂版本。
自 2.1.0 版以來的重要異動
新增 SupportSQLiteDatabase
中 execPerConnectionSQL()
的預設方法。
2.2.0-rc01 版本
2021 年 12 月 1 日
釋出 androidx.sqlite:sqlite:2.2.0-rc01
、androidx.sqlite:sqlite-framework:2.2.0-rc01
和 androidx.sqlite:sqlite-ktx:2.2.0-rc01
。版本 2.2.0-rc01 包含這些修訂版本。
自 2.2.0-beta01 起沒有重大異動。
2.2.0-beta01 版本
2021 年 10 月 13 日
釋出 androidx.sqlite:sqlite:2.2.0-beta01
、androidx.sqlite:sqlite-framework:2.2.0-beta01
和 androidx.sqlite:sqlite-ktx:2.2.0-beta01
。2.2.0-beta01 版本包含這些修訂版本。
- 自前一個 Alpha 版起沒有任何異動。
2.2.0-alpha02 版本
2021 年 7 月 21 日
釋出 androidx.sqlite:sqlite:2.2.0-alpha02
、androidx.sqlite:sqlite-framework:2.2.0-alpha02
和 androidx.sqlite:sqlite-ktx:2.2.0-alpha02
。2.2.0-alpha02 版本包含這些修訂版本。
自 2.2.0-alpha01 起沒有重大異動。此版本只是搭配 Room 2.4.0-alpha04
版本發布。
2.2.0-alpha01 版本
2021 年 6 月 16 日
釋出 androidx.sqlite:sqlite:2.2.0-alpha01
、androidx.sqlite:sqlite-framework:2.2.0-alpha01
和 androidx.sqlite:sqlite-ktx:2.2.0-alpha01
。2.2.0-alpha01 版本包含這些修訂版本。
API 變更
- 在 SupportSQLiteDatabase 中新增
execPerConnectionSQL()
的預設方法 (I86326、b/172270145)
2.1.0 版本
2.1.0 版本
2020 年 1 月 22 日
發布 androidx.sqlite:sqlite:2.1.0
androidx.sqlite:sqlite-framework:2.1.0
和 androidx.sqlite:sqlite-ktx:2.1.0
,且自 2.1.0-rc01
版本以來皆無異動。2.1.0 版本包含這些修訂版本。
自 2.0.1 版本起的重要異動
- 支援
useNoBackupDirectory
,表示使用SupportSQLiteOpenHelper
時,資料庫必須建立在無備份目錄。
2.1.0-rc01 版本
2020 年 1 月 8 日
已釋出 androidx.sqlite:sqlite-*:2.1.0-rc01
。2.1.0-rc01 版包含這些修訂版本。
這個版本與 2.1.0-beta01
相同。
2.1.0-beta01 版本
2019 年 12 月 4 日
發布 androidx.sqlite:sqlite:2.1.0-beta01
、androidx.sqlite:sqlite-framework:2.1.0-beta01
和 androidx.sqlite:sqlite-ktx:2.1.0-beta01
,且自 2.1.0-alpha01
版本以來皆無異動。2.1.0-beta01 版本包含這些修訂版本。
2.1.0-alpha01 版本
2019 年 11 月 7 日
釋出 androidx.sqlite:sqlite:2.1.0-alpha01
、androidx.sqlite:sqlite-framework:2.1.0-alpha01
和 androidx.sqlite:sqlite-ktx:2.1.0-alpha01
。2.1.0-alpha01 版本包含這些修訂版本。
API 變更
- 已將新屬性新增至
SupportSQLiteOpenHelper.Configuration
並命名為useNoBackupDirectory
,表示必須建立檔案型資料庫,且位置不是無備份目錄。
2.0.1 版本
2.0.1 版本
2019 年 3 月 13 日
發布 androidx.sqlite
構件群組的 2.0.1 版本,其中修正兩個錯誤。
修正錯誤
- 修正了
FrameworkSQLiteOpenHelper
在初始化期間無法正確地從資料庫毀損或遷移無效錯誤中復原的兩個問題。(b/111504749 及 b/111519144)