Sqlite

La libreria androidx.sqlite contiene interfacce astratte insieme ad implementazioni di base che possono essere utilizzate per creare le tue librerie che accedono a SQLite.

Ti consigliamo di utilizzare la libreria Room, che fornisce un livello di astrazione rispetto a SQLite per consentire un accesso al database più solido, sfruttando al contempo tutta la potenza di SQLite.

Aggiornamento più recente Release stabile Candidato di rilascio Versione beta Versione alpha
18 ottobre 2023 2.4.0 - - -

Dichiarazione delle dipendenze

Per aggiungere una dipendenza a SQLite, devi aggiungere il Repository Maven di Google al tuo progetto. Per ulteriori informazioni, consulta il Repository Maven di Google.

Aggiungi le dipendenze per gli artefatti necessari nel file build.gradle per l'app o il modulo:

Trendy

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 ulteriori informazioni sulle dipendenze, vedi Aggiungere dipendenze delle build.

Feedback

Il tuo feedback ci aiuta a migliorare Jetpack. Contattaci se scopri nuovi problemi o hai idee per migliorare la libreria. Dai un'occhiata ai problemi esistenti in questa libreria prima di crearne uno nuovo. Puoi aggiungere il tuo voto a un problema esistente facendo clic sul pulsante a forma di stella.

Crea un nuovo problema

Per ulteriori informazioni, consulta la documentazione di Issue Tracker.

Versione 2.4

Versione 2.4.0

18 ottobre 2023

androidx.sqlite:sqlite:2.4.0, androidx.sqlite:sqlite-framework:2.4.0 e androidx.sqlite:sqlite-ktx:2.4.0 vengono rilasciati. 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

androidx.sqlite:sqlite:2.4.0-rc01, androidx.sqlite:sqlite-framework:2.4.0-rc01 e androidx.sqlite:sqlite-ktx:2.4.0-rc01 vengono rilasciati. La versione 2.4.0-rc01 contiene questi commit.

Versione 2.4.0-beta01

23 agosto 2023

androidx.sqlite:sqlite:2.4.0-beta01, androidx.sqlite:sqlite-framework:2.4.0-beta01 e androidx.sqlite:sqlite-ktx:2.4.0-beta01 vengono rilasciati. La versione 2.4.0-beta01 contiene questi commit.

Versione 2.4.0-alpha03

9 agosto 2023

androidx.sqlite:sqlite:2.4.0-alpha03, androidx.sqlite:sqlite-framework:2.4.0-alpha03 e androidx.sqlite:sqlite-ktx:2.4.0-alpha03 vengono rilasciati. 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 rilasciati senza modifiche. La versione 2.4.0-alpha02 contiene questi commit.

Versione 2.4.0-alpha01

22 marzo 2023

androidx.sqlite:sqlite:2.4.0-alpha01, androidx.sqlite:sqlite-framework:2.4.0-alpha01 e androidx.sqlite:sqlite-ktx:2.4.0-alpha01 vengono rilasciati. La versione 2.4.0-alpha01 contiene questi commit.

Correzioni di bug

  • È stato corretto un NullPointerException che poteva verificarsi in SupportSQLiteQueryBuilder. (5df8698)

Versione 2.3.1

Versione 2.3.1

22 marzo 2023

androidx.sqlite:sqlite:2.3.1, androidx.sqlite:sqlite-framework:2.3.1 e androidx.sqlite:sqlite-ktx:2.3.1 vengono rilasciati. La versione 2.3.1 contiene questi commit.

Correzioni di bug

  • Evita un problema del framework per cui le query SQL non vengono invalidate dopo una modifica allo schema durante le migrazioni. Per evitare il problema, ora FrameworkSupportSQLiteOpenHelper imposterà la cache minima delle istruzioni SQL durante le migrazioni. (0ad2a8f)
  • Risolto il problema per cui la directory della cache potrebbe non essere disponibile per l'uso per SupportSQLiteLock, per cui un file nullo deve essere gestito senza problemi. (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

