Sqlite

La biblioteca androidx.sqlite contiene interfaces abstractas junto con implementaciones básicas que se pueden usar para compilar tus propias bibliotecas que acceden a SQLite.

Te recomendamos que consideres usar la biblioteca de Room, que brinda una capa de abstracción para SQLite que permite acceder a la base de datos sin problemas y, al mismo tiempo, aprovechar toda la potencia de SQLite.

Actualización más reciente Versión estable Versión potencial Versión beta Versión alfa
18 de octubre de 2023 2.4.0 - - -

Cómo declarar dependencias

Para agregar una dependencia en SQLite, debes agregar el repositorio de Maven de Google a tu proyecto. Consulta el repositorio de Maven de Google para obtener más información.

Agrega las dependencias de los artefactos que necesites en el archivo build.gradle de tu app o módulo:

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

Para obtener más información sobre las dependencias, consulta Cómo agregar dependencias de compilación.

Comentarios

Tus comentarios ayudan a mejorar Jetpack. Avísanos si descubres nuevos errores o tienes ideas para mejorar esta biblioteca. Consulta los errores existentes de esta biblioteca antes de crear uno nuevo. Puedes agregar tu voto a un error existente haciendo clic en el botón de la estrella.

Crear un error nuevo

Consulta la documentación sobre la Herramienta de seguimiento de errores para obtener más información.

Versión 2.4

Versión 2.4.0

18 de octubre de 2023

Lanzamiento de androidx.sqlite:sqlite:2.4.0, androidx.sqlite:sqlite-framework:2.4.0 y androidx.sqlite:sqlite-ktx:2.4.0. La versión 2.4.0 contiene estas confirmaciones.

Cambios importantes desde la versión 2.3.0

  • Se agregaron varias correcciones de errores.

Versión 2.4.0-rc01

20 de septiembre de 2023

Lanzamiento de androidx.sqlite:sqlite:2.4.0-rc01, androidx.sqlite:sqlite-framework:2.4.0-rc01 y androidx.sqlite:sqlite-ktx:2.4.0-rc01. La versión 2.4.0-rc01 contiene estas confirmaciones.

Versión 2.4.0-beta01

23 de agosto de 2023

Lanzamiento de androidx.sqlite:sqlite:2.4.0-beta01, androidx.sqlite:sqlite-framework:2.4.0-beta01 y androidx.sqlite:sqlite-ktx:2.4.0-beta01. La versión 2.4.0-beta01 contiene estas confirmaciones.

Versión 2.4.0-alpha03

9 de agosto de 2023

Lanzamiento de androidx.sqlite:sqlite:2.4.0-alpha03, androidx.sqlite:sqlite-framework:2.4.0-alpha03 y androidx.sqlite:sqlite-ktx:2.4.0-alpha03. La versión 2.4.0-alpha03 contiene estas confirmaciones.

Versión 2.4.0-alpha02

21 de junio de 2023

Lanzamiento de androidx.sqlite:sqlite:2.4.0-alpha02, androidx.sqlite:sqlite-framework:2.4.0-alpha02 y androidx.sqlite:sqlite-ktx:2.4.0-alpha02 sin cambios. La versión 2.4.0-alpha02 contiene estas confirmaciones.

Versión 2.4.0-alpha01

22 de marzo de 2023

Lanzamiento de androidx.sqlite:sqlite:2.4.0-alpha01, androidx.sqlite:sqlite-framework:2.4.0-alpha01 y androidx.sqlite:sqlite-ktx:2.4.0-alpha01. La versión 2.4.0-alpha01 contiene estas confirmaciones.

Correcciones de errores

  • Se corrigió un NullPointerException que podía ocurrir en SupportSQLiteQueryBuilder. (5df8698).

Versión 2.3.1

Versión 2.3.1

22 de marzo de 2023

Lanzamiento de androidx.sqlite:sqlite:2.3.1, androidx.sqlite:sqlite-framework:2.3.1 y androidx.sqlite:sqlite-ktx:2.3.1. La versión 2.3.1 contiene estas confirmaciones.

