Sqlite
androidx.sqlite
-Bibliothek enthält abstrakte Schnittstellen sowie einfache
Implementierungen, mit denen Sie Ihre eigenen Bibliotheken erstellen können,
SQLite.
Sie können die Funktion Room-Bibliothek mit einem Abstraktionsschicht über SQLite für einen stabileren Datenbankzugriff während Sie gleichzeitig die volle Leistung von SQLite nutzen.
Letzte Aktualisierung | Stabile Version | Releasekandidat | Beta-Ausgabe | Alpha-Release |
---|---|---|---|---|
21. August 2024 | 2.4.0 | - | - | 2.5.0-alpha07 |
Abhängigkeiten deklarieren
Um eine Abhängigkeit von SQLite hinzuzufügen, müssen Sie das Maven-Repository von Google zu Ihrem Projekt arbeiten. Maven-Repository von Google lesen .
Fügen Sie der Datei build.gradle
die Abhängigkeiten für die Artefakte hinzu, die Sie benötigen
Ihre App oder Ihr Modul:
Cool
dependencies { def sqlite_version = "2.4.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.4.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") }
Weitere Informationen zu Abhängigkeiten finden Sie unter Build-Abhängigkeiten hinzufügen.
Feedback
Dein Feedback hilft uns, Jetpack zu verbessern. Teilen Sie uns mit, wenn Sie neue Ausgaben entdecken oder zur Verbesserung dieser Bibliothek. In der bestehende Probleme in dieser Bibliothek, bevor Sie eine neue erstellen. So können Sie für ein vorhandenes Problem abstimmen: indem Sie auf die Sternschaltfläche klicken.
Weitere Informationen finden Sie in der Dokumentation zur Problemverfolgung. .
Version 2.5
Version 2.5.0-alpha07
21. August 2024
androidx.sqlite:sqlite-*:2.5.0-alpha07
wurde veröffentlicht. Version 2.5.0-alpha07 enthält diese Commits.
Neue Funktionen
- Unterstützung für Linux ARM 64 in JVM / Desktop-Zielen hinzugefügt. (b/358045505)
Version 2.5.0-alpha06
7. August 2024
androidx.sqlite:sqlite-*:2.5.0-alpha06
wurde veröffentlicht. Version 2.5.0-alpha06 enthält diese Commits.
Neue Funktionen
- Unterstützung für
linuxArm64
Kotlin Multiplatform-Ziel hinzufügen (I139d3, b/338268719)
Version 2.5.0-alpha05
10. Juli 2024
androidx.sqlite:sqlite-*:2.5.0-alpha05
wurde veröffentlicht. Version 2.5.0-alpha05 enthält diese Commits.
API-Änderungen
SQLiteKt
wurde inSQLite
undBundledSQLiteKt
inBundledSQLite
umbenannt. (I8b501)
Version 2.5.0-alpha04
12. Juni 2024
androidx.sqlite:sqlite-*:2.5.0-alpha04
wurde veröffentlicht. Version 2.5.0-alpha04 enthält diese Commits.
API-Änderungen
BundledSQLiteDriver
wurde eineopen()
-Überlast-API hinzugefügt, um beim Öffnen einer Datenbankverbindung offene Flags zu übergeben. Nützlich, um eine Datenbank im Lesemodus zu öffnen oder den abgesicherten Modus des serialisierten Threads anstelle des gebündelten Multithread-Modus zu verwenden, mit dem SQLite kompiliert wurde (b/340949940).
Fehlerkorrekturen
- Es wurde ein Verknüpfungsproblem im gebündelten SQLite-Treiber behoben, bei dem
UnsatisfiedLinkError
auf Android-Geräten mit einem ARM32 aufgrund fehlender atomischer Symbole ausgegeben wurde. (b/341639198) - In den Treibern wurde ein Problem behoben, bei dem die Bindung eines Byte-Arrays der Länge null an eine Spalte beim Lesen aus der Spalte zu einem Nullwert führte.
Version 2.5.0-alpha03
29. Mai 2024
androidx.sqlite:sqlite-*:2.5.0-alpha03
wurde veröffentlicht. Version 2.5.0-alpha03 enthält diese Commits.
Fehlerkorrekturen
- Es wurde ein Problem mit dem
BundledSQLiteDriver
behoben, bei dem damit erstellte Datenbanken das Trennzeichen C-Null enthalten. (b/340822359)
Version 2.5.0-alpha02
14. Mai 2024
androidx.sqlite:sqlite-*:2.5.0-alpha02
wurde ohne wesentliche Änderungen seit 2.5.0-alpha01 veröffentlicht . Version 2.5.0-alpha02 enthält diese Commits.
Version 2.5.0-alpha01
1. Mai 2024
androidx.sqlite:sqlite-*:2.5.0-alpha01
wurde veröffentlicht. Version 2.5.0-alpha01 enthält diese Commits.
Neue Funktionen
- Kotlin Multi-Platform (KMP)-Unterstützung: Mit der Veröffentlichung von Room 2.7.0-alpha01, dem ersten Release von Room KMP, wurden auch die
SQLite
APIs aktualisiert, mit denen Room KMP als KMP verwendet werden kann. Das Paketandriodx.sqlite
enthält drei Schnittstellen, die Low-Level-SQLite-APIs definieren:SQLiteDriver
,SQLiteConnection
undSQLiteStatement
. Das Artefaktandroidx.sqlite:sqlite-framework
bietet eine native Implementierung der Schnittstellen für Android und iOS.androidx.sqlite:sqlite-bundled
hingegen bietet eine Implementierung, dieSQLite
aus dem Quellcode kompiliert (auch als „gebündeltes SQLite“ bezeichnet). Weitere Informationen zur SQLite Driver API finden Sie in der offiziellen SQLite KMP-Dokumentation.
Version 2.4
Version 2.4.0
18. Oktober 2023
androidx.sqlite:sqlite:2.4.0
, androidx.sqlite:sqlite-framework:2.4.0
und androidx.sqlite:sqlite-ktx:2.4.0
wurden veröffentlicht. Version 2.4.0 enthält diese Commits.
Wichtige Änderungen seit Version 2.3.0
- Es wurden verschiedene Fehlerkorrekturen hinzugefügt.
Version 2.4.0-rc01
20. September 2023
androidx.sqlite:sqlite:2.4.0-rc01
, androidx.sqlite:sqlite-framework:2.4.0-rc01
und androidx.sqlite:sqlite-ktx:2.4.0-rc01
wurden veröffentlicht. Version 2.4.0-rc01 enthält diese Commits.
Version 2.4.0-beta01
23. August 2023
androidx.sqlite:sqlite:2.4.0-beta01
, androidx.sqlite:sqlite-framework:2.4.0-beta01
und androidx.sqlite:sqlite-ktx:2.4.0-beta01
wurden veröffentlicht. Version 2.4.0-beta01 enthält diese Commits.
Version 2.4.0-alpha03
9. August 2023
androidx.sqlite:sqlite:2.4.0-alpha03
, androidx.sqlite:sqlite-framework:2.4.0-alpha03
und androidx.sqlite:sqlite-ktx:2.4.0-alpha03
wurden veröffentlicht. Version 2.4.0-alpha03 enthält diese Commits.
Version 2.4.0-alpha02
21. Juni 2023
androidx.sqlite:sqlite:2.4.0-alpha02
, androidx.sqlite:sqlite-framework:2.4.0-alpha02
und androidx.sqlite:sqlite-ktx:2.4.0-alpha02
wurden ohne Änderungen veröffentlicht. Version 2.4.0-alpha02 enthält diese Commits.
Version 2.4.0-alpha01
22. März 2023
androidx.sqlite:sqlite:2.4.0-alpha01
, androidx.sqlite:sqlite-framework:2.4.0-alpha01
und androidx.sqlite:sqlite-ktx:2.4.0-alpha01
wurden veröffentlicht. Version 2.4.0-alpha01 enthält diese Commits.
Fehlerkorrekturen
- Ein
NullPointerException
-Fehler, der inSupportSQLiteQueryBuilder
auftreten konnte, wurde behoben. (5df8698)
Version 2.3.1
Version 2.3.1
22. März 2023
androidx.sqlite:sqlite:2.3.1
, androidx.sqlite:sqlite-framework:2.3.1
und androidx.sqlite:sqlite-ktx:2.3.1
wurden veröffentlicht. Version 2.3.1 enthält diese Commits.
Fehlerkorrekturen
- Vermeiden Sie ein Framework-Problem, bei dem SQL-Abfragen nach einer Schemaänderung während der Migration nicht ungültig wurden.
FrameworkSupportSQLiteOpenHelper
legt jetzt während Migrationen den Mindestcache für SQL-Anweisungen fest, um das Problem zu vermeiden. (0ad2a8f) - Es wurde ein Problem behoben, bei dem das Cache-Verzeichnis möglicherweise nicht für
SupportSQLiteLock
verfügbar war, sodass eine Null-Datei ordnungsgemäß verarbeitet werden muss. (9d177dc) - Es wurde ein Problem behoben, bei dem
attachedDbs
nicht die vollständige Liste der angehängten Datenbanken zurückgegeben hat. (5f008e1)
Version 2.3.0
Version 2.3.0
11. Januar 2023
androidx.sqlite:sqlite:2.3.0
, androidx.sqlite:sqlite-framework:2.3.0
und androidx.sqlite:sqlite-ktx:2.3.0
wurden veröffentlicht. Version 2.3.0 enthält diese Commits.
Wichtige Änderungen seit Version 2.2.0
- Die Quellen der Bibliotheksgruppe
androidx.sqlite
wurden von Java in Kotlin konvertiert. Da inandroidx.sqlite
einige Anmerkungen zur Null-Zulässigkeit fehlen, kann es zu Inkompatibilitätsfehlern kommen, wenn Ihre Quellen in Kotlin geschrieben wurden und der Code die falsche Null-Zulässigkeit abgeleitet hat. Darüber hinaus wurden bestimmte Getter-Methoden in Eigenschaften konvertiert, die die Eigenschaftszugriffssyntax in Kotlin-Dateien erforderten. Bitte melden Sie einen Fehler, wenn wesentliche Inkompatibilitäten vorliegen. (b/240707042) - Fügen Sie in der
SupportSQLite's
-Konfiguration eine API hinzu, um Datenverluste während des Wiederherstellungsmechanismus zu ermöglichen. (I1b830, b/215592732) - Es wurde eine API für die Sperre und Nutzung mehrerer Prozesse auf
FrameworkSQLite*
-Ebene hinzugefügt, um die erstmalige Erstellung und Migration von Multi-Prozess-Datenbanken zu schützen. (Ied267, b/193182592)
Version 2.3.0-rc01
7. Dezember 2022
androidx.sqlite:sqlite:2.3.0-rc01
, androidx.sqlite:sqlite-framework:2.3.0-rc01
und androidx.sqlite:sqlite-ktx:2.3.0-rc01
wurden veröffentlicht. Version 2.3.0-rc01 enthält diese Commits.
Fehlerkorrekturen
- NPE-Problem in
SupportSQLiteQueryBuilder
für Spalten, in denen Nullwerte zulässig sind, wird behoben. (Ica8f5)
Version 2.3.0-beta02
9. November 2022
androidx.sqlite:sqlite:2.3.0-beta02
, androidx.sqlite:sqlite-framework:2.3.0-beta02
und androidx.sqlite:sqlite-ktx:2.3.0-beta02
wurden veröffentlicht. Version 2.3.0-beta02 enthält diese Commits.
- Korrigieren Sie verschiedene APIs, die Abfrageargumente von „invariant“ (
Array<Any?>
) in kontravariant (Array<out Any?>
) ändern, um das Arrayverhalten von Java anzupassen. (b/253531073)
Version 2.3.0-beta01
5. Oktober 2022
androidx.sqlite:sqlite:2.3.0-beta01
, androidx.sqlite:sqlite-framework:2.3.0-beta01
und androidx.sqlite:sqlite-ktx:2.3.0-beta01
wurden veröffentlicht. Version 2.3.0-beta01 enthält diese Commits.
API-Änderungen
- Alle android.sqlite-Quellen wurden von Java in Kotlin konvertiert. b/240707042
- Eine wesentliche Änderung der Konvertierung besteht darin, dass die folgenden Getter-Funktionen zu Eigenschaften wurden:
<ph type="x-smartling-placeholder">
- </ph>
- In
SupportSQLiteDatabase
: attachedDbs
isDatabaseIntegrityOk
isDbLockedByCurrentThread
isOpen
isReadOnly
isWriteAheadLoggingEnabled
maximumSize
pageSize
path
version
- In
SupportSQLiteOpenHelper
: databaseName
readableDatabase
writableDatabase
- In
Version 2.3.0-alpha05
24. August 2022
androidx.sqlite:sqlite:2.3.0-alpha05
, androidx.sqlite:sqlite-framework:2.3.0-alpha05
und androidx.sqlite:sqlite-ktx:2.3.0-alpha05
wurden veröffentlicht. Version 2.3.0-alpha05 enthält diese Commits.
API-Änderungen
- Die Bibliotheksgruppe „androidx.sqlite-Quellen“ wurde von Java in Kotlin konvertiert. Da in androidx.sqlite einige Annotationen zur Null-Zulässigkeit fehlen, kann es zu Inkompatibilitätsfehlern kommen, wenn Ihre Quellen in Kotlin verwendet werden und der Code die falsche Null-Zulässigkeit abgeleitet hat. Bitte melden Sie einen Fehler, wenn es erhebliche Inkompatibilitäten gibt. (b/240707042)
Version 2.3.0-alpha04
10. August 2022
androidx.sqlite:sqlite:2.3.0-alpha04
, androidx.sqlite:sqlite-framework:2.3.0-alpha04
und androidx.sqlite:sqlite-ktx:2.3.0-alpha04
wurden veröffentlicht. Version 2.3.0-alpha04 enthält diese Commits.
API-Änderungen
- Null-Zulässigkeit aktualisiert (I29fbd)
Version 2.3.0-alpha03
1. Juni 2022
androidx.sqlite:sqlite:2.3.0-alpha03
, androidx.sqlite:sqlite-framework:2.3.0-alpha03
und androidx.sqlite:sqlite-ktx:2.3.0-alpha03
wurden veröffentlicht. Version 2.3.0-alpha03 enthält diese Commits.
API-Änderungen
- Beschränkung für
androidx.sqlite.ProcessLock
festlegen. Die API ist auf ihre Funktion inandroidx.sqlite
beschränkt und sollte nicht als universelle Multi-Prozesssperre verwendet werden. (I1643f)
Version 2.3.0-alpha02
6. April 2022
androidx.sqlite:sqlite:2.3.0-alpha02
, androidx.sqlite:sqlite-framework:2.3.0-alpha02
und androidx.sqlite:sqlite-ktx:2.3.0-alpha02
wurden veröffentlicht. Version 2.3.0-alpha02 enthält diese Commits.
- Keine wesentlichen Änderungen seit 2.3.0-alpha01
Version 2.3.0-alpha01
23. Februar 2022
androidx.sqlite:sqlite:2.3.0-alpha01
, androidx.sqlite:sqlite-framework:2.3.0-alpha01
und androidx.sqlite:sqlite-ktx:2.3.0-alpha01
wurden veröffentlicht. Version 2.3.0-alpha01 enthält diese Commits.
API-Änderungen
- Füge der SupportSQLite-Konfiguration eine API hinzu, um Datenverluste während des Wiederherstellungsmechanismus zu ermöglichen. (I1b830, b/215592732)
- Es wurde eine API für die Multi-Prozess-Sperre und -Nutzung auf FrameworkSQLite*-Ebene hinzugefügt, um die Ersterstellung und Migration von Multi-Prozess-Datenbanken zu schützen. (Ied267, b/193182592)
Version 2.2.0
Version 2.2.0
15. Dezember 2021
androidx.sqlite:sqlite:2.2.0
, androidx.sqlite:sqlite-framework:2.2.0
und androidx.sqlite:sqlite-ktx:2.2.0
wurden veröffentlicht. Version 2.2.0 enthält diese Commits.
Wichtige Änderungen seit Version 2.1.0
Standardmethode für execPerConnectionSQL()
in SupportSQLiteDatabase
hinzufügen.
Version 2.2.0-rc01
1. Dezember 2021
androidx.sqlite:sqlite:2.2.0-rc01
, androidx.sqlite:sqlite-framework:2.2.0-rc01
und androidx.sqlite:sqlite-ktx:2.2.0-rc01
wurden veröffentlicht. Version 2.2.0-rc01 enthält diese Commits.
Keine wesentlichen Änderungen seit 2.2.0-beta01.
Version 2.2.0-beta01
13. Oktober 2021
androidx.sqlite:sqlite:2.2.0-beta01
, androidx.sqlite:sqlite-framework:2.2.0-beta01
und androidx.sqlite:sqlite-ktx:2.2.0-beta01
wurden veröffentlicht. Version 2.2.0-beta01 enthält diese Commits.
- Keine Änderungen gegenüber der vorherigen Alphaversion.
Version 2.2.0-alpha02
21. Juli 2021
androidx.sqlite:sqlite:2.2.0-alpha02
, androidx.sqlite:sqlite-framework:2.2.0-alpha02
und androidx.sqlite:sqlite-ktx:2.2.0-alpha02
wurden veröffentlicht. Version 2.2.0-alpha02 enthält diese Commits.
Keine wesentlichen Änderungen seit 2.2.0-alpha01. Diese Version entspricht lediglich der Freigabe von Raum 2.4.0-alpha04
.
Version 2.2.0-alpha01
16. Juni 2021
androidx.sqlite:sqlite:2.2.0-alpha01
, androidx.sqlite:sqlite-framework:2.2.0-alpha01
und androidx.sqlite:sqlite-ktx:2.2.0-alpha01
wurden veröffentlicht. Version 2.2.0-alpha01 enthält diese Commits.
API-Änderungen
- Standardmethode für
execPerConnectionSQL()
in SupportSQLiteDatabase hinzufügen (I86326, b/172270145)
Version 2.1.0
Version 2.1.0
22. Januar 2020
androidx.sqlite:sqlite:2.1.0
, androidx.sqlite:sqlite-framework:2.1.0
und androidx.sqlite:sqlite-ktx:2.1.0
wurden ohne Änderungen seit dem 2.1.0-rc01
veröffentlicht. Version 2.1.0 enthält diese Commits.
Wichtige Änderungen seit Version 2.0.1
- Unterstützung für
useNoBackupDirectory
, mit der angegeben werden kann, dass die Datenbank in dem Verzeichnis ohne Sicherungsverzeichnis erstellt werden soll, wennSupportSQLiteOpenHelper
verwendet wird.
Version 2.1.0-rc01
8. Januar 2020
androidx.sqlite:sqlite-*:2.1.0-rc01
wurde veröffentlicht. Version 2.1.0-rc01 enthält diese Commits.
Dieser Release ist mit 2.1.0-beta01
identisch.
Version 2.1.0-beta01
4. Dezember 2019
androidx.sqlite:sqlite:2.1.0-beta01
, androidx.sqlite:sqlite-framework:2.1.0-beta01
und androidx.sqlite:sqlite-ktx:2.1.0-beta01
wurden ohne Änderungen seit dem 2.1.0-alpha01
veröffentlicht. Version 2.1.0-beta01 enthält diese Commits.
Version 2.1.0-alpha01
7. November 2019
androidx.sqlite:sqlite:2.1.0-alpha01
, androidx.sqlite:sqlite-framework:2.1.0-alpha01
und androidx.sqlite:sqlite-ktx:2.1.0-alpha01
wurden veröffentlicht. Version 2.1.0-alpha01 enthält diese Commits.
API-Änderungen
SupportSQLiteOpenHelper.Configuration
wurde ein neues Attribut namensuseNoBackupDirectory
hinzugefügt, das angibt, dass eine dateibasierte Datenbank im Verzeichnis ohne Sicherung erstellt werden soll.
Version 2.0.1
Version 2.0.1
13. März 2019
Version 2.0.1 der Artefaktgruppe „androidx.sqlite
“ wurde mit zwei Fehlerkorrekturen veröffentlicht.
Fehlerkorrekturen
- Es wurden zwei Probleme behoben, bei denen
FrameworkSQLiteOpenHelper
aus einer beschädigten Datenbank oder einer fehlerhaften Migration während der Initialisierung nicht ordnungsgemäß wiederhergestellt wurde. (b/111504749 und b/111519144)