Ver o conteúdo do banco de dados criado com a Room Persistence Library


100

Existe alguma maneira mais fácil de ver o conteúdo do banco de dados criado com a Room Persistence Library no Android Studio?


6
easier wayem comparação com qual caminho?
Vladyslav Matviienko

1
em comparação com abordagens antigas, como o uso de DDMS ou via adb shell. DDMS congela meu computador e usar adb requer muito trabalho. Acho que deve haver uma maneira mais fácil, já que foi lançado pelo Google recentemente
SpiralDev

12
Não no Android Studio, mas este github.com/facebook/stetho é a melhor ponte de depuração do Android desenvolvida pelo Facebook, a partir da qual você pode ver o banco de dados do seu aplicativo, até mesmo preferências compartilhadas, etc.
Moinkhan

Respostas:


47

Método 1

Você pode usar o Android-Debug-Database e pode fazer um CRUD de seus dados em um navegador e, em seguida, ver seus dados de preferência em um navegador.

Método 2

Se você não quiser usar do navegador e tiver que verificar outros arquivos, precisa verificar as alterações de dados, use um emulador Genymotion. Portanto, você precisa fazer o root em seu emulador. Tente fazer root em seu emulador, plz veja em https: / /stackoverflow.com/a/44039429/2772552 . Deixe-me saber se você não está bem.


Capaz de ver o arquivo de banco de dados, mas incapaz de ver as tabelas criadas no banco de dados. Eu tentei os dois métodos
Ravikiran de

9
Finalmente encontrei a solução após um dia de trabalho. Exporte os arquivos "userdatabase", "userdatabase-shm" e "userdatabase-wal" do emulador e abra o arquivo "userdatabase" no visualizador sqlite
Ravikiran

se .db estiver no diretório interno, você não tem permissão para vê-lo, copie manualmente o arquivo .db para um diretório de armazenamento externo e funcionará para u
Htoo Aung Hlaing

Tive um problema com o método 1, que estava causando problemas de leitura / gravação com outras tarefas assíncronas. Fez com que o aplicativo travasse.
Jeffrey de

92

Em versões mais antigas do Android Studio:

Emulator -> Android Studio -> Device File Explorer -> /data/data/{$packageId}/databases/ -> Save As -> https://sqlitebrowser.org/

Em versões posteriores do Android Studio (3.5+):

View -> Tool Windows -> Device File Explorer -> /data/data/{$packageId}/databases/ -> Save As -> https://sqlitebrowser.org/

1
operação não permitida
Jonathan

2
@jonney Este método só funcionará em dispositivo ou emulador com acesso root.
Hitesh Bisht

1
Isso também deve funcionar em um telefone sem root com aplicativo depurável instalado, exceto dispositivos Samsung
Gaket

1
Esta deve ser a resposta aceita - a maneira mais fácil de obter o banco de dados sem ter que baixar o software ou fazer o root do dispositivo.
moeda de

1
@ JakubJabłoński inicie seu aplicativo no emulador, depois abra o Device File Explorer no Android Studio
kreker

69

no android studio 3.1. *

na barra da janela de ferramentas clique em " Device File explorer" geralmente você pode encontrar isto no canto inferior direito da tela.

diretório aberto em data/data/your-application-package/databases

com a nova arquitetura, 3 arquivos são criados no diretório de bancos de dados

your-database-name
your-database-name-shm
your-database-name-wal

você tem que exportar todos os 3 no mesmo diretório

em seguida, abra primeiro um arquivo (ou seja, apenas com o nome do seu banco de dados) em qualquer navegador sqlite.

e agora você pode ver todos os seus dados .......

your-database-name-shm
your-database-name-wal

esses dois arquivos extras são necessários para abrir o arquivo db se você abrir apenas o arquivo de banco de dados, então você não encontrará nenhuma tabela nesse arquivo


Como posso descobrir onde o caminho "/ data / data / ..." está no meu sistema de arquivos?
Awais Hussain