androidx.sqlite:sqlite:2.3.0, androidx.sqlite:sqlite-framework:2.3.0 e androidx.sqlite:sqlite-ktx:2.3.0 vengono rilasciati. 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é in androidx.sqlite mancano alcune annotazioni relative a valori null, potresti riscontrare errori di incompatibilità delle origini se le tue origini sono in Kotlin e il codice stava deducendo il valore nullo errato. Inoltre, alcuni metodi getter venivano convertiti in proprietà che richiedevano la sintassi di accesso alle proprietà sui file Kotlin. Segnala un bug se sono presenti 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)
  • È stata aggiunta l'API per il blocco e l'utilizzo di più processi a livello di FrameworkSQLite*, per proteggere la creazione e le migrazioni di database multi-processo la prima volta. (Ied267, b/193182592)

Versione 2.3.0-rc01

7 dicembre 2022

androidx.sqlite:sqlite:2.3.0-rc01, androidx.sqlite:sqlite-framework:2.3.0-rc01 e androidx.sqlite:sqlite-ktx:2.3.0-rc01 vengono rilasciati. 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

androidx.sqlite:sqlite:2.3.0-beta02, androidx.sqlite:sqlite-framework:2.3.0-beta02 e androidx.sqlite:sqlite-ktx:2.3.0-beta02 vengono rilasciati. La versione 2.3.0-beta02 contiene questi commit.

  • Correggi le varie API che utilizzano gli argomenti delle query da invariante (Array<Any?>) a controvariante (Array<out Any?>) per soddisfare il comportamento dell'array di Java. (b/253531073)

Versione 2.3.0-beta01

5 ottobre 2022

androidx.sqlite:sqlite:2.3.0-beta01, androidx.sqlite:sqlite-framework:2.3.0-beta01 e androidx.sqlite:sqlite-ktx:2.3.0-beta01 vengono rilasciati. 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
  • Un cambiamento notevole 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

Versione 2.3.0-alpha05

24 agosto 2022

androidx.sqlite:sqlite:2.3.0-alpha05, androidx.sqlite:sqlite-framework:2.3.0-alpha05 e androidx.sqlite:sqlite-ktx:2.3.0-alpha05 vengono rilasciati. La versione 2.3.0-alpha05 contiene questi commit.

Modifiche alle API

  • Le origini del gruppo di librerie androidx.sqlite sono state convertite da Java a Kotlin. Tieni presente che, poiché androidx.sqlite aveva alcune annotazioni di valore nullo mancanti, potresti riscontrare errori di incompatibilità delle origini se le tue origini sono in Kotlin e il codice stava deducendo il valore nullo errato. Segnala un bug se ci sono incompatibilità significative. (b/240707042)

Versione 2.3.0-alpha04

10 agosto 2022

androidx.sqlite:sqlite:2.3.0-alpha04, androidx.sqlite:sqlite-framework:2.3.0-alpha04 e androidx.sqlite:sqlite-ktx:2.3.0-alpha04 vengono rilasciati. La versione 2.3.0-alpha04 contiene questi commit.

Modifiche alle API

  • Valore null aggiornato (I29fbd)

Versione 2.3.0-alpha03

1° giugno 2022

androidx.sqlite:sqlite:2.3.0-alpha03, androidx.sqlite:sqlite-framework:2.3.0-alpha03 e androidx.sqlite:sqlite-ktx:2.3.0-alpha03 vengono rilasciati. La versione 2.3.0-alpha03 contiene questi commit.

Modifiche alle API

  • Rendi androidx.sqlite.ProcessLock limitato. L'API è limitata alla sua funzione all'interno di androidx.sqlite e non deve essere utilizzata come blocco multi-processo per uso generico. (I1643f)

Versione 2.3.0-alpha02

6 aprile 2022

