No Android Studio 4.1 e versões mais recentes, o Database Inspector permite inspecionar, consultar e modificar os bancos de dados do seu app enquanto ele está em execução. Isso é especialmente útil para a depuração do banco de dados. O Database Inspector funciona com o SQLite plain e com bibliotecas criadas com base no SQLite, como a Room.
Abrir o Database Inspector
Para abrir um banco de dados no Database Inspector, faça o seguinte:
Execute o app em um emulador ou dispositivo conectado executando a API de nível 26 ou versões mais recentes.
Selecione View > Tool Windows > Database Inspector na barra de menus.
Selecione o processo do app em execução no menu suspenso.
Os bancos de dados no app atualmente em execução aparecem no painel Databases. Expanda o nó do banco de dados que você quer inspecionar.
Ver e modificar dados
O painel Databases exibe uma lista dos bancos de dados no app e as- tabelas que cada um deles contém. Clique duas vezes no nome de uma tabela para exibir os dados na janela do inspetor à direita. É possível clicar em um cabeçalho de coluna para classificar os dados na janela do inspetor por essa coluna.

Para modificar os dados em uma tabela, clique duas vezes em uma célula, digite um novo valor
e pressione Enter. Se o app usa a Room e a IU observa o banco de dados,
por exemplo, com LiveData
ou Flow
, todas as mudanças feitas nos dados ficam
visíveis de imediato no app em execução. Caso contrário, só será possível visualizar essas
informações na próxima vez que o app ler os dados modificados do banco de dados.
Ver mudanças no banco de dados em tempo real
Se você quiser que o Database Inspector atualize automaticamente os dados que apresenta durante a interação com seu app em execução, marque a caixa de seleção Live Updates na parte superior da janela do inspetor. Enquanto as atualizações em tempo real estão ativadas, a tabela na janela do inspetor torna-se apenas para leitura e não será possível modificar os valores.
Como alternativa, atualize manualmente os dados clicando no botão Refresh table, na parte superior da janela do inspetor.
Consultar o banco de dados
O Database Inspector pode executar consultas no banco de dados do seu app enquanto ele está em execução. A ferramenta pode usar consultas DAO caso seu app use a Room, mas também aceita consultas SQL personalizadas.
Executar consultas DAO
Se o app usa a Room, o Android Studio oferece ações de gutter para você
executar rapidamente métodos de consulta já definidos nas classes
de DAO. Essas ações estão
disponíveis enquanto o app está em execução e o Database Inspector está aberto no
ambiente de desenvolvimento integrado. É possível executar qualquer método de consulta em um DAO clicando no botão Run SQLite
statement in Database Inspector
ao lado da anotação
@Query
.

Caso seu app inclua mais de um banco de dados, o Android Studio solicita que você selecione o banco de dados para consultar uma lista suspensa. Caso seu método de consulta inclua parâmetros de vinculação, o Android Studio solicita valores para cada parâmetro antes de executar a consulta. Os resultados da consulta são exibidos na janela do inspetor.
Executar consultas SQL personalizadas
Também é possível usar o Database Inspector para executar consultas SQL personalizadas nos bancos de dados do seu app enquanto ele está em execução. Para consultar um banco de dados, siga estas etapas:
Clique em Open New Query tab
na parte superior do painel Databases para abrir uma nova guia na janela do inspetor.
Figura 3. Abra uma guia New Query. Se o app incluir mais de um banco de dados, selecione o que você quer consultar na lista suspensa na parte superior da guia New Query.
Digite a consulta SQL personalizada no campo de texto na parte superior da guia New Query e clique em Run.
Os resultados da consulta exibidos na guia New Query são apenas para leitura e
não podem ser modificados. No entanto, é possível usar o campo de consulta SQL personalizado para executar
instruções do modificadoras, como UPDATE
, INSERT
ou DELETE
. Se o app usa a
Room e a IU observa o banco de dados, por exemplo, com LiveData
ou Flow
,
todas as mudanças feitas nos dados ficam visíveis de imediato no app em execução.
Caso contrário, só será possível visualizar essas informações na próxima vez que o app ler os dados
modificados do banco de dados.
Manter as conexões do banco de dados abertas
O Database Inspector só pode interagir com um banco de dados enquanto seu app
mantém uma conexão ativa com ele. Isso significa que, se o app se
conecta e desconecta com frequência dos bancos de dados, pode ser difícil
inspecioná-los. O painel Databases usa ícones para identificar bancos
de dados abertos
()
e fechados
(
).
Além disso, é possível impedir que as conexões de banco de dados sejam fechadas ao alternar
Keep database connections open de ()
desativado
para ativado
(
)
na parte superior do painel Databases.
Outros recursos
Para saber mais sobre o Database Inspector, consulte os seguintes recursos:
Postagens do blog
- Database Inspector: uma ferramenta de banco de dados em tempo real pela qual você estava esperando (link em inglês)
Vídeos
- Database Inspector (11 semanas do Android)