SQLite

La bibliothèque androidx.sqlite contient des interfaces abstraites ainsi que des implémentations de base permettant de créer vos propres bibliothèques utilisant SQLite.

Vous pouvez envisager d'utiliser la bibliothèque Room, qui fournit une couche d'abstraction sur SQLite, permettant un accès plus robuste à la base de données tout en exploitant toute la puissance de SQLite.

Dernière mise à jour Version stable Version finale Version bêta Version alpha
18 octobre 2023 Version 2.4.0 - - -

Déclarer des dépendances

Pour ajouter une dépendance sur SQLite, vous devez ajouter le dépôt Maven de Google à votre projet. Pour en savoir plus, consultez la section Dépôt Maven de Google.

Ajoutez les dépendances correspondant aux artefacts dont vous avez besoin dans le fichier build.gradle de votre application ou de votre module :

Groovy

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")
}

Pour en savoir plus sur les dépendances, consultez Ajouter des dépendances de compilation.

Commentaires

Vos commentaires nous aident à améliorer Jetpack. N'hésitez pas à nous contacter si vous découvrez de nouveaux problèmes ou si vous avez des idées pour améliorer cette bibliothèque. Veuillez consulter les problèmes existants de cette bibliothèque avant d'en signaler un nouveau. Vous pouvez ajouter votre vote à un problème existant en cliquant sur le bouton en forme d'étoile.

Signaler un nouveau problème

Pour en savoir plus, consultez la documentation sur l'outil Issue Tracker.

Version 2.4

Version 2.4.0

18 octobre 2023

Publication d'androidx.sqlite:sqlite:2.4.0, androidx.sqlite:sqlite-framework:2.4.0 et androidx.sqlite:sqlite-ktx:2.4.0. Liste des commits de la version 2.4.0

Changements importants depuis la version 2.3.0

  • Différentes corrections de bugs ont été ajoutées.

Version 2.4.0-rc01

20 septembre 2023

Publication d'androidx.sqlite:sqlite:2.4.0-rc01, androidx.sqlite:sqlite-framework:2.4.0-rc01 et androidx.sqlite:sqlite-ktx:2.4.0-rc01. Liste des commits de la version 2.4.0-rc01

Version 2.4.0-beta01

23 août 2023

Publication d'androidx.sqlite:sqlite:2.4.0-beta01, androidx.sqlite:sqlite-framework:2.4.0-beta01 et androidx.sqlite:sqlite-ktx:2.4.0-beta01. Liste des commits de la version 2.4.0-beta01

Version 2.4.0-alpha03

9 août 2023

Publication d'androidx.sqlite:sqlite:2.4.0-alpha03, androidx.sqlite:sqlite-framework:2.4.0-alpha03 et androidx.sqlite:sqlite-ktx:2.4.0-alpha03. Liste des commits de la version 2.4.0-alpha03

Version 2.4.0-alpha02

21 juin 2023

Publication d'androidx.sqlite:sqlite:2.4.0-alpha02, d'androidx.sqlite:sqlite-framework:2.4.0-alpha02 et d'androidx.sqlite:sqlite-ktx:2.4.0-alpha02 sans aucune modification. Liste des commits de la version 2.4.0-alpha02

Version 2.4.0-alpha01

22 mars 2023

Publication d'androidx.sqlite:sqlite:2.4.0-alpha01, androidx.sqlite:sqlite-framework:2.4.0-alpha01 et androidx.sqlite:sqlite-ktx:2.4.0-alpha01. Liste des commits de la version 2.4.0-alpha01

Correction de bugs

  • Correction d'une NullPointerException qui pouvait se produire dans SupportSQLiteQueryBuilder. (5df8698).

Version 2.3.1

Version 2.3.1

22 mars 2023

Publication d'androidx.sqlite:sqlite:2.3.1, androidx.sqlite:sqlite-framework:2.3.1 et androidx.sqlite:sqlite-ktx:2.3.1. Liste des commits de la version 2.3.1

Correction de bugs

  • Évitez un problème de framework où les requêtes SQL ne seraient pas invalidées après une modification du schéma lors des migrations. FrameworkSupportSQLiteOpenHelper va désormais définir le cache minimal d'instructions SQL lors des migrations pour éviter le problème. (0ad2a8f).
  • Correction d'un problème qui empêchait l'utilisation du répertoire de cache pour SupportSQLiteLock, de sorte qu'un fichier nul devait être géré correctement. (9d177dc).
  • Correction d'un problème qui empêchait attachedDbs de renvoyer la liste complète des bases de données associées. (5f008e1).

Version 2.3.0

Version 2.3.0

11 janvier 2023

Publication d'androidx.sqlite:sqlite:2.3.0, androidx.sqlite:sqlite-framework:2.3.0 et androidx.sqlite:sqlite-ktx:2.3.0. Liste des commits de la version 2.3.0

