Sqlite
androidx.sqlite
contiene interfacce astratte oltre alle interfacce di base
implementazioni che possono essere usate per creare librerie che accedono
SQLite.
Potresti considerare l'utilizzo libreria room, che offre un di astrazione su SQLite per consentire un accesso più solido al database sfruttando al contempo la piena potenza di SQLite.
Aggiornamento più recente | Release stabile | Candidato per l'uscita | Versione beta | Release alpha |
---|---|---|---|---|
21 agosto 2024 | 2.4.0 | - | - | 2.5.0-alpha07 |
Dichiarazione delle dipendenze
Per aggiungere una dipendenza su SQLite, devi aggiungere il Repository Maven di Google al tuo progetto. Consulta il Repository Maven di Google per ulteriori informazioni.
Aggiungi le dipendenze per gli artefatti necessari nel file build.gradle
per
l'app o il modulo:
Alla moda
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") }
Per saperne di più sulle dipendenze, consulta Aggiungere dipendenze build.
Feedback
Il tuo feedback ci aiuta a migliorare Jetpack. Non esitare a contattarci in caso di nuovi problemi o idee per migliorare questa raccolta. Dai un'occhiata alle problemi esistenti in questa raccolta, prima di crearne uno nuovo. Puoi aggiungere il tuo voto a un problema esistente tramite facendo clic sul pulsante a forma di stella.
Consulta la documentazione di Issue Tracker per ulteriori informazioni.
Versione 2.5
Versione 2.5.0-alpha07
21 agosto 2024
Viene rilasciato androidx.sqlite:sqlite-*:2.5.0-alpha07
. La versione 2.5.0-alpha07 contiene questi commit.
Nuove funzionalità
- Aggiungi il supporto per Linux ARM 64 nelle destinazioni JVM / desktop. (b/358045505)
Versione 2.5.0-alpha06
7 agosto 2024
Viene rilasciato androidx.sqlite:sqlite-*:2.5.0-alpha06
. La versione 2.5.0-alpha06 contiene questi commit.
Nuove funzionalità
- Aggiungi il supporto del target multipiattaforma Kotlin
linuxArm64
(I139d3, b/338268719)
Versione 2.5.0-alpha05
10 luglio 2024
Viene rilasciato androidx.sqlite:sqlite-*:2.5.0-alpha05
. La versione 2.5.0-alpha05 contiene questi commit.
Modifiche alle API
SQLiteKt
è stato rinominato inSQLite
eBundledSQLiteKt
inBundledSQLite
. (I8b501)
Versione 2.5.0-alpha04
12 giugno 2024
Viene rilasciato androidx.sqlite:sqlite-*:2.5.0-alpha04
. La versione 2.5.0-alpha04 contiene questi commit.
Modifiche alle API
- È stata aggiunta un'API di sovraccarico
open()
aBundledSQLiteDriver
per passare i flag aperti all'apertura di una connessione di database. Utile per aprire un database in modalità di sola lettura o utilizzare la modalità sicura dei thread serializzati al posto della compilazione di SQLite in bundle in modalità multi-thread (b/340949940).
Correzioni di bug
- È stato risolto un problema di collegamento nel driver SQLite in bundle che causava la generazione di
UnsatisfiedLinkError
a causa di simboli atomici mancanti nei dispositivi Android con un ARM32. (b/341639198) - È stato risolto un problema nei driver per cui l'associazione di un array di byte di lunghezza zero in una colonna porta a un valore nullo durante la lettura da quel valore.
Versione 2.5.0-alpha03
29 maggio 2024
Viene rilasciato androidx.sqlite:sqlite-*:2.5.0-alpha03
. La versione 2.5.0-alpha03 contiene questi commit.
Correzioni di bug
- Risolvi un problema relativo a
BundledSQLiteDriver
in cui i database creati con questo contenevano il carattere di terminazione nullo C. (b/340822359)
Versione 2.5.0-alpha02
14 maggio 2024
androidx.sqlite:sqlite-*:2.5.0-alpha02
viene rilasciato senza modifiche significative dalla versione 2.5.0-alpha01 . La versione 2.5.0-alpha02 contiene questi commit.
Versione 2.5.0-alpha01
1° maggio 2024
Viene rilasciato androidx.sqlite:sqlite-*:2.5.0-alpha01
. La versione 2.5.0-alpha01 contiene questi commit.
Nuove funzionalità
- Supporto Kotlin Multi-Platform (KMP): con il rilascio della stanza 2.7.0-alpha01, che è la prima release di Room KMP, sono state aggiornate anche le API
SQLite
che consentono a Room di essere KMP. Il pacchettoandriodx.sqlite
contiene tre interfacce che definiscono le API SQLite di basso livello:SQLiteDriver
,SQLiteConnection
eSQLiteStatement
. L'elementoandroidx.sqlite:sqlite-framework
offre l'implementazione nativa delle interfacce per Android e iOS, mentreandroidx.sqlite:sqlite-bundled
offre un'implementazione che utilizzaSQLite
compilato dall'origine (nota anche come "SQLite in bundle"). Per saperne di più sull'API SQLite Driver, consulta la documentazione ufficiale SQLite KMP.
Versione 2.4
Versione 2.4.0
18 ottobre 2023
Vengono rilasciate le funzionalità androidx.sqlite:sqlite:2.4.0
, androidx.sqlite:sqlite-framework:2.4.0
e androidx.sqlite:sqlite-ktx:2.4.0
. La versione 2.4.0 contiene questi commit.
Modifiche importanti dalla versione 2.3.0
- Sono state aggiunte varie correzioni di bug.
Versione 2.4.0-rc01
20 settembre 2023
Vengono rilasciate le funzionalità androidx.sqlite:sqlite:2.4.0-rc01
, androidx.sqlite:sqlite-framework:2.4.0-rc01
e androidx.sqlite:sqlite-ktx:2.4.0-rc01
. La versione 2.4.0-rc01 contiene questi commit.
Versione 2.4.0-beta01
23 agosto 2023
Vengono rilasciate le funzionalità androidx.sqlite:sqlite:2.4.0-beta01
, androidx.sqlite:sqlite-framework:2.4.0-beta01
e androidx.sqlite:sqlite-ktx:2.4.0-beta01
. La versione 2.4.0-beta01 contiene questi commit.
Versione 2.4.0-alpha03
9 agosto 2023
Vengono rilasciate le funzionalità androidx.sqlite:sqlite:2.4.0-alpha03
, androidx.sqlite:sqlite-framework:2.4.0-alpha03
e androidx.sqlite:sqlite-ktx:2.4.0-alpha03
. La versione 2.4.0-alpha03 contiene questi commit.
Versione 2.4.0-alpha02
21 giu 2023
androidx.sqlite:sqlite:2.4.0-alpha02
, androidx.sqlite:sqlite-framework:2.4.0-alpha02
e androidx.sqlite:sqlite-ktx:2.4.0-alpha02
vengono rilasciate senza modifiche. La versione 2.4.0-alpha02 contiene questi commit.
Versione 2.4.0-alpha01
22 marzo 2023
Vengono rilasciate le funzionalità androidx.sqlite:sqlite:2.4.0-alpha01
, androidx.sqlite:sqlite-framework:2.4.0-alpha01
e androidx.sqlite:sqlite-ktx:2.4.0-alpha01
. La versione 2.4.0-alpha01 contiene questi commit.
Correzioni di bug
- È stato corretto un
NullPointerException
che poteva verificarsi inSupportSQLiteQueryBuilder
. (5df8698)
Versione 2.3.1
Versione 2.3.1
22 marzo 2023
Vengono rilasciate le funzionalità androidx.sqlite:sqlite:2.3.1
, androidx.sqlite:sqlite-framework:2.3.1
e androidx.sqlite:sqlite-ktx:2.3.1
. La versione 2.3.1 contiene questi commit.
Correzioni di bug
- Evita problemi relativi al framework per cui le query SQL non vengono invalidate dopo una modifica dello schema durante le migrazioni. Ora
FrameworkSupportSQLiteOpenHelper
imposterà la cache minima delle istruzioni SQL durante le migrazioni per evitare il problema. (0ad2a8f) - È stato risolto un problema per cui la directory della cache potrebbe non essere disponibile per l'uso per
SupportSQLiteLock
, pertanto è necessario gestire correttamente un file nullo. (9d177dc) - Risolto un problema per cui
attachedDbs
non restituiva l'elenco completo dei database collegati. (5f008e1).
Versione 2.3.0
Versione 2.3.0
11 gennaio 2023
Vengono rilasciate le funzionalità androidx.sqlite:sqlite:2.3.0
, androidx.sqlite:sqlite-framework:2.3.0
e androidx.sqlite:sqlite-ktx:2.3.0
. La versione 2.3.0 contiene questi commit.
Modifiche importanti dalla versione 2.2.0
- Le origini del gruppo di librerie
androidx.sqlite
sono state convertite da Java a Kotlin. Tieni presente che, poiché inandroidx.sqlite
mancavano alcune annotazioni dei valori NULL, potresti riscontrare errori di incompatibilità della fonte se le tue fonti sono in Kotlin e il codice deduceva il valore nullo sbagliato. Inoltre, alcuni metodi getter sono stati convertiti in proprietà che richiedono la sintassi di accesso alle proprietà nei file Kotlin. Segnala un bug in caso di incompatibilità significative. (b/240707042) - Aggiungi un'API nella configurazione
SupportSQLite's
per consentire la perdita di dati durante il meccanismo di recupero. (I1b830, b/215592732) - Aggiunta un'API per il blocco e l'utilizzo multi-processo a livello di
FrameworkSQLite*
, al fine di proteggere la creazione e le migrazioni di database multi-processo la prima volta. (Ied267, b/193182592)
Versione 2.3.0-rc01
7 dicembre 2022
Vengono rilasciate le funzionalità androidx.sqlite:sqlite:2.3.0-rc01
, androidx.sqlite:sqlite-framework:2.3.0-rc01
e androidx.sqlite:sqlite-ktx:2.3.0-rc01
. La versione 2.3.0-rc01 contiene questi commit.
Correzioni di bug
- Risoluzione del problema NPE in
SupportSQLiteQueryBuilder
per le colonne con valori null. (Ica8f5).
Versione 2.3.0-beta02
9 novembre 2022
Vengono rilasciate le funzionalità androidx.sqlite:sqlite:2.3.0-beta02
, androidx.sqlite:sqlite-framework:2.3.0-beta02
e androidx.sqlite:sqlite-ktx:2.3.0-beta02
. La versione 2.3.0-beta02 contiene questi commit.
- Correggi varie API che trasformano gli argomenti delle query da invarianti (
Array<Any?>
) a contravarianti (Array<out Any?>
) per corrispondere al comportamento dell'array di Java. (b/253531073)
Versione 2.3.0-beta01
5 ottobre 2022
Vengono rilasciate le funzionalità androidx.sqlite:sqlite:2.3.0-beta01
, androidx.sqlite:sqlite-framework:2.3.0-beta01
e androidx.sqlite:sqlite-ktx:2.3.0-beta01
. La versione 2.3.0-beta01 contiene questi commit.
Modifiche alle API
- Tutte le origini android.sqlite sono state convertite da Java a Kotlin. B/240707042
- Una modifica significativa della conversione è che le seguenti funzioni getter sono diventate proprietà:
- Tra
SupportSQLiteDatabase
: attachedDbs
isDatabaseIntegrityOk
isDbLockedByCurrentThread
isOpen
isReadOnly
isWriteAheadLoggingEnabled
maximumSize
pageSize
path
version
- Tra
SupportSQLiteOpenHelper
: databaseName
readableDatabase
writableDatabase
- Tra
Versione 2.3.0-alpha05
24 agosto 2022
Vengono rilasciate le funzionalità androidx.sqlite:sqlite:2.3.0-alpha05
, androidx.sqlite:sqlite-framework:2.3.0-alpha05
e androidx.sqlite:sqlite-ktx:2.3.0-alpha05
. La versione 2.3.0-alpha05 contiene questi commit.
Modifiche alle API
- Il gruppo di librerie origini androidx.sqlite è stato convertito da Java a Kotlin. Tieni presente che, poiché in androidx.sqlite mancava alcune annotazioni nullità mancanti, potresti riscontrare errori di incompatibilità del codice se le fonti sono in Kotlin e il codice deduceva il valore nullo sbagliato. Segnala un bug in caso di incompatibilità significative. (b/240707042)
Versione 2.3.0-alpha04
10 agosto 2022
Vengono rilasciate le funzionalità androidx.sqlite:sqlite:2.3.0-alpha04
, androidx.sqlite:sqlite-framework:2.3.0-alpha04
e androidx.sqlite:sqlite-ktx:2.3.0-alpha04
. La versione 2.3.0-alpha04 contiene questi commit.
Modifiche alle API
- Nulla aggiornato (I29fbd)
Versione 2.3.0-alpha03
1 giugno 2022
Vengono rilasciate le funzionalità androidx.sqlite:sqlite:2.3.0-alpha03
, androidx.sqlite:sqlite-framework:2.3.0-alpha03
e androidx.sqlite:sqlite-ktx:2.3.0-alpha03
. La versione 2.3.0-alpha03 contiene questi commit.
Modifiche alle API
- Imposta
androidx.sqlite.ProcessLock
come limitato. L'ambito dell'API è limitato alla sua funzione all'interno diandroidx.sqlite
e non deve essere utilizzata come blocco multi-processo per uso generico. (I1643f)
Versione 2.3.0-alpha02
6 aprile 2022
Vengono rilasciate le funzionalità androidx.sqlite:sqlite:2.3.0-alpha02
, androidx.sqlite:sqlite-framework:2.3.0-alpha02
e androidx.sqlite:sqlite-ktx:2.3.0-alpha02
. La versione 2.3.0-alpha02 contiene questi commit.
- Nessuna modifica significativa dalla versione 2.3.0-alpha01
Versione 2.3.0-alpha01
23 febbraio 2022
Vengono rilasciate le funzionalità androidx.sqlite:sqlite:2.3.0-alpha01
, androidx.sqlite:sqlite-framework:2.3.0-alpha01
e androidx.sqlite:sqlite-ktx:2.3.0-alpha01
. La versione 2.3.0-alpha01 contiene questi commit.
Modifiche alle API
- Aggiungi un'API alla configurazione di SupportSQLite per consentire la perdita di dati durante il meccanismo di recupero. (I1b830, b/215592732)
- Aggiunta dell'API per il blocco e l'utilizzo multi-processo a livello di FrameworkSQLite*, al fine di proteggere la creazione e le migrazioni di database multi-processo la prima volta. (Ied267, b/193182592)
Versione 2.2.0
Versione 2.2.0
15 dicembre 2021
Vengono rilasciate le funzionalità androidx.sqlite:sqlite:2.2.0
, androidx.sqlite:sqlite-framework:2.2.0
e androidx.sqlite:sqlite-ktx:2.2.0
. La versione 2.2.0 contiene questi commit.
Modifiche importanti dalla versione 2.1.0
Aggiungi il metodo predefinito per execPerConnectionSQL()
in SupportSQLiteDatabase
.
Versione 2.2.0-rc01
1 dicembre 2021
Vengono rilasciate le funzionalità androidx.sqlite:sqlite:2.2.0-rc01
, androidx.sqlite:sqlite-framework:2.2.0-rc01
e androidx.sqlite:sqlite-ktx:2.2.0-rc01
. La versione 2.2.0-rc01 contiene questi commit.
Nessuna modifica significativa dalla versione 2.2.0-beta01.
Versione 2.2.0-beta01
13 ottobre 2021
Vengono rilasciate le funzionalità androidx.sqlite:sqlite:2.2.0-beta01
, androidx.sqlite:sqlite-framework:2.2.0-beta01
e androidx.sqlite:sqlite-ktx:2.2.0-beta01
. La versione 2.2.0-beta01 contiene questi commit.
- Nessuna modifica rispetto alla versione alpha precedente.
Versione 2.2.0-alpha02
21 luglio 2021
Vengono rilasciate le funzionalità androidx.sqlite:sqlite:2.2.0-alpha02
, androidx.sqlite:sqlite-framework:2.2.0-alpha02
e androidx.sqlite:sqlite-ktx:2.2.0-alpha02
. La versione 2.2.0-alpha02 contiene questi commit.
Nessuna modifica significativa dalla versione 2.2.0-alpha01. Questa release è in linea con la stanza virtuale 2.4.0-alpha04
.
Versione 2.2.0-alpha01
16 giugno 2021
Vengono rilasciate le funzionalità androidx.sqlite:sqlite:2.2.0-alpha01
, androidx.sqlite:sqlite-framework:2.2.0-alpha01
e androidx.sqlite:sqlite-ktx:2.2.0-alpha01
. La versione 2.2.0-alpha01 contiene questi commit.
Modifiche alle API
- Aggiungi il metodo predefinito per
execPerConnectionSQL()
in SupportSQLiteDatabase (I86326, b/172270145)
Versione 2.1.0
Versione 2.1.0
22 gennaio 2020
androidx.sqlite:sqlite:2.1.0
, androidx.sqlite:sqlite-framework:2.1.0
e androidx.sqlite:sqlite-ktx:2.1.0
vengono rilasciate senza modifiche dal giorno 2.1.0-rc01
. La versione 2.1.0 contiene questi commit.
Modifiche importanti dalla versione 2.0.1
- Supporto per
useNoBackupDirectory
, che può essere utilizzato per indicare che il database deve essere creato in una directory senza backup quando si utilizzaSupportSQLiteOpenHelper
.
Versione 2.1.0-rc01
8 gennaio 2020
Viene rilasciato androidx.sqlite:sqlite-*:2.1.0-rc01
. La versione 2.1.0-rc01 contiene questi commit.
Questa release è identica a 2.1.0-beta01
.
Versione 2.1.0-beta01
4 dicembre 2019
androidx.sqlite:sqlite:2.1.0-beta01
, androidx.sqlite:sqlite-framework:2.1.0-beta01
e androidx.sqlite:sqlite-ktx:2.1.0-beta01
vengono rilasciate senza modifiche dal giorno 2.1.0-alpha01
. La versione 2.1.0-beta01 contiene questi commit.
Versione 2.1.0-alpha01
7 novembre 2019
Vengono rilasciate le funzionalità androidx.sqlite:sqlite:2.1.0-alpha01
, androidx.sqlite:sqlite-framework:2.1.0-alpha01
e androidx.sqlite:sqlite-ktx:2.1.0-alpha01
. La versione 2.1.0-alpha01 contiene questi commit.
Modifiche alle API
- È stata aggiunta una nuova proprietà a
SupportSQLiteOpenHelper.Configuration
denominatauseNoBackupDirectory
per indicare che è necessario creare un database basato su file e posizionarlo dalla directory senza backup.
Versione 2.0.1
Versione 2.0.1
13 marzo 2019
La versione 2.0.1 del gruppo di elementi androidx.sqlite
viene rilasciata con due correzioni di bug.
Correzioni di bug
- Sono stati risolti due problemi per cui
FrameworkSQLiteOpenHelper
non veniva recuperato correttamente da un database danneggiato o da una migrazione errata durante l'inizializzazione. (b/111504749 e b/111519144)