SQLite
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 |
---|---|---|---|---|
21 août 2024 | 2.4.0 | - | - | 2.5.0-alpha07 |
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.
Pour en savoir plus, consultez la documentation sur l'outil Issue Tracker.
Version 2.5
Version 2.5.0-alpha07
21 août 2024
Publication d'androidx.sqlite:sqlite-*:2.5.0-alpha07
. La version 2.5.0-alpha07 contient ces commits.
Nouvelles fonctionnalités
- Ajout de la prise en charge de Linux ARM 64 dans les cibles JVM / ordinateur. (b/358045505).
Version 2.5.0-alpha06
7 août 2024
Publication d'androidx.sqlite:sqlite-*:2.5.0-alpha06
. La version 2.5.0-alpha06 contient ces commits.
Nouvelles fonctionnalités
- Ajout de la prise en charge de la cible multiplateforme Kotlin
linuxArm64
. (I139d3, b/338268719)
Version 2.5.0-alpha05
10 juillet 2024
Publication d'androidx.sqlite:sqlite-*:2.5.0-alpha05
. La version 2.5.0-alpha05 contient ces commits.
Modifications apportées à l'API
- Remplacement du nom
SQLiteKt
parSQLite
et du nomBundledSQLiteKt
parBundledSQLite
. (I8b501).
Version 2.5.0-alpha04
12 juin 2024
Publication d'androidx.sqlite:sqlite-*:2.5.0-alpha04
. La version 2.5.0-alpha04 contient ces commits.
Modifications apportées à l'API
- Ajout d'une API de surcharge
open()
àBundledSQLiteDriver
pour transmettre des indicateurs ouverts lors de l'ouverture d'une connexion de base de données. Utile pour ouvrir une base de données en mode lecture seule ou utiliser le mode sans échec des threads sérialisés au lieu du mode multithread avec lequel SQLite est compilé (b/340949940).
Correction de bugs
- Correction d'un problème d'association dans le pilote SQLite groupé qui entraînait la génération de
UnsatisfiedLinkError
en raison de l'absence de symboles atomiques sur les appareils Android équipés d'un ARM32. (b/341639198). - Correction d'un problème dans les pilotes où la liaison d'un tableau d'octets de longueur nulle dans une colonne entraînait une valeur nulle lors de la lecture de ce tableau.
Version 2.5.0-alpha03
29 mai 2024
Publication d'androidx.sqlite:sqlite-*:2.5.0-alpha03
. La version 2.5.0-alpha03 contient ces commits.
Correction de bugs
- Correction d'un problème lié à
BundledSQLiteDriver
, où les bases de données créées avec celui-ci contenaient le caractère de fin de nullité C. (b/340822359).
Version 2.5.0-alpha02
14 mai 2024
Publication d'androidx.sqlite:sqlite-*:2.5.0-alpha02
sans aucune modification importante par rapport à la version 2.5.0-alpha01 . La version 2.5.0-alpha02 contient ces commits.
Version 2.5.0-alpha01
1er mai 2024
Publication d'androidx.sqlite:sqlite-*:2.5.0-alpha01
. La version 2.5.0-alpha01 contient ces commits.
Nouvelles fonctionnalités
- Compatibilité avec les KMP (Kotlin Multi-Platform): avec la version 2.7.0-alpha01 de Room, qui est la première version du KMP Room, les API
SQLite
permettant à Room d'être KMP ont également été mises à jour. Le packageandriodx.sqlite
contient trois interfaces qui définissent les API SQLite de bas niveau:SQLiteDriver
,SQLiteConnection
etSQLiteStatement
. L'artefactandroidx.sqlite:sqlite-framework
permet d'implémenter les interfaces pour Android et iOS de manière native, tandis queandroidx.sqlite:sqlite-bundled
propose une implémentation qui utiliseSQLite
compilé à partir de la source (également appelé "SQLite intégrée"). Pour en savoir plus sur l'API SQLite Driver, consultez la documentation officielle de KMP SQLite.
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
- Plusieurs 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 dansSupportSQLiteQueryBuilder
. (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 dans lequel les requêtes SQL n'étaient pas invalidées après une modification de schéma lors des migrations. Pour éviter le problème,
FrameworkSupportSQLiteOpenHelper
définit désormais le cache minimal des instructions SQL lors des migrations. (0ad2a8f). - Correction d'un problème qui empêchait le répertoire de cache d'être utilisé pour
SupportSQLiteLock
. Un fichier nul devait donc ê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 pourandroidx.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
- Dans
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 dansandroidx.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 utilisezSupportSQLiteOpenHelper
.
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éeuseNoBackupDirectory
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)