Changements importants depuis la version 2.2.0

  • Le groupe de bibliothèques androidx.sqlite a été converti de Java en Kotlin. Des annotations de possibilité de valeur nulle sont manquantes pour androidx.sqlite. Vous risquez de rencontrer des erreurs d'incompatibilité des sources si celles-ci sont en Kotlin et que le code infère une valeur nulle incorrecte. De plus, certaines méthodes getter ont été converties en propriétés nécessitant la syntaxe d'accès aux propriétés sur les fichiers Kotlin. Veuillez signaler un bug en cas d'incompatibilités majeures. (b/240707042)
  • Ajout d'une API à la configuration SupportSQLite's pour permettre la perte de données pendant le mécanisme de récupération. (I1b830, b/215592732)
  • Ajout d'API pour le verrouillage et l'utilisation de plusieurs processus au niveau de FrameworkSQLite*, afin de protéger les premières migrations et créations multiprocessus de bases de données. (Ied267, b/193182592)

Version 2.3.0-rc01

7 décembre 2022

Publication d'androidx.sqlite:sqlite:2.3.0-rc01, androidx.sqlite:sqlite-framework:2.3.0-rc01 et androidx.sqlite:sqlite-ktx:2.3.0-rc01. Liste des commits de la version 2.3.0-rc01

Correction de bugs

  • Résolution de l'exception NPE dans SupportSQLiteQueryBuilder pour les colonnes pouvant avoir une valeur nulle. (Ica8f5)

Version 2.3.0-beta02

9 novembre 2022

Publication d'androidx.sqlite:sqlite:2.3.0-beta02, androidx.sqlite:sqlite-framework:2.3.0-beta02 et androidx.sqlite:sqlite-ktx:2.3.0-beta02. Liste des commits de la version 2.3.0-beta02

  • Correction de diverses API qui convertissent des arguments de requête invariants (Array<Any?>) en contravariants (Array<out Any?>) pour qu'ils correspondent au comportement du tableau Java. (b/253531073)

Version 2.3.0-beta01

5 octobre 2022

Publication d'androidx.sqlite:sqlite:2.3.0-beta01, androidx.sqlite:sqlite-framework:2.3.0-beta01 et androidx.sqlite:sqlite-ktx:2.3.0-beta01. Liste des commits de la version 2.3.0-beta01

Modifications apportées à l'API

  • Toutes les sources android.sqlite sont passées de Java en Kotlin. b/240707042
  • Un changement notable concernant la conversion est que les fonctions getter suivantes sont devenues des propriétés :
    • Dans SupportSQLiteDatabase :
    • attachedDbs
    • isDatabaseIntegrityOk
    • isDbLockedByCurrentThread
    • isOpen
    • isReadOnly
    • isWriteAheadLoggingEnabled
    • maximumSize
    • pageSize
    • path
    • version
    • Dans SupportSQLiteOpenHelper :
    • databaseName
    • readableDatabase
    • writableDatabase

Version 2.3.0-alpha05

24 août 2022

Publication d'androidx.sqlite:sqlite:2.3.0-alpha05, androidx.sqlite:sqlite-framework:2.3.0-alpha05 et androidx.sqlite:sqlite-ktx:2.3.0-alpha05. Liste des commits de la version 2.3.0-alpha05

Modifications apportées à l'API

  • Le groupe de bibliothèques androidx.sqlite a été converti de Java en Kotlin. Des annotations de possibilité de valeur nulle sont manquantes pour androidx.sqlite. Vous risquez de rencontrer des erreurs d'incompatibilité des sources si celles-ci sont en Kotlin et que le code infère une valeur nulle incorrecte. Veuillez signaler un bug en cas d'incompatibilité majeure. (b/240707042)

Version 2.3.0-alpha04

10 août 2022

Publication d'androidx.sqlite:sqlite:2.3.0-alpha04, androidx.sqlite:sqlite-framework:2.3.0-alpha04 et androidx.sqlite:sqlite-ktx:2.3.0-alpha04. Liste des commits de la version 2.3.0-alpha04

Modifications apportées à l'API

  • Mise à jour de la possibilité de valeur nulle. (I29fbd)

Version 2.3.0-alpha03

1er juin 2022

Publication d'androidx.sqlite:sqlite:2.3.0-alpha03, androidx.sqlite:sqlite-framework:2.3.0-alpha03 et androidx.sqlite:sqlite-ktx:2.3.0-alpha03. Liste des commits de la version 2.3.0-alpha03

Modifications apportées à l'API

  • Limitation de androidx.sqlite.ProcessLock. Cette API est limitée à la fonction qu'elle occupe dans androidx.sqlite et ne doit pas être utilisée en tant que processus classique pour verrouiller plusieurs processus. (I1643f)

Version 2.3.0-alpha02

6 avril 2022

Publication d'androidx.sqlite:sqlite:2.3.0-alpha02, androidx.sqlite:sqlite-framework:2.3.0-alpha02 et androidx.sqlite:sqlite-ktx:2.3.0-alpha02. Liste des commits de la version 2.3.0-alpha02

  • Aucune modification importante depuis la version 2.3.0-alpha01

Version 2.3.0-alpha01

23 février 2022