Correcciones de errores

  • Evita un problema de framework en el que las consultas en SQL no se invaliden después de un cambio de esquema durante las migraciones. Ahora FrameworkSupportSQLiteOpenHelper establecerá la caché mínima de instrucciones de SQL durante las migraciones para evitar el problema (0ad2a8f).
  • Se solucionó un problema en el que el directorio de caché podía no estar disponible para usar con SupportSQLiteLock, por lo que un archivo nulo debía manejarse correctamente (9d177dc).
  • Se solucionó un problema por el que attachedDbs no mostraba la lista completa de bases de datos adjuntas. (5f008e1).

Versión 2.3.0

Versión 2.3.0

11 de enero de 2023

Lanzamiento de androidx.sqlite:sqlite:2.3.0, androidx.sqlite:sqlite-framework:2.3.0 y androidx.sqlite:sqlite-ktx:2.3.0. La versión 2.3.0 contiene estas confirmaciones.

Cambios importantes desde la versión 2.2.0

  • Las fuentes del grupo de bibliotecas androidx.sqlite se convirtieron de Java a Kotlin. Ten en cuenta que, debido a que a androidx.sqlite le faltan algunas anotaciones de nulabilidad, es posible que experimentes errores de incompatibilidad de origen si tus fuentes están en Kotlin y el código infiere el valor de nulabilidad incorrecto. Además, algunos métodos get se convirtieron en propiedades que requieren la sintaxis de acceso a las propiedades en archivos Kotlin. Informa un error si hay alguna incompatibilidad significativa (b/240707042).
  • Se agregó una API en la configuración de SupportSQLite's para permitir la pérdida de datos durante el mecanismo de recuperación (I1b830, b/215592732).
  • Se agregó una API para el bloqueo y uso de varios procesos a nivel de FrameworkSQLite* para proteger la primera creación de bases de datos y migraciones de varios procesos (Ied267, b/193182592).

Versión 2.3.0-rc01

7 de diciembre de 2022

Lanzamiento de androidx.sqlite:sqlite:2.3.0-rc01, androidx.sqlite:sqlite-framework:2.3.0-rc01 y androidx.sqlite:sqlite-ktx:2.3.0-rc01. La versión 2.3.0-rc01 contiene estas confirmaciones.

Correcciones de errores

  • Se resolvió el problema de NPE en SupportSQLiteQueryBuilder de las columnas anulables (Ica8f5).

Versión 2.3.0-beta02

9 de noviembre de 2022

Lanzamiento de androidx.sqlite:sqlite:2.3.0-beta02, androidx.sqlite:sqlite-framework:2.3.0-beta02 y androidx.sqlite:sqlite-ktx:2.3.0-beta02. La versión 2.3.0-beta02 contiene estas confirmaciones.

  • Se corrigieron varias APIs que tomaban argumentos de consulta de invariantes (Array<Any?>) a contravariantes (Array<out Any?>) para que coincidan con el comportamiento de conjunto de Java (b/253531073).

Versión 2.3.0-beta01

5 de octubre de 2022

Lanzamiento de androidx.sqlite:sqlite:2.3.0-beta01, androidx.sqlite:sqlite-framework:2.3.0-beta01 y androidx.sqlite:sqlite-ktx:2.3.0-beta01. La versión 2.3.0-beta01 contiene estas confirmaciones.

Cambios en la API

  • Todas las fuentes de android.sqlite se convirtieron de Java a Kotlin. b/240707042
  • Un cambio notable de la conversión es que las siguientes funciones de método get se convirtieron en propiedades:
    • En SupportSQLiteDatabase:
    • attachedDbs
    • isDatabaseIntegrityOk
    • isDbLockedByCurrentThread
    • isOpen
    • isReadOnly
    • isWriteAheadLoggingEnabled
    • maximumSize
    • pageSize
    • path
    • version
    • En SupportSQLiteOpenHelper:
    • databaseName
    • readableDatabase
    • writableDatabase