O autor desta resposta realmente mostra onde o `` Device File Explorer` vive, o que economiza algum tempo para iniciantes; portanto, +1
Ilonpilaaja

@AwaisHussain: usecontext.getDatabasePath("your-db-name.db")
gMale

Pressione shift duas vezes para pesquisar em todos os lugares e digite no Device File Explorer se tiver sido removido do canto inferior direito do seu Android Studio.
COYG

Obrigado por me responder
Amirhf

40

Baixe e instale o DB Browser para SQLite

Nas versões do Android Studio> = 3.0:

Abra o Device File Explorer via:

Exibir > Janelas de ferramentas > Gerenciador de arquivos do dispositivo

Em "Device File Explorer", vá para:

dados > dados > PACKAGE_NAME > bancos de dados

onde PACKAGE_NAME é o nome do seu pacote (é com.edgedevstudio.sample no exemplo abaixo)

Device File Explorer

Clique com o botão direito no banco de dados e selecione Salvar como. Salve onde quiser no seu PC.

Abra, DB Browser for SQLite e clique em 'abrir banco de dados' e abra o banco de dados. insira a descrição da imagem aqui

No caso do exemplo acima, você deve localizar " todolist " NÃO "todolist-shm" nem "todolist-wal"

Se você não exportar os 3 arquivos de banco de dados (db_name, db_name-shm & db_name-wal, onde db_name = nome do banco de dados), você não poderá ler o banco de dados.


Isso é o que eu estava procurando .. Exatamente o que precisava! Obrigado @EdgeDev
Kannan_SJD

19

Pessoalmente, eu uso o Android Debug Database

O Android Debug Database é uma biblioteca poderosa para depurar bancos de dados e preferências compartilhadas em aplicativos Android.

Começo rápido

Adicione isso ao build.gradle do seu aplicativo

debugImplementation 'com.amitshekhar.android:debug-db:1.0.4'

Basta iniciar o aplicativo, você verá no logcat uma entrada como a seguinte:

D/DebugDB: Open http://192.168.1.104:8080 in your browser

insira a descrição da imagem aqui


insira a descrição da imagem aqui


Para mais informações, dê uma olhada no github repo


1
Esta é a melhor maneira, já que não há necessidade de fazer o root no dispositivo
Sunil

1
Uau! Coisas incríveis!! Valeu cara!!
Barakuda

10

15 de abril de 2020 - Para facilitar, siga estas etapas:

  1. Baixe o programa SQLiteBrowser: Baixe o SQLite para todos os sistemas operacionais
  2. Clique em "Device Exploler", no canto inferior direito do Android Studio.
  3. Você verá muitos arquivos. Não se preocupe! Siga o caminho: data / data / {nome do pacote do seu aplicativo}
  4. Clique com o botão direito em "bancos de dados" e Salvar como em seu computador.
  5. Abra o SQLiteBrowser e clique em "Abrir banco de dados" e escolha o arquivo que tem o mesmo nome do seu banco de dados.
  6. Você pode ver os arquivos e selecionar qual tem o mesmo nome com o nome da tabela do seu banco de dados.
  7. Passo final, você pode ver a opção "Browse Data" próxima à opção Database Structure. Ao selecioná-la, você pode ver seus dados de banco de dados.

Você pode ver os passos e apenas seguir os números na imagem abaixo

Você pode ver os passos na imagem.

@canerkaseler


7

Use Stetho .

Adicione-o ao seu projeto Android como um dependency.

Chame Stetho.initializeWithDefaults(this)seu Applicatione visualize seu banco de dados usando a ferramenta de inspeção de cromo. Digite o seguinte em sua barra de URL chrome: chrome://inspect.

Presto! Você pode ver o seu Room database.


3

Eu fiz isso seguindo as etapas:

1) Baixe o navegador db no seguinte link.

https://sqlitebrowser.org/

2) Vá para o Device File Explorer do IDE e copie três arquivos gerados, como inserir a descrição da imagem aqui e selecione todos os três arquivos: your-db, your-db-shm, your-db-wal

pressione ctrl + shift + se cole em alguma pasta. Feito.

3) finalmente abra o your-db com o aplicativo DbBrowser.


obrigado, tem que selecionar todos os três arquivos: * -db, * -db-shm, * -db-wal
xyz

2

Com a versão mais recente do Android Studio 4.1 Canary , o Android Studio fornece uma nova ferramenta chamada Database Inspector .

Você pode usar esta ferramenta Database Inspector para visualizar o arquivo de banco de dados e seu conteúdo, você também pode editar o conteúdo do banco de dados.

insira a descrição da imagem aqui

Se você estiver usando Room Persistence, ele também fornece facilidade de execução @Queryno Android Studio. Você pode ver o botão Executar do lado esquerdo da @Queryanotação.

insira a descrição da imagem aqui

Se você estiver usando LiveData, ele refletirá as mudanças no conteúdo do banco de dados,

insira a descrição da imagem aqui


1
You can see your database table on the DB Browser for SQLite & room DB.

 In android studio 
1. Click on View -> Tool Windows -> Device File Explorer -> data
2. Select your project package name -> database -> select all file and save on desktop

Install **DB browser for SQLITE** 
1. sudo apt-get install sqlitebrowser //write on your terminal for install DB browser
2. install DB browser for sqlite
3. click on Open database and select file where you had saved your data
4. click on Brower Data and see your tables

This is all where i have see my android room database


0

Recentemente, experimentei o Sethto do Facebook .

Stetho é uma ponte de depuração sofisticada para aplicativos Android. Quando ativado, os desenvolvedores têm acesso ao recurso Ferramentas do desenvolvedor do Chrome, parte nativa do navegador Chrome para desktop

Você só precisa incluir sua dependência do gradle e chamar no MainApp. É isso aí. Você obtém acesso a todas as ferramentas na janela do cromo usando chrome://inspect/incluindo seu banco de dados sqlite.

A seguir está uma captura de tela onde foi inspecionada pelo Room Database on Emulator. Só tentei no emulador até agora.

insira a descrição da imagem aqui


0

depois de obter seu banco de dados (3 arquivos) de Explorar arquivos de dispositivos como comentários mencionados acima

Eu realmente recomendo um programa fácil como usar "DB Browser for SQLite" https://sqlitebrowser.org/


0

Nas versões mais recentes do Android Studio, você pode usar Database Inspectordentro da App Inspectionjanela de ferramentas

insira a descrição da imagem aqui



Vá para App Inspection. Em seguida, selecione o processo. Database Inspectoragora mostrará o conteúdo do banco de dados.

insira a descrição da imagem aqui

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.