Publication d'androidx.sqlite:sqlite:2.3.0-alpha01, androidx.sqlite:sqlite-framework:2.3.0-alpha01 et androidx.sqlite:sqlite-ktx:2.3.0-alpha01. Liste des commits de la version 2.3.0-alpha01

Modifications apportées à l'API

  • Ajout d'une API à la configuration de SupportSQLite pour permettre la perte de données pendant le mécanisme de récupération. (I1b830, b/215592732)
  • Ajout d'API pour le verrouillage et l'utilisation de plusieurs processus au niveau de FrameworkSQLite*, afin de protéger les premières migrations et créations multiprocessus de bases de données. (Ied267, b/193182592)

Version 2.2.0

Version 2.2.0

15 décembre 2021

Publication d'androidx.sqlite:sqlite:2.2.0, androidx.sqlite:sqlite-framework:2.2.0 et androidx.sqlite:sqlite-ktx:2.2.0. Liste des commits de la version 2.2.0

Changements importants depuis la version 2.1.0

Ajout de la méthode par défaut pour execPerConnectionSQL() dans SupportSQLiteDatabase.

Version 2.2.0-rc01

1er décembre 2021

Publication d'androidx.sqlite:sqlite:2.2.0-rc01, androidx.sqlite:sqlite-framework:2.2.0-rc01 et androidx.sqlite:sqlite-ktx:2.2.0-rc01. Liste des commits de la version 2.2.0-rc01

Aucune modification importante depuis la version 2.2.0-beta01.

Version 2.2.0-beta01

13 octobre 2021

Publication d'androidx.sqlite:sqlite:2.2.0-beta01, androidx.sqlite:sqlite-framework:2.2.0-beta01 et androidx.sqlite:sqlite-ktx:2.2.0-beta01. Liste des commits de la version 2.2.0-beta01

  • Aucune modification par rapport à la version alpha précédente.

Version 2.2.0-alpha02

21 juillet 2021

Publication d'androidx.sqlite:sqlite:2.2.0-alpha02, androidx.sqlite:sqlite-framework:2.2.0-alpha02 et androidx.sqlite:sqlite-ktx:2.2.0-alpha02. Liste des commits de la version 2.2.0-alpha02

Aucune modification importante par rapport à la version 2.2.0-alpha01. Cette version a été publiée afin de s'adapter les changements de la version 2.4.0-alpha04 de Room.

Version 2.2.0-alpha01

16 juin 2021

Publication d'androidx.sqlite:sqlite:2.2.0-alpha01, androidx.sqlite:sqlite-framework:2.2.0-alpha01 et androidx.sqlite:sqlite-ktx:2.2.0-alpha01. Liste des commits de la version 2.2.0-alpha01.

Modifications apportées à l'API

  • Ajout de la méthode par défaut pour execPerConnectionSQL() dans SupportSQLiteDatabase (I86326, b/172270145).

Version 2.1.0

Version 2.1.0

22 janvier 2020

Publication d'androidx.sqlite:sqlite:2.1.0, androidx.sqlite:sqlite-framework:2.1.0 et androidx.sqlite:sqlite-ktx:2.1.0 sans modification par rapport à la version 2.1.0-rc01. Liste des commits de la version 2.1.0

Modifications importantes depuis la version 2.0.1

  • Compatibilité avec useNoBackupDirectory, qui peut être utilisée pour indiquer que la base de données doit être créée dans le répertoire sans sauvegarde si vous utilisez SupportSQLiteOpenHelper.

Version 2.1.0-rc01

8 janvier 2020

Publication d'androidx.sqlite:sqlite-*:2.1.0-rc01. Liste des commits de la version 2.1.0-rc01.

Cette version est identique à la version 2.1.0-beta01.

Version 2.1.0-beta01

4 décembre 2019

Publication d'androidx.sqlite:sqlite:2.1.0-beta01, androidx.sqlite:sqlite-framework:2.1.0-beta01 et androidx.sqlite:sqlite-ktx:2.1.0-beta01 sans modification par rapport à la version 2.1.0-alpha01. Liste des commits de la version 2.1.0-beta01.

Version 2.1.0-alpha01

7 novembre 2019

Publication d'androidx.sqlite:sqlite:2.1.0-alpha01, androidx.sqlite:sqlite-framework:2.1.0-alpha01 et androidx.sqlite:sqlite-ktx:2.1.0-alpha01. Liste des commits de la version 2.1.0-alpha01

Modifications apportées à l'API

  • Ajout d'une propriété à SupportSQLiteOpenHelper.Configuration appelée useNoBackupDirectory pour indiquer qu'une base de données basée sur des fichiers doit être créée et localisée à partir du répertoire sans sauvegarde.

Version 2.0.1

Version 2.0.1

13 mars 2019

La version 2.0.1 du groupe d'artefacts androidx.sqlite est publiée avec deux corrections de bugs.

Correction de bugs

  • Correction de deux problèmes entraînant une mauvaise récupération de FrameworkSQLiteOpenHelper à partir d'une base de données corrompue ou d'une migration incorrecte lors de l'initialisation. (b/111504749 and b/111519144)