Versión 2.3.0-alpha05

24 de agosto de 2022

Lanzamiento de androidx.sqlite:sqlite:2.3.0-alpha05, androidx.sqlite:sqlite-framework:2.3.0-alpha05 y androidx.sqlite:sqlite-ktx:2.3.0-alpha05. La versión 2.3.0-alpha05 contiene estas confirmaciones.

Cambios en la API

  • Las fuentes del grupo de bibliotecas de androidx.sqlite se convirtieron de Java a Kotlin. Ten en cuenta que, debido a que a androidx.sqlite le faltan algunas anotaciones de nulabilidad, es posible que experimentes errores de incompatibilidad de origen si tus fuentes están en Kotlin y el código infiere el valor de nulabilidad incorrecto. Informa un error si hay alguna incompatibilidad significativa (b/240707042).

Versión 2.3.0-alpha04

10 de agosto de 2022

Lanzamiento de androidx.sqlite:sqlite:2.3.0-alpha04, androidx.sqlite:sqlite-framework:2.3.0-alpha04 y androidx.sqlite:sqlite-ktx:2.3.0-alpha04. La versión 2.3.0-alpha04 contiene estas confirmaciones.

Cambios en la API

  • Se actualizó la nulabilidad (I29fbd).

Versión 2.3.0-alpha03

1 de junio de 2022

Se lanzaron androidx.sqlite:sqlite:2.3.0-alpha03, androidx.sqlite:sqlite-framework:2.3.0-alpha03 y androidx.sqlite:sqlite-ktx:2.3.0-alpha03. La versión 2.3.0-alpha03 contiene estas confirmaciones.

Cambios en la API

  • Se restringió androidx.sqlite.ProcessLock. La API se limita a su función dentro de androidx.sqlite y no se debe utilizar como un bloqueo de procesos múltiples de uso general (I1643f).

Versión 2.3.0-alpha02

6 de abril de 2022

Se lanzaron androidx.sqlite:sqlite:2.3.0-alpha02, androidx.sqlite:sqlite-framework:2.3.0-alpha02 y androidx.sqlite:sqlite-ktx:2.3.0-alpha02. La versión 2.3.0-alpha02 contiene estas confirmaciones.

  • No hay cambios significativos desde la versión 2.3.0-alpha01.

Versión 2.3.0-alpha01

23 de febrero de 2022

Se lanzaron androidx.sqlite:sqlite:2.3.0-alpha01, androidx.sqlite:sqlite-framework:2.3.0-alpha01 y androidx.sqlite:sqlite-ktx:2.3.0-alpha01. La versión 2.3.0-alpha01 contiene estas confirmaciones.

Cambios en la API

  • Se agregó una API a la configuración de SupportSQLite para permitir la pérdida de datos durante el mecanismo de recuperación (I1b830, b/215592732).
  • Se agregó una API para el bloqueo y el uso de varios procesos a nivel de FrameworkSQLite* para proteger la primera creación de bases de datos y migraciones de varios procesos (Ied267, b/193182592).

Versión 2.2.0

Versión 2.2.0

15 de diciembre de 2021

Lanzamiento de androidx.sqlite:sqlite:2.2.0, androidx.sqlite:sqlite-framework:2.2.0 y androidx.sqlite:sqlite-ktx:2.2.0. La versión 2.2.0 contiene estas confirmaciones.

Cambios importantes desde la versión 2.1.0

Se agregó el método predeterminado de execPerConnectionSQL() en SupportSQLiteDatabase.

Versión 2.2.0-rc01

1 de diciembre de 2021

Lanzamiento de androidx.sqlite:sqlite:2.2.0-rc01, androidx.sqlite:sqlite-framework:2.2.0-rc01 y androidx.sqlite:sqlite-ktx:2.2.0-rc01. La versión 2.2.0-rc01 contiene estas confirmaciones.

No hay cambios significativos desde la versión 2.2.0-beta01.

Versión 2.2.0-beta01

13 de octubre de 2021

Lanzamiento de androidx.sqlite:sqlite:2.2.0-beta01, androidx.sqlite:sqlite-framework:2.2.0-beta01 y androidx.sqlite:sqlite-ktx:2.2.0-beta01. La versión 2.2.0-beta01 contiene estas confirmaciones.

  • No hay cambios desde la versión alfa anterior.

Versión 2.2.0-alpha02

21 de julio de 2021

Lanzamiento de androidx.sqlite:sqlite:2.2.0-alpha02, androidx.sqlite:sqlite-framework:2.2.0-alpha02 y androidx.sqlite:sqlite-ktx:2.2.0-alpha02. La versión 2.2.0-alpha02 contiene estas confirmaciones.

No hay cambios significativos desde la versión 2.2.0-alpha01. Esta versión solo se lanzó para alinearla con la de Room 2.4.0-alpha04.

Versión 2.2.0-alpha01

16 de junio de 2021

Lanzamiento de androidx.sqlite:sqlite:2.2.0-alpha01, androidx.sqlite:sqlite-framework:2.2.0-alpha01 y androidx.sqlite:sqlite-ktx:2.2.0-alpha01. La versión 2.2.0-alpha01 contiene estas confirmaciones.

Cambios en la API

  • Se agregó un método predeterminado para execPerConnectionSQL() en SupportSQLiteDatabase. (I86326, b/172270145)

Versión 2.1.0

Versión 2.1.0

22 de enero de 2020

Lanzamiento de androidx.sqlite:sqlite:2.1.0, androidx.sqlite:sqlite-framework:2.1.0 y androidx.sqlite:sqlite-ktx:2.1.0 sin modificaciones desde la versión 2.1.0-rc01. La versión 2.1.0 contiene estas confirmaciones.

Cambios importantes desde la versión 2.0.1

  • Se agregó compatibilidad con useNoBackupDirectory, que se puede usar para indicar que se debe crear la base de datos en el directorio sin copia de seguridad cuando se utiliza SupportSQLiteOpenHelper.

Versión 2.1.0-rc01

8 de enero de 2020

Lanzamiento de androidx.sqlite:sqlite-*:2.1.0-rc01. La versión 2.1.0-rc01 contiene estas confirmaciones.

Esta versión es idéntica a la 2.1.0-beta01.

Versión 2.1.0-beta01

4 de diciembre de 2019

Lanzamiento de androidx.sqlite:sqlite:2.1.0-beta01, androidx.sqlite:sqlite-framework:2.1.0-beta01 y androidx.sqlite:sqlite-ktx:2.1.0-beta01 sin modificaciones desde la versión 2.1.0-alpha01. La versión 2.1.0-beta01 contiene estas confirmaciones.

Versión 2.1.0-alpha01

7 de noviembre de 2019

Lanzamiento de androidx.sqlite:sqlite:2.1.0-alpha01, androidx.sqlite:sqlite-framework:2.1.0-alpha01 y androidx.sqlite:sqlite-ktx:2.1.0-alpha01. La versión 2.1.0-alpha01 contiene estas confirmaciones.

Cambios en la API

  • Se agregó una nueva propiedad a SupportSQLiteOpenHelper.Configuration, llamada useNoBackupDirectory, para indicar que se debe crear y ubicar una base de datos basada en archivos desde el directorio sin copia de seguridad.

Versión 2.0.1

Versión 2.0.1

13 de marzo de 2019

Lanzamiento de la versión 2.0.1 del grupo de artefactos con androidx.sqlite que incluye dos correcciones de errores.

Correcciones de errores

  • Se corrigieron dos problemas en los que FrameworkSQLiteOpenHelper no se recuperaba correctamente de una base de datos dañada o una migración incorrecta durante la inicialización. (b/111504749 y b/111519144).