Sqlite
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 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 |
---|---|---|---|---|
30 de outubro de 2024 | 2.4.0 | - | - | 2.5.0-alpha11 |
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.
Consulte a documentação do Issue Tracker para saber mais.
Versão 2.5
Versão 2.5.0-alpha11
30 de outubro de 2024
Lançamento de androidx.sqlite:sqlite-*:2.5.0-alpha11
. A versão 2.5.0-alpha11 contém estas confirmações.
Versão 2.5.0-alpha10
16 de outubro de 2024
Lançamento de androidx.sqlite:sqlite-*:2.5.0-alpha10
. A versão 2.5.0-alpha10 contém estas confirmações.
Mudanças na API
- Adição de
SQLiteStatement.getColumnType()
com as várias constantes de resultadoSQLITE_DATA_*
para permitir a recuperação do tipo de dados de uma coluna. (I1985c, b/369636251).
Versão 2.5.0-alpha09
2 de outubro de 2024
Lançamento de androidx.sqlite:sqlite-*:2.5.0-alpha09
. A versão 2.5.0-alpha09 contém estas confirmações.
Versão 2.5.0-alpha08
18 de setembro de 2024
Lançamento de androidx.sqlite:sqlite-*:2.5.0-alpha08
. A versão 2.5.0-alpha08 contém estas confirmações.
Versão 2.5.0-alpha07
21 de agosto de 2024
Lançamento de androidx.sqlite:sqlite-*:2.5.0-alpha07
. A versão 2.5.0-alpha07 contém estas confirmações.
Novos recursos
- Foi adicionado suporte para Linux ARM 64 nos destinos de JVM / Desktop. (b/358045505).
Versão 2.5.0-alpha06
7 de agosto de 2024
Lançamento de androidx.sqlite:sqlite-*:2.5.0-alpha06
. A versão 2.5.0-alpha06 contém estas confirmações.
Novos recursos
- Foi adicionado suporte ao destino
linuxArm64
Kotlin Multiplatform (I139d3, b/338268719).
Versão 2.5.0-alpha05
10 de julho de 2024
Lançamento de androidx.sqlite:sqlite-*:2.5.0-alpha05
. A versão 2.5.0-alpha05 contém estas confirmações.
Mudanças na API
SQLiteKt
foi renomeado comoSQLite
, eBundledSQLiteKt
foi renomeado comoBundledSQLite
(I8b501).
Versão 2.5.0-alpha04
12 de junho de 2024
Lançamento de androidx.sqlite:sqlite-*:2.5.0-alpha04
. A versão 2.5.0-alpha04 contém estas confirmações.
Mudanças na API
- Uma API de sobrecarga
open()
foi adicionada aBundledSQLiteDriver
para transmitir flags abertas ao abrir uma conexão de banco de dados. Útil para abrir um banco de dados no modo somente leitura ou usar o modo de segurança de linha de execução serializada em vez do modo de várias linhas de execução agrupado com o SQLite que é compilado (b/340949940).
Correções de bugs
- Correção de um problema de vinculação no driver SQLite agrupado que causava o lançamento de
UnsatisfiedLinkError
devido à falta de símbolos atômicos em dispositivos Android com um ARM32 (b/341639198). - Correção de um problema nos drivers em que a vinculação de uma matriz de bytes de comprimento zero a uma coluna gerava um valor nulo durante a leitura dela.
Versão 2.5.0-alpha03
29 de maio de 2024
Lançamento de androidx.sqlite:sqlite-*:2.5.0-alpha03
. A versão 2.5.0-alpha03 contém estas confirmações.
Correções de bugs
- Correção de um problema com o
BundledSQLiteDriver
em que os bancos de dados criados com ele teriam o caractere de finalização nulo C. (b/340822359).
Versão 2.5.0-alpha02
14 de maio de 2024
Lançamento do androidx.sqlite:sqlite-*:2.5.0-alpha02
sem mudanças significativas desde a versão 2.5.0-alpha01 . A versão 2.5.0-alpha02 contém estas confirmações.
Versão 2.5.0-alpha01
1o de maio de 2024
Lançamento de androidx.sqlite:sqlite-*:2.5.0-alpha01
. A versão 2.5.0-alpha01 contém estas confirmações.
Novos recursos
- Suporte ao Kotlin Multiplatform (KMP, na sigla em inglês): com o lançamento do Room 2.7.0-alpha01, que é a primeira versão do Room KMP, as APIs
SQLite
que permitem que o Room seja KMP também foram atualizadas. O pacoteandriodx.sqlite
contém três interfaces que definem APIs SQLite de baixo nível:SQLiteDriver
,SQLiteConnection
eSQLiteStatement
. O artefatoandroidx.sqlite:sqlite-framework
oferece a implementação das interfaces para Android e iOS de forma nativa, enquantoandroidx.sqlite:sqlite-bundled
oferece uma implementação que usaSQLite
compilado da origem (também conhecido como "SQLite agrupado"). Para mais informações sobre a API Driver SQLite, consulte a documentação oficial do KMP do SQLite.
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
- Corrigida uma
NullPointerException
que poderia ocorrer emSupportSQLiteQueryBuilder
. (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
- Evitamos um problema de framework em que as consultas SQL não eram invalidadas após uma mudança de esquema durante as migrações.
FrameworkSupportSQLiteOpenHelper
agora vai definir o cache mínimo de instruções SQL durante as migrações para evitar o problema. (0ad2a8f). - Correção de um problema em que o diretório de cache pode não estar disponível para uso em
SupportSQLiteLock
. Portanto, um arquivo nulo precisa ser processado corretamente. (9d177dc). - Correção de um problema em que o
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 oandroidx.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
- Em
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 emandroidx.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 usarSupportSQLiteOpenHelper
.
Versão 2.1.0-rc01
8 de janeiro de 2020
androidx.sqlite:sqlite-*:2.1.0-rc01
é lançado. 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
chamadauseNoBackupDirectory
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
- Foram corrigidos dois problemas em que
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).