androidx.sqlite:sqlite:2.3.0-alpha02, androidx.sqlite:sqlite-framework:2.3.0-alpha02 e androidx.sqlite:sqlite-ktx:2.3.0-alpha02 vengono rilasciati. La versione 2.3.0-alpha02 contiene questi commit.

  • Nessuna modifica significativa rispetto alla versione 2.3.0-alpha01

Versione 2.3.0-alpha01

23 febbraio 2022

androidx.sqlite:sqlite:2.3.0-alpha01, androidx.sqlite:sqlite-framework:2.3.0-alpha01 e androidx.sqlite:sqlite-ktx:2.3.0-alpha01 vengono rilasciati. La versione 2.3.0-alpha01 contiene questi commit.

Modifiche alle API

  • Aggiungi un'API nella configurazione di SupportSQLite per consentire la perdita di dati durante il meccanismo di recupero. (I1b830, b/215592732)
  • È stata aggiunta l'API per il blocco e l'utilizzo di più processi a livello di FrameworkSQLite*, per 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

androidx.sqlite:sqlite:2.2.0, androidx.sqlite:sqlite-framework:2.2.0 e androidx.sqlite:sqlite-ktx:2.2.0 vengono rilasciati. La versione 2.2.0 contiene questi commit.

Modifiche importanti dalla versione 2.1.0

Aggiungi un metodo predefinito per execPerConnectionSQL() in SupportSQLiteDatabase.

Versione 2.2.0-rc01

1° dicembre 2021

androidx.sqlite:sqlite:2.2.0-rc01, androidx.sqlite:sqlite-framework:2.2.0-rc01 e androidx.sqlite:sqlite-ktx:2.2.0-rc01 vengono rilasciati. La versione 2.2.0-rc01 contiene questi commit.

Nessuna modifica significativa rispetto alla versione 2.2.0-beta01.

Versione 2.2.0-beta01

13 ottobre 2021

androidx.sqlite:sqlite:2.2.0-beta01, androidx.sqlite:sqlite-framework:2.2.0-beta01 e androidx.sqlite:sqlite-ktx:2.2.0-beta01 vengono rilasciati. La versione 2.2.0-beta01 contiene questi commit.

  • Nessuna modifica dalla versione alpha precedente.

Versione 2.2.0-alpha02

21 luglio 2021

androidx.sqlite:sqlite:2.2.0-alpha02, androidx.sqlite:sqlite-framework:2.2.0-alpha02 e androidx.sqlite:sqlite-ktx:2.2.0-alpha02 vengono rilasciati. La versione 2.2.0-alpha02 contiene questi commit.

Nessuna modifica significativa rispetto alla versione 2.2.0-alpha01. Questa release è in linea con lo svincolo Stanza 2.4.0-alpha04.

Versione 2.2.0-alpha01

16 giugno 2021

androidx.sqlite:sqlite:2.2.0-alpha01, androidx.sqlite:sqlite-framework:2.2.0-alpha01 e androidx.sqlite:sqlite-ktx:2.2.0-alpha01 vengono rilasciati. 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 rilasciati 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 nessuna directory di backup quando si utilizza SupportSQLiteOpenHelper.

Versione 2.1.0-rc01

8 gennaio 2020

androidx.sqlite:sqlite-*:2.1.0-rc01 viene rilasciato. 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 rilasciati 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

androidx.sqlite:sqlite:2.1.0-alpha01, androidx.sqlite:sqlite-framework:2.1.0-alpha01 e androidx.sqlite:sqlite-ktx:2.1.0-alpha01 vengono rilasciati. La versione 2.1.0-alpha01 contiene questi commit.

Modifiche alle API

  • È stata aggiunta a SupportSQLiteOpenHelper.Configuration una nuova proprietà denominata useNoBackupDirectory per indicare che occorre creare e individuare un database basato su file 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 riusciva a recuperare correttamente da un database danneggiato o una migrazione errata durante l'inizializzazione. (b/111504749 e b/111519144)