SQLite

Die 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.

Neues Problem erstellen

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 verschiedenen SQLITE_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 in SQLite und BundledSQLiteKt in BundledSQLite 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 eine open()-Ü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 Paket andriodx.sqlite enthält drei Schnittstellen, die Low-Level-SQLite-APIs definieren: SQLiteDriver, SQLiteConnection und SQLiteStatement. Das Artefakt androidx.sqlite:sqlite-framework bietet eine native Implementierung der Schnittstellen für Android und iOS, während androidx.sqlite:sqlite-bundled eine Implementierung bietet, die SQLite 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 in SupportSQLiteQueryBuilder 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 in androidx.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

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 von androidx.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 von SupportSQLiteOpenHelper 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 Eigenschaft useNoBackupDirectory 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)