SQLite
androidx.sqlite
-Bibliothek enthält abstrakte Schnittstellen sowie grundlegende Implementierungen, mit denen Sie eigene Bibliotheken erstellen können, die auf SQLite zugreifen.
Sie können die Room-Bibliothek verwenden, die eine Abstraktionsschicht über SQLite bietet. So ist ein robusterer Datenbankzugriff möglich, während gleichzeitig die volle Leistung von SQLite genutzt wird.
Letzte Aktualisierung | Stabile Version | Release Candidate | Beta-Ausgabe | Alphaversion |
---|---|---|---|---|
11. Dezember 2024 | 2.4.0 | - | - | 2.5.0-alpha12 |
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 App oder Ihr Modul die Abhängigkeiten für die erforderlichen Artefakte hinzu:
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. Bitte teilen Sie uns mit, wenn Sie neue Probleme feststellen oder Ideen zur Verbesserung dieser 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-alpha12
11. Dezember 2024
androidx.sqlite:sqlite-*:2.5.0-alpha12
wird veröffentlicht. Version 2.5.0-alpha12 enthält diese Commits.
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 den Datentyp einer Spalte abzurufen. (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 hinzufügen (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 Lesemodus 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, durch das auf Android-Geräten mit ARM32 aufgrund fehlender atomarer Symbole die Fehlermeldung
UnsatisfiedLinkError
ausgegeben wurde. (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
- Behebung eines Problems mit
BundledSQLiteDriver
, bei dem damit erstellte Datenbanken das C-Nullterminatorzeichen enthielten. (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
wird veröffentlicht. Version 2.5.0-alpha01 enthält diese Commits.
Neue Funktionen
- Unterstützung für Kotlin Multi-Platform (KMP): Mit der Veröffentlichung von Room 2.7.0-alpha01, der ersten Version von Room KMP, wurden auch die
SQLite
APIs aktualisiert, die Room KMP ermöglichen. 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
wurde behoben, das inSupportSQLiteQueryBuilder
auftreten konnte. (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 uns einen Fehler, wenn es erhebliche Inkompatibilitäten gibt. (b/240707042) - Fügen Sie in der
SupportSQLite's
-Konfiguration eine API hinzu, um Datenverluste während des Wiederherstellungsmechanismus zuzulassen. (I1b830, b/215592732) - API für die Sperrung und Nutzung mehrerer Prozesse auf
FrameworkSQLite*
-Ebene hinzugefügt, um die Ersteinrichtung und Migration mehrerer Prozesse 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 Nullwert. (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 Array-Verhalten 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
werden losgelassen. 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
- Aktualisierte Nullbarkeit (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
androidx.sqlite.ProcessLock
auf „Eingeschränkt“ setzen Die API ist auf ihre Funktion innerhalb vonandroidx.sqlite
beschränkt und sollte nicht als allgemeine Sperre für mehrere Prozesse 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
werden losgelassen. 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
werden losgelassen. Version 2.2.0-alpha02 enthält diese Commits.
Seit 2.2.0-alpha01 gab es keine wesentlichen Änderungen. 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)