Visualizza il contenuto del database creato con Room Persistence Library


98

Esiste un modo più semplice per visualizzare il contenuto del database creato con Room Persistence Library in Android Studio?


6
easier wayrispetto a che modo?
Vladyslav Matviienko

1
rispetto ai vecchi approcci come l'utilizzo di DDMS o tramite adb shell. DDMS blocca il mio computer e l'utilizzo di adb richiede molto lavoro. Penso che ci debba essere un modo più semplice dato che è stato rilasciato da Google di recente
SpiralDev l'

12
Non in Android Studio, ma questo github.com/facebook/stetho è il miglior bridge Android Debug sviluppato da Facebook, da cui puoi vedere il database delle tue app, anche le preferenze condivise, ecc.
Moinkhan

Risposte:


47

Metodo 1

Puoi utilizzare Android-Debug-Database e puoi CRUD dei tuoi dati da un browser, quindi puoi vedere i tuoi dati di preferenza da un browser.

Metodo 2

Se non vuoi usare dal browser e devi controllare altri file, devi controllare le modifiche ai tuoi dati, usa un emulatore Genmony.Quindi devi eseguire il root del tuo emulatore.Prova a eseguire il root del tuo emulatore, per favore vedi in https: / /stackoverflow.com/a/44039429/2772552 . Fammi sapere se non stai bene.


In grado di vedere il file del database ma non è possibile visualizzare le tabelle create nel database. Ho provato entrambi i metodi
Ravikiran

9
Finalmente ho trovato la soluzione dopo una giornata di lavoro. Esporta i file "userdatabase", "userdatabase-shm" e "userdatabase-wal" dall'emulatore e apri il file "userdatabase" in sqlite viewer
Ravikiran

se .db è nella directory interna, non sei autorizzato a vederla, copia manualmente il file .db nella directory di archiviazione esterna e funzionerà per u
Htoo Aung Hlaing

Ho avuto un problema con il metodo 1 in cui causava problemi di lettura / scrittura con altre attività asincrone. Ha causato il blocco dell'app.
Jeffrey

90

Nelle versioni precedenti di Android Studio:

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

Nelle versioni successive di Android Studio (3.5+):

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

1
operazione non consentita
Jonathan

2
@jonney Questo metodo funziona solo su un dispositivo o un emulatore rooted.
Hitesh Bisht

1
Questo dovrebbe funzionare anche su un telefono non rootato con app debuggabile installata, ad eccezione dei dispositivi Samsung
Gaket

1
Questa dovrebbe essere la risposta accettata: il modo più semplice per ottenere il DB senza dover scaricare software o eseguire il root del dispositivo.
beyondtheteal

1
@ JakubJabłoński avvia la tua app sull'emulatore, quindi apri Device File Explorer in Android Studio
kreker

66

in Android Studio 3.1. *

nella barra degli strumenti fai clic su " Device File explorer" generalmente puoi trovarlo nell'angolo inferiore destro dello schermo

apri directory in data/data/your-application-package/databases

con la nuova architettura 3 file viene creato nella directory dei database

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

devi esportare tutti e 3 nella stessa directory

quindi apri il primo file (cioè solo con il nome del tuo database) in qualsiasi browser sqlite.

e ora puoi vedere tutti i tuoi dati .......

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

questi due file aggiuntivi sono necessari per aprire il file db se aprirai solo il file di database, quindi non troverai nessuna tabella in quel file


Come posso scoprire dove si trova il percorso "/ data / data / ..." sul mio filesystem?
Awais Hussain

L'autore di questa risposta mostra effettivamente dove vive `` Device File Explorer`, il che fa risparmiare tempo ai neofiti; quindi +1
Ilonpilaaja

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

Premi due volte Shift per cercare ovunque e digita Device File Explorer se è stato rimosso dall'angolo in basso a destra nel tuo studio Android.
COYG

Grazie per avermi risposto
Amirhf

39

Scarica e installa DB Browser per SQLite

Nelle versioni di Android Studio> = 3.0:

Apri Device File Explorer tramite:

Visualizza > Strumenti di Windows > Esplora file del dispositivo

In "Esplora file dispositivo" vai a:

dati > dati > PACKAGE_NAME > database

