Sqlite

Die 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 sollten die Verwendung der Room-Bibliothek in Betracht ziehen. Sie bietet eine Abstraktionsschicht über SQLite, um einen robusteren Datenbankzugriff zu ermöglichen und gleichzeitig die volle Leistung von SQLite zu nutzen.

Letzte Aktualisierung Stabile Version Releasekandidat Beta-Ausgabe Alpha-Release
10. Juli 2024 2.4.0 - - 2.5.0-alpha05

Abhängigkeiten deklarieren

Wenn Sie eine Abhängigkeit von SQLite hinzufügen möchten, müssen Sie Ihrem Projekt das Maven-Repository von Google 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:

Groovig

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 Verbesserungsvorschläge für diese Bibliothek haben. Bitte sieh dir die vorhandenen Probleme in dieser Bibliothek an, bevor du eine neue erstellst. Sie können einem vorhandenen Problem Ihre Stimme hinzufügen, indem Sie auf die Sternschaltfläche klicken.

Neues Problem erstellen

Weitere Informationen finden Sie in der Dokumentation zur Problemverfolgung.

Version 2.5

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 in SQLite und BundledSQLiteKt in BundledSQLite 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 eine open()-Ü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 Beendigungszeichen „C“ mit NULL-Wert 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 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 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. androidx.sqlite:sqlite-bundled hingegen bietet eine Implementierung, bei der SQLite aus der Quelle kompiliert wird (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 in SupportSQLiteQueryBuilder 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 in androidx.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 Attributen 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 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, können Fehler in Bezug auf die Kompatibilität der Quelle auftreten, 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

  • androidx.sqlite.ProcessLock als Einschränkung festlegen. Die API ist auf ihre Funktion in androidx.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, wenn SupportSQLiteOpenHelper 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 namens useNoBackupDirectory 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)