Sqlite
androidx.sqlite
-Bibliothek enthält abstrakte Schnittstellen sowie grundlegende Implementierungen, mit denen Sie Ihre eigenen Bibliotheken für den Zugriff auf SQLite erstellen können.
Sie können die Room-Bibliothek verwenden, die eine Abstraktionsschicht über SQLite bietet. So können Sie einen robusteren Datenbankzugriff ermöglichen und gleichzeitig die volle Leistung von SQLite nutzen.
Letzte Aktualisierung | Stabile Version | Release Candidate | Beta-Ausgabe | Alphaversion |
---|---|---|---|---|
30. Oktober 2024 | 2.4.0 | - | - | 2.5.0-alpha11 |
Abhängigkeiten deklarieren
Wenn Sie eine Abhängigkeit von SQLite hinzufügen möchten, müssen Sie Ihrem Projekt das Google Maven-Repository hinzufügen. Weitere Informationen finden Sie im Maven-Repository von Google.
Fügen Sie der Datei build.gradle
für Ihre Anwendung oder Ihr Modul die Abhängigkeiten für die Artefakte hinzu, die Sie benötigen:
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
Ihr Feedback hilft uns, Jetpack zu verbessern. Teilen Sie uns mit, wenn Sie neue Ausgaben entdecken oder Verbesserungsvorschläge für diese Bibliothek haben. Sehen Sie sich die vorhandenen Probleme in dieser Bibliothek an, bevor Sie ein neues erstellen. Sie können einem vorhandenen Problem Ihre Stimme geben, indem Sie auf die Schaltfläche mit dem Stern klicken.
Weitere Informationen finden Sie in der Dokumentation zum Issue Tracker.
Version 2.5
Version 2.5.0-alpha11
30. Oktober 2024
androidx.sqlite:sqlite-*:2.5.0-alpha11
wird veröffentlicht. Version 2.5.0-alpha11 enthält diese Commits.
Version 2.5.0-alpha10
16. Oktober 2024
androidx.sqlite:sqlite-*:2.5.0-alpha10
wird veröffentlicht. Version 2.5.0-alpha10 enthält diese Commits.
API-Änderungen
- Fügen Sie
SQLiteStatement.getColumnType()
zusammen mit den verschiedenenSQLITE_DATA_*
-Ergebniskonstanten hinzu, um das Abrufen des Datentyps einer Spalte zu ermöglichen. (I1985c, b/369636251)
Version 2.5.0-alpha09
2. Oktober 2024
androidx.sqlite:sqlite-*:2.5.0-alpha09
wird veröffentlicht. Version 2.5.0-alpha09 enthält diese Commits.
Version 2.5.0-alpha08
18. September 2024
androidx.sqlite:sqlite-*:2.5.0-alpha08
wird veröffentlicht. Version 2.5.0-alpha08 enthält diese Commits.
Version 2.5.0-alpha07
21. August 2024
androidx.sqlite:sqlite-*:2.5.0-alpha07
wird 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
wird veröffentlicht. Version 2.5.0-alpha06 enthält diese Commits.
Neue Funktionen
- Unterstützung für das
linuxArm64
Kotlin Multiplatform-Ziel hinzugefügt (I139d3, b/338268719)
Version 2.5.0-alpha05
10. Juli 2024
androidx.sqlite:sqlite-*:2.5.0-alpha05
wird 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
wird veröffentlicht. Version 2.5.0-alpha04 enthält diese Commits.
API-Änderungen
BundledSQLiteDriver
hat eineopen()
-Überladungs-API erhalten, um beim Öffnen einer Datenbankverbindung Open-Flags zu übergeben. Nützlich, um eine Datenbank im schreibgeschützten Modus zu öffnen oder den serialisierten threadsicheren Modus anstelle des Mehrfachthreads-Modus zu verwenden, mit dem SQLite kompiliert wird (b/340949940).
Fehlerkorrekturen
- Ein Verknüpfungsproblem im im Lieferumfang enthaltenen SQLite-Treiber wurde behoben, das aufgrund fehlender atomarer Symbole auf Android-Geräten mit ARM32 zu einer
UnsatisfiedLinkError
-Ausnahme führte. (b/341639198) - Ein Problem in den Treibern wurde behoben, bei dem das Binden eines Byte-Arrays mit Nulllänge an eine Spalte beim Lesen daraus zu einem Nullwert führte.
Version 2.5.0-alpha03
29. Mai 2024
androidx.sqlite:sqlite-*:2.5.0-alpha03
wird 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, währendandroidx.sqlite:sqlite-bundled
eine Implementierung bietet, dieSQLite
verwendet, das aus der Quelle kompiliert wurde (auch als „bundled 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
werden losgelassen. Version 2.4.0 enthält diese Commits.
Wichtige Änderungen seit Version 2.3.0
- Diverse Fehlerkorrekturen.
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
werden losgelassen. 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
werden losgelassen. 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
werden losgelassen. 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
werden 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
werden losgelassen. Version 2.4.0-alpha01 enthält diese Commits.
Fehlerkorrekturen
- Ein
NullPointerException
, das 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
werden losgelassen. Version 2.3.1 enthält diese Commits.
Fehlerkorrekturen
- Ein Framework-Problem wurde behoben, bei dem SQL-Abfragen nach einer Schemaänderung während der Migrationen nicht ungültig gemacht wurden.
FrameworkSupportSQLiteOpenHelper
setzt jetzt während der Migrationen den Mindestcache für SQL-Anweisungen, um das Problem zu vermeiden. (0ad2a8f) - Ein Problem wurde behoben, bei dem das Cache-Verzeichnis für
SupportSQLiteLock
möglicherweise nicht verfügbar war. Daher musste eine Nulldatei ordnungsgemäß verarbeitet werden. (9d177dc) - Das Problem, dass
attachedDbs
nicht die vollständige Liste der angehängten Datenbanken zurückgab, wurde behoben. (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
werden losgelassen. Version 2.3.0 enthält diese Commits.
Wichtige Änderungen seit Version 2.2.0
- Die Bibliotheksgruppe
androidx.sqlite
sources wurde von Java in Kotlin konvertiert. Da inandroidx.sqlite
einige Anmerkungen zur Nullbarkeit fehlen, können bei Kotlin-Quellen Fehler auftreten, wenn der Code die falsche Nullbarkeit ableitet. Außerdem wurden bestimmte Gettermethoden in Properties umgewandelt, für die die Syntax für den Property-Zugriff in Kotlin-Dateien erforderlich ist. 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 zuzulassen. (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
werden losgelassen. Version 2.3.0-rc01 enthält diese Commits.
Fehlerkorrekturen
- Behebung des NPE-Problems in
SupportSQLiteQueryBuilder
für Spalten mit Nullwerten (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
werden losgelassen. Version 2.3.0-beta02 enthält diese Commits.
- Korrekturen an verschiedenen APIs, die Abfrageargumente von invariant (
Array<Any?>
) zu kontravariant (Array<out Any?>
) ändern, um dem Arrayverhalten von Java zu entsprechen. (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
werden losgelassen. Version 2.3.0-beta01 enthält diese Commits.
API-Änderungen
- Alle android.sqlite-Quellen wurden von Java in Kotlin konvertiert. b/240707042
- Eine wichtige Änderung bei der Umstellung besteht darin, dass die folgenden Getter-Funktionen zu Eigenschaften geworden sind:
- 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 sources wurde von Java in Kotlin konvertiert. Da in androidx.sqlite einige Anmerkungen zur Nullbarkeit fehlten, können bei Kotlin-Quellen Fehler auftreten, wenn der Code die falsche Nullbarkeit ableitet. Bitte melden Sie uns 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
werden losgelassen. 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
werden losgelassen. 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
werden losgelassen. 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
werden losgelassen. Version 2.3.0-alpha01 enthält diese Commits.
API-Änderungen
- Fügen Sie in der SupportSQLite-Konfiguration eine API hinzu, um Datenverluste während des Wiederherstellungsmechanismus zuzulassen. (I1b830, b/215592732)
- API für die Sperrung und Verwendung mehrerer Prozesse auf FrameworkSQLite*-Ebene hinzugefügt, um die Ersterstellung und Migration von Datenbanken mit mehreren Prozessen 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
Fügen Sie in SupportSQLiteDatabase
eine Standardmethode für execPerConnectionSQL()
hinzu.
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
werden losgelassen. Version 2.2.0-rc01 enthält diese Commits.
Seit 2.2.0-beta01 gab es keine wesentlichen Änderungen.
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
werden losgelassen. 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. Dieser Release ist nur für die Room 2.4.0-alpha04
-Version vorgesehen.
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
werden losgelassen. 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
werden seit 2.1.0-rc01
unverändert veröffentlicht. Version 2.1.0 enthält diese Commits.
Wichtige Änderungen seit Version 2.0.1
- Unterstützung für
useNoBackupDirectory
, mit dem angegeben werden kann, dass die Datenbank bei Verwendung vonSupportSQLiteOpenHelper
im Verzeichnis ohne Sicherung erstellt werden soll.
Version 2.1.0-rc01
8. Januar 2020
androidx.sqlite:sqlite-*:2.1.0-rc01
wird 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
werden seit 2.1.0-alpha01
unverändert 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
werden losgelassen. Version 2.1.0-alpha01 enthält diese Commits.
API-Änderungen
SupportSQLiteOpenHelper.Configuration
wurde die neue EigenschaftuseNoBackupDirectory
hinzugefügt, um anzugeben, dass eine dateibasierte Datenbank erstellt und im Verzeichnis „no backup“ (Kein Back-up) gespeichert werden soll.
Version 2.0.1
Version 2.0.1
13. März 2019
Version 2.0.1 der androidx.sqlite
-Artefaktgruppe wurde mit zwei Fehlerkorrekturen veröffentlicht.
Fehlerkorrekturen
- Zwei Probleme behoben, bei denen
FrameworkSQLiteOpenHelper
bei der Initialisierung nicht ordnungsgemäß nach einer beschädigten Datenbank oder einer fehlerhaften Migration wiederhergestellt wurde. (b/111504749 und b/111519144)