dove PACKAGE_NAME è il nome del tuo pacchetto (è com.edgedevstudio.sample nell'esempio sotto)

Esplora file del dispositivo

Fare clic con il tasto destro sul database e selezionare Salva con nome. Salvalo dove vuoi sul tuo PC.

Apri, DB Browser per SQLite e fai clic su "Apri database" e apri il database. inserisci qui la descrizione dell'immagine

Nel caso dell'esempio sopra, dovresti individuare " todolist " NOT "todolist-shm" né "todolist-wal"

Se non si esportano i 3 file di database (nome_db, nome_db-shm e nome_db-wal, dove nome_db = nome del database) non sarà possibile leggere il database.


Questo è quello che stavo cercando .. Esattamente quanto richiesto! Grazie @EdgeDev
Kannan_SJD

19

Personalmente utilizzo il database di debug di Android

Il database di debug Android è una potente libreria per il debug di database e preferenze condivise nelle applicazioni Android.

Avvio rapido

Aggiungilo al file build.gradle della tua app

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

Basta avviare l'applicazione, vedrai nel logcat una voce come la seguente:

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

inserisci qui la descrizione dell'immagine


inserisci qui la descrizione dell'immagine


Per ulteriori informazioni, dai un'occhiata al repository github


1
Questo è il modo migliore in quanto non è necessario eseguire il root del dispositivo
Sunil

1
Wow! Roba incredibile !! Grazie amico !!
Barakuda,

10

15 aprile 2020 - Per un modo semplice, segui questi passaggi:

  1. Scarica il programma SQLiteBrowser: Scarica SQLite per tutti i sistemi operativi
  2. Fare clic su "Device Exploler" dove si trova l'angolo inferiore destro su Android Studio.
  3. Vedrai molti file. Non preoccuparti! Segui il percorso: data / data / {nome del pacchetto dell'app}
  4. Fare clic con il tasto destro su "database" e salvare con nome nel computer.
  5. Apri SQLiteBrowser e fai clic su "Apri database", quindi scegli il file che ha lo stesso nome del tuo database.
  6. Puoi vedere i file e selezionare quale ha lo stesso nome con il nome della tabella del database.
  7. Passaggio finale, puoi vedere l'opzione "Sfoglia dati" vicino all'opzione Struttura database "Quando la selezioni, puoi vedere i tuoi dati del database.

Puoi vedere i passaggi e seguire i numeri nell'immagine sottostante

Puoi vedere i passaggi sull'immagine.

@canerkaseler


7

Usa Stetho .

Aggiungilo al tuo progetto Android come file dependency.

Chiama il Stetho.initializeWithDefaults(this)tuo Applicatione visualizza il tuo database utilizzando lo strumento Chrome Inspect. Immettere la seguente nella barra degli URL chrome: chrome://inspect.

Presto! Puoi vedere il tuo Room database.


3

L'ho fatto seguendo i passaggi:

1) Scarica il browser db dal seguente link.

https://sqlitebrowser.org/

2) Vai a Device File Explorer da IDE e copia tre file generati come inserisci la descrizione dell'immagine qui e seleziona tutti e tre i file: your-db, your-db-shm, your-db-wal

premere ctrl + maiusc + s e incollarlo in una cartella. Fatto.

3) apri finalmente il tuo db con l'app DbBrowser.


grazie, devo selezionare tutti e tre i file: * -db, * -db-shm, * -db-wal
xyz

2

Con l'ultima versione di Android Studio 4.1 Canary , Android Studio fornisce un nuovo strumento chiamato Database Inspector .

Puoi utilizzare questo strumento Database Inspector per visualizzare il file del database e il suo contenuto, puoi anche modificare il contenuto del database.

inserisci qui la descrizione dell'immagine

Se si utilizza Room Persistence, fornisce anche funzionalità per l'esecuzione @Queryin Android Studio. Puoi vedere il pulsante Esegui sul lato sinistro @Querydell'annotazione.

inserisci qui la descrizione dell'immagine

Se stai utilizzando LiveData, rifletterà in tempo reale le modifiche al contenuto del database,

inserisci qui la descrizione dell'immagine


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 ho provato Sethto di Facebook .

Stetho è un sofisticato ponte di debug per applicazioni Android. Se abilitato, gli sviluppatori hanno accesso alla funzionalità Strumenti per sviluppatori di Chrome, parte nativa del browser desktop Chrome

Devi solo includere la sua dipendenza graduale e chiamare in MainApp. Questo è tutto. Puoi accedere a tutti gli strumenti nella finestra di Chrome utilizzando chrome://inspect/incluso il tuo database sqlite.

Di seguito è riportato uno screenshot in cui viene ispezionato dal database della stanza sull'emulatore. Finora ho provato solo in emulatore.

inserisci qui la descrizione dell'immagine


0

dopo aver ottenuto il tuo DB (3 file) da Device File Explorar come i commenti hanno detto sopra

Consiglio vivamente un programma semplice come utilizzare "DB Browser for SQLite" https://sqlitebrowser.org/

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.