Sqlite

A biblioteca androidx.sqlite contém interfaces abstratas com implementações básicas que podem ser usadas para criar bibliotecas que acessam o SQLite.

É recomendado usar a biblioteca Room, que fornece uma camada de abstração sobre o SQLite para permitir um acesso mais robusto ao banco de dados, aproveitando toda a capacidade do SQLite.

Atualização mais recente Versão estável Versão candidata a lançamento Versão Beta Versão Alfa
18 de outubro de 2023 2.4.0 - - -

Como declarar dependências

Para adicionar uma dependência ao SQLite, adicione o repositório Maven do Google ao seu projeto. Leia Repositório Maven do Google para ver mais informações.

Adicione as dependências dos artefatos necessários ao arquivo build.gradle do seu app ou 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 mais informações sobre dependências, consulte Adicionar dependências de build.

Feedback

Seu feedback ajuda a melhorar o Jetpack. Avise se você descobrir novos problemas ou tiver ideias para melhorar esta biblioteca. Consulte os problemas conhecidos nesta biblioteca antes de criar um novo. Adicione seu voto a um problema clicando no botão de estrela.

Criar novo problema

Consulte a documentação do Issue Tracker para saber mais.

Versão 2.4

Versão 2.4.0

18 de outubro de 2023

Lançamento de androidx.sqlite:sqlite:2.4.0, androidx.sqlite:sqlite-framework:2.4.0 e androidx.sqlite:sqlite-ktx:2.4.0. A versão 2.4.0 contém estas confirmações.

Mudanças importantes desde a versão 2.3.0

  • Várias correções de bugs foram adicionadas.

Versão 2.4.0-rc01

20 de setembro de 2023

Lançamento de androidx.sqlite:sqlite:2.4.0-rc01, androidx.sqlite:sqlite-framework:2.4.0-rc01 e androidx.sqlite:sqlite-ktx:2.4.0-rc01. A versão 2.4.0-rc01 contém estas confirmações.

Versão 2.4.0-beta01

23 de agosto de 2023

Lançamento de androidx.sqlite:sqlite:2.4.0-beta01, androidx.sqlite:sqlite-framework:2.4.0-beta01 e androidx.sqlite:sqlite-ktx:2.4.0-beta01. A versão 2.4.0-beta01 contém estas confirmações.

Versão 2.4.0-alpha03

9 de agosto de 2023

Lançamento de androidx.sqlite:sqlite:2.4.0-alpha03, androidx.sqlite:sqlite-framework:2.4.0-alpha03 e androidx.sqlite:sqlite-ktx:2.4.0-alpha03. A versão 2.4.0-alpha03 contém estas confirmações.

Versão 2.4.0-alpha02

21 de junho de 2023

Lançamento de androidx.sqlite:sqlite:2.4.0-alpha02, androidx.sqlite:sqlite-framework:2.4.0-alpha02 e androidx.sqlite:sqlite-ktx:2.4.0-alpha02 sem mudanças. A versão 2.4.0-alpha02 contém estas confirmações.

Versão 2.4.0-alpha01

22 de março de 2023

Lançamento de androidx.sqlite:sqlite:2.4.0-alpha01, androidx.sqlite:sqlite-framework:2.4.0-alpha01 e androidx.sqlite:sqlite-ktx:2.4.0-alpha01. A versão 2.4.0-alpha01 contém estas confirmações.

Correções de bugs

  • Correção de uma NullPointerException que poderia ocorrer em SupportSQLiteQueryBuilder (5df8698).

Versão 2.3.1

Versão 2.3.1

22 de março de 2023

Lançamento de androidx.sqlite:sqlite:2.3.1, androidx.sqlite:sqlite-framework:2.3.1 e androidx.sqlite:sqlite-ktx:2.3.1. A versão 2.3.1 contém estas confirmações.

Correções de bugs

  • Evite um problema de framework em que as consultas SQL não sejam invalidadas após a mudança de um esquema durante as migrações. Para evitar o problema, FrameworkSupportSQLiteOpenHelper agora define o cache mínimo da instrução SQL durante as migrações (0ad2a8f).
  • Foi corrigido um problema em que o diretório de cache podia não estar disponível para uso no SupportSQLiteLock. Portanto, um arquivo nulo precisa ser processado corretamente (9d177dc).
  • Correção de um problema em que attachedDbs não retornava a lista completa de bancos de dados anexados (5f008e1).

Versão 2.3.0

Versão 2.3.0

11 de janeiro de 2023

Lançamento de androidx.sqlite:sqlite:2.3.0, androidx.sqlite:sqlite-framework:2.3.0 e androidx.sqlite:sqlite-ktx:2.3.0. A versão 2.3.0 contém estas confirmações.

Mudanças importantes desde a versão 2.2.0

  • As origens androidx.sqlite do grupo de bibliotecas foram convertidas de Java para Kotlin. Como o androidx.sqlite tem algumas anotações de nulidade ausentes, é possível que você encontre erros de incompatibilidade de origem caso as origens estejam em Kotlin e o código esteja inferindo a nulidade errada. Além disso, alguns métodos getter foram convertidos em propriedades que exigem a sintaxe de acesso a propriedades em arquivos Kotlin. Registre um bug no caso de incompatibilidades significativas (b/240707042).
  • Uma API foi adicionada à configuração do SupportSQLite's para permitir a perda de dados durante o mecanismo de recuperação (I1b830, b/215592732).
  • Uma API para bloqueio e uso de vários processos no nível do FrameworkSQLite* foi adicionada para proteger a primeira criação e migração de bancos de dados de vários processos (Ied267, b/193182592).

Versão 2.3.0-rc01

7 de dezembro de 2022

Lançamento de androidx.sqlite:sqlite:2.3.0-rc01, androidx.sqlite:sqlite-framework:2.3.0-rc01 e androidx.sqlite:sqlite-ktx:2.3.0-rc01. A versão 2.3.0-rc01 contém estas confirmações.

Correções de bugs

  • O problema da NPE em SupportSQLiteQueryBuilder nas colunas anuláveis foi corrigido (Ica8f5).

Versão 2.3.0-beta02

9 de novembro de 2022

Lançamento de androidx.sqlite:sqlite:2.3.0-beta02, androidx.sqlite:sqlite-framework:2.3.0-beta02 e androidx.sqlite:sqlite-ktx:2.3.0-beta02. A versão 2.3.0-beta02 contém estas confirmações.

  • Foram corrigidas várias APIs que usam argumentos de consulta de invariante (Array<Any?>) a contravariante (Array<out Any?>) para corresponder ao comportamento da matriz do Java (b/253531073).

Versão 2.3.0-beta01

5 de outubro de 2022

Lançamento de androidx.sqlite:sqlite:2.3.0-beta01, androidx.sqlite:sqlite-framework:2.3.0-beta01 e androidx.sqlite:sqlite-ktx:2.3.0-beta01. A versão 2.3.0-beta01 contém estas confirmações.

Mudanças na API

  • Todas as origens android.sqlite foram convertidas de Java em Kotlin (b/240707042).
  • Uma mudança notável na conversão é que estas funções getter se tornaram propriedades:
    • Em SupportSQLiteDatabase:
    • attachedDbs
    • isDatabaseIntegrityOk
    • isDbLockedByCurrentThread
    • isOpen
    • isReadOnly
    • isWriteAheadLoggingEnabled
    • maximumSize
    • pageSize
    • path
    • version
    • Em SupportSQLiteOpenHelper:
    • databaseName
    • readableDatabase
    • writableDatabase

Versão 2.3.0-alpha05

24 de agosto de 2022

Lançamento de androidx.sqlite:sqlite:2.3.0-alpha05, androidx.sqlite:sqlite-framework:2.3.0-alpha05 e androidx.sqlite:sqlite-ktx:2.3.0-alpha05. A versão 2.3.0-alpha05 contém estas confirmações.

Mudanças na API

  • As origens androidx.sqlite do grupo de bibliotecas foram convertidas de Java em Kotlin. Como o androidx.sqlite tem algumas anotações de nulidade ausentes, é possível que você encontre erros de incompatibilidade de origem se as origens estão em Kotlin, e o código está inferindo a nulidade errada. Registre um bug em caso de incompatibilidade significativa (b/240707042).

Versão 2.3.0-alpha04

10 de agosto de 2022

Lançamento de androidx.sqlite:sqlite:2.3.0-alpha04, androidx.sqlite:sqlite-framework:2.3.0-alpha04 e androidx.sqlite:sqlite-ktx:2.3.0-alpha04. A versão 2.3.0-alpha04 contém estas confirmações.

Mudanças na API

  • Atualização da nulidade (I29fbd).

Versão 2.3.0-alpha03

1º de junho de 2022

Lançamento de androidx.sqlite:sqlite:2.3.0-alpha03, androidx.sqlite:sqlite-framework:2.3.0-alpha03 e androidx.sqlite:sqlite-ktx:2.3.0-alpha03. A versão 2.3.0-alpha03 contém estas confirmações.

Mudanças na API

  • androidx.sqlite.ProcessLock foi restrito. A API tem escopo e é limitada à função dela em androidx.sqlite. Não é recomendado o uso geral dela para bloqueio de vários processos (I1643f).

Versão 2.3.0-alpha02

6 de abril de 2022

Lançamento de androidx.sqlite:sqlite:2.3.0-alpha02, androidx.sqlite:sqlite-framework:2.3.0-alpha02 e androidx.sqlite:sqlite-ktx:2.3.0-alpha02. A versão 2.3.0-alpha02 contém estas confirmações.

  • Nenhuma mudança significativa desde a versão 2.3.0-alpha01.

Versão 2.3.0-alpha01

23 de fevereiro de 2022

Lançamento de androidx.sqlite:sqlite:2.3.0-alpha01, androidx.sqlite:sqlite-framework:2.3.0-alpha01 e androidx.sqlite:sqlite-ktx:2.3.0-alpha01. A versão 2.3.0-alpha01 contém estas confirmações.

Mudanças na API

  • Adição de uma API à configuração do SupportSQLite para permitir a perda de dados durante o mecanismo de recuperação (I1b830, b/215592732).
  • Adição de API para bloqueio e uso de vários processos no nível do FrameworkSQLite* para proteger a primeira criação e migração de bancos de dados de vários processos (Ied267, b/193182592).

Versão 2.2.0

Versão 2.2.0

15 de dezembro de 2021

Lançamento de androidx.sqlite:sqlite:2.2.0, androidx.sqlite:sqlite-framework:2.2.0 e androidx.sqlite:sqlite-ktx:2.2.0. A versão 2.2.0 contém estas confirmações.

Mudanças importantes desde a versão 2.1.0

Adição do método padrão para execPerConnectionSQL() na SupportSQLiteDatabase.

Versão 2.2.0-rc01

1º de dezembro de 2021

Lançamento de androidx.sqlite:sqlite:2.2.0-rc01, androidx.sqlite:sqlite-framework:2.2.0-rc01 e androidx.sqlite:sqlite-ktx:2.2.0-rc01. A versão 2.2.0-rc01 contém estas confirmações.

Nenhuma mudança significativa desde a versão 2.2.0-beta01.

Versão 2.2.0-beta01

13 de outubro de 2021

Lançamento de androidx.sqlite:sqlite:2.2.0-beta01, androidx.sqlite:sqlite-framework:2.2.0-beta01 e androidx.sqlite:sqlite-ktx:2.2.0-beta01. A versão 2.2.0-beta01 contém estas confirmações.

  • Nenhuma mudança em relação à versão Alfa anterior.

Versão 2.2.0-alpha02

21 de julho de 2021

Lançamento de androidx.sqlite:sqlite:2.2.0-alpha02, androidx.sqlite:sqlite-framework:2.2.0-alpha02 e androidx.sqlite:sqlite-ktx:2.2.0-alpha02. A versão 2.2.0-alpha02 contém estas confirmações.

Nenhuma mudança significativa desde a versão 2.2.0-alpha01. Esta versão é apenas para alinhamento com a Room 2.4.0-alpha04.

Versão 2.2.0-alpha01

16 de junho de 2021

Lançamento de androidx.sqlite:sqlite:2.2.0-alpha01, androidx.sqlite:sqlite-framework:2.2.0-alpha01 e androidx.sqlite:sqlite-ktx:2.2.0-alpha01. A versão 2.2.0-alpha01 contém estas confirmações.

Mudanças na API

  • Adição do método padrão para execPerConnectionSQL() em SupportSQLiteDatabase (I86326, b/172270145)

Versão 2.1.0

Versão 2.1.0

22 de janeiro de 2020

Lançamento de androidx.sqlite:sqlite:2.1.0, androidx.sqlite:sqlite-framework:2.1.0 e androidx.sqlite:sqlite-ktx:2.1.0 sem mudanças desde 2.1.0-rc01. A versão 2.1.0 contém estas confirmações.

Mudanças importantes desde a versão 2.0.1

  • Suporte a useNoBackupDirectory, que pode ser usado para indicar que o banco de dados precisa ser criado no diretório sem backup ao usar SupportSQLiteOpenHelper.

Versão 2.1.0-rc01

8 de janeiro de 2020

Lançamento de androidx.sqlite:sqlite-*:2.1.0-rc01. A versão 2.1.0-rc01 contém estas confirmações.

Essa versão é idêntica a 2.1.0-beta01.

Versão 2.1.0-beta01

4 de dezembro de 2019

Lançamento de androidx.sqlite:sqlite:2.1.0-beta01, androidx.sqlite:sqlite-framework:2.1.0-beta01 e androidx.sqlite:sqlite-ktx:2.1.0-beta01 sem mudanças desde 2.1.0-alpha01. A versão 2.1.0-beta01 contém estas confirmações.

Versão 2.1.0-alpha01

7 de novembro de 2019

Lançamento de androidx.sqlite:sqlite:2.1.0-alpha01, androidx.sqlite:sqlite-framework:2.1.0-alpha01 e androidx.sqlite:sqlite-ktx:2.1.0-alpha01. A versão 2.1.0-alpha01 contém essas confirmações (link em inglês).

Mudanças na API

  • Adição de uma nova propriedade a SupportSQLiteOpenHelper.Configuration chamada useNoBackupDirectory para indicar que um banco de dados baseado em arquivo precisa ser criado e localizado no diretório sem backup.

Versão 2.0.1

Versão 2.0.1

13 de março de 2019

Lançamento da versão 2.0.1 do grupo de artefatos androidx.sqlite com duas correções de bugs.

Correções de bugs

  • Correção de dois problemas em que o FrameworkSQLiteOpenHelper não se recuperava corretamente de um banco de dados corrompido ou de uma migração incorreta durante a inicialização (b/111504749 e b/111519144).