Visualizza i contenuti del file di database in Android Studio


250

Uso Android Studio per sviluppare la mia app da quando è stata rilasciata.

Tutto funziona bene fino a poco tempo fa, devo eseguire il debug insieme al controllo del file di database. Dal momento che non so come visualizzare direttamente il database, quando ho eseguito il debug per generare il file di database, devo esportare il file di database dal mio telefono al PC.

Per fare questo, devo aprire DDMS > File Explorer. Una volta aperto il DDMS, devo ricollegare l'USB e perdo il thread di debug. Dopo aver controllato il file del database, devo chiudere il DDMS e riconnettere nuovamente l'USB per tornare alla modalità debug.

È troppo complicato. Qualcuno ha un modo migliore per farlo in Android Studio (so che è più facile in Eclipse)?


Risposte:


302

Visualizzazione di database da Android Studio:

Modifica: per visualizzare il database su un emulatore, attenersi alla seguente procedura (per il dispositivo reale, scorrere verso il basso):

  1. Scarica e installa SQLiteBrowser .

  2. Copia il database dal dispositivo al PC:

    • Versioni di Android Studio <3.0 :

      • Apri DDMS viaTools > Android > Android Device Monitor

      • Fai clic sul tuo dispositivo a sinistra.
        Dovresti vedere la tua applicazione: inserisci qui la descrizione dell'immagine

      • Vai a Esplora file (una delle schede a destra), vai a/data/data/databases inserisci qui la descrizione dell'immagine

      • Seleziona il database semplicemente facendo clic su di esso.

      • Vai nell'angolo in alto a destra della finestra di Monitoraggio dispositivi Android. Fare clic sul pulsante " estrarre un file dal dispositivo ": inserisci qui la descrizione dell'immagine

      • Si aprirà una finestra che ti chiederà dove vuoi salvare il tuo file di database. Salvalo dove vuoi sul tuo PC.

    • Versioni di Android Studio> = 3.0 :

      • Apri Esplora file dispositivo tramiteView > Tool Windows > Device File Explorer

      • Vai a data > data > PACKAGE_NAME > database, dove PACKAGE_NAME è il nome del tuo pacchetto (è com.Movie nell'esempio sopra)

      • Fare clic con il tasto destro sul database e selezionare Save As.... Salvalo dove vuoi sul tuo PC.

  3. Ora apri SQLiteBrowser che hai installato. Fai clic su " apri database ", vai alla posizione in cui hai salvato il file di database e apri . Ora puoi visualizzare i contenuti del tuo database.


Per visualizzare il database sul dispositivo mobile:

Vai a questo repository Github e segui le istruzioni nel file Leggimi per poter visualizzare il tuo database sul tuo dispositivo. Quello che ottieni è qualcosa del genere:

inserisci qui la descrizione dell'immagine

Questo è tutto. Va da sé tuttavia che è necessario annullare tutti questi passaggi prima di pubblicare l'app.


2
questa è per me la risposta corretta perché il suggerimento con lo strumento sqlitebrowser è fantastico. Grazie
Manu Zi il

26
/ data non si espande in Esplora file di Device Monitor, immagino che sia inaccessibile poiché elencare le voci della directory / data o / data / data richiede l'accesso superUser. Sono ancora in grado di accedere ai miei file di database tramite shell adb con privilegi su. Hai idea di come ottenere l'accesso su nel file manager?
Saravanabalagi Ramachandran il

2
@ZekeDran, sì, il metodo mostra solo i dati di un emulatore e non del tuo dispositivo. Ho aggiunto dei passaggi per visualizzare il database sul tuo dispositivo. Controlla la modifica
Ojonugwa Jude Ochalifu

11
Funziona, ma l'emulatore deve essere in esecuzione non più di API 23. Se usi API 25, allora non ci sono contenuti in Esplora file
Manos

2
Il gestore del database dal tuo link Github sta lavorando per me! Ha anche l'opportunità di testare le query!
basti12354,

198

Connettiti a Sqlite3 tramite ADB Shell

Non ho trovato alcun modo per farlo in Android Studio, ma accedo al db con una shell remota invece di estrarre il file ogni volta.

Trova tutte le informazioni qui: http://developer.android.com/tools/help/adb.html#sqlite

1- Vai alla cartella degli strumenti della piattaforma in un prompt dei comandi

2- Immettere il comando adb devicesper ottenere l'elenco dei dispositivi

C:\Android\adt-bundle-windows-x86_64\sdk\platform-tools>adb devices
List of devices attached
emulator-xxxx   device

3- Connetti una shell al tuo dispositivo:

C:\Android\adt-bundle-windows-x86_64\sdk\platform-tools>adb -s emulator-xxxx shell

4- Passare alla cartella contenente il file db:

cd data/data/<your-package-name>/databases/

5- esegui sqlite3 per connetterti al tuo db:

sqlite3 <your-db-name>.db

6- eseguire i comandi sqlite3 che ti piacciono, ad esempio:

Select * from table1 where ...;

Nota: trova altri comandi da eseguire di seguito.

Cheatsheet di SQLite

Ci sono alcuni passaggi per vedere le tabelle in un database SQLite:

  1. Elencare le tabelle nel database:

    .tables
  2. Elenca come appare la tabella:

    .schema tablename
  3. Stampa l'intero tavolo:

    SELECT * FROM tablename;
  4. Elencare tutti i comandi prompt di SQLite disponibili:

    .help

17
ottengo il permesso negato al passaggio 4, cosa ne pensi?
Adrian Olar,

4
Potrebbe essere necessario eseguire il root del tuo avd e / o avviare adb come root al passaggio 3 'root adb -s emulator-xxxx shell'
Distwo

2
passaggio 5: sqlite3 non trovato. Perché?
Sabsab,

3
Perché è necessario installare per utilizzare
Paul Paca-Vaca Seleznev,

12
Personalmente ho ottenuto l' autorizzazione negata quando ho provato ad accedere alla cartella dei database , l'esecuzione ha run-as your.package.namefatto il trucco.
Yann39,

83

In realtà sono molto sorpreso che nessuno abbia dato questa soluzione:

Dai un'occhiata a Stetho .

Ho usato Stetho in diverse occasioni per scopi diversi (uno dei quali è l'ispezione del database). Sul sito Web attuale , parlano anche delle funzionalità per l'ispezione della rete e la visualizzazione attraverso la gerarchia di visualizzazioni.

Richiede solo un piccolo setup: 1 aggiunta di dipendenza gradle (che puoi commentare per build di produzione), alcune righe di codice per creare un'istanza di Stetho e un browser Chrome (perché usa devtools di Chrome per tutto).

Aggiornamento : ora è possibile utilizzare Stetho per visualizzare i file Realm (se si utilizza Realm anziché un DB SQLite): https://github.com/uPhyca/stetho-realm

Aggiornamento n. 2 : ora puoi utilizzare Stetho per visualizzare i documenti Couchbase: https://github.com/RobotPajamas/Stetho-Couchbase

Aggiornamento n. 3 : Facebook sta concentrando gli sforzi sull'aggiunta di tutte le funzionalità di Stetho nel suo nuovo strumento, Flipper. Flipper ha già molte delle funzionalità di Stetho. Quindi, ora potrebbe essere un buon momento per effettuare il passaggio. https://fbflipper.com/docs/stetho.html


9
Grazie mille. Per essere più semplici, 1. compile 'com.facebook.stetho:stetho:1.3.1' e 2. aggiungi questo codice Stetho.initializeWithDefaults(this);e 3.chrome://inspect/#devices
Frank Myat Gio

2
Molto semplice, puoi vedere i dati dal database senza strumenti di terze parti, all'interno del browser Chrome.
Mateus Viccari,

Non dimenticare che Stetho.initializeWithDefaults(this);dovrebbe essere in Applicationclasse.
Wonsuc,

1
Ottimo strumento. L'app verrà elencata nella pagina #devices se l'installazione è stata eseguita correttamente. Fai clic su Controlla e poi vai su Risorse> Web SQL> [nome_db] e puoi scrivere le tue istruzioni sqlite.
Brad

73

Metodo più semplice quando non si utilizza un emulatore

$ adb shell
$ run-as your.package.name
$ chmod 777 databases
$ chmod 777 databases/database_name
$ exit
$ cp /data/data/your.package.name/databases/database_name /sdcard
$ run-as your.package.name # Optional
$ chmod 660 databases/database_name # Optional
$ chmod 660 databases # Optional
$ exit # Optional
$ exit
$ adb pull /sdcard/database_name

Avvertenze:

Non lo provo da un po '. Potrebbe non funzionare su API> = 25. Se il comando cp non funziona per te, prova una delle seguenti opzioni:

# Pick a writeable directory <dir> other than /sdcard
$ cp /data/data/your.package.name/databases/database_name <dir>

# Exit and pull from the terminal on your PC
$ exit
$ adb pull /data/data/your.package.name/databases/database_name

Spiegazione:

Il primo blocco configura le autorizzazioni del database per essere leggibili. Questo fa leva run-asche ti consente di impersonare l'utente del tuo pacchetto per apportare la modifica.

$ adb shell
$ run-as your.package.name
$ chmod 777 databases
$ chmod 777 databases/database_name
$ exit # Closes the shell started with run-as

Quindi copiamo il database in una directory leggibile / scrivibile dal mondo. Ciò consente all'adb di accedere all'utente.

$ cp /data/data/your.package.name/databases/database_name /sdcard

Quindi, sostituire i privilegi di lettura / scrittura esistenti. Questo è importante per la sicurezza della tua app, tuttavia i privilegi verranno sostituiti alla prossima installazione.

$ run-as your.package.name
$ chmod 660 databases/database_name 
$ chmod 660 databases
$ exit # Exit the shell started with run-as

Infine, copia il database sul disco locale.

$ exit # Exits shell on the mobile device (from adb shell) 
$ adb pull /sdcard/database_name

4
Ottengo problemi con il 2o comando: run-as. Ricevo 'com.mycompany.myappname' non è noto. E sì, sono sicuro che sto usando il nome del pacchetto corretto!
Scott Biggs,

1
@PhuLai hai provato un dispositivo diverso? Quale dispositivo non funziona?
morto il

1
Ho provato con Nexus 6P, API 25. Penso che questo metodo non funzionerà con le nuove versioni di Android.
Foo

chmod 660 databases/database_namedovrebbe essere primachmod 660 databases
Alaa M.

@PhuLai - Anche questo l'ho preso e poi ho provato a saltare il cpcomando e fare un comando pulldall'esterno (dopo aver cambiato i permessi) e ha funzionato ( adb pull data/data/package.name/databases/db_name.db)
Alaa M.

52

In Android Studio 3 e versioni successive puoi visualizzare una sezione "Esplora file dispositivo" nella parte inferiore destra di Android Studio.

Aprilo, quindi puoi vedere l'albero dei file, puoi trovare un database di applicazioni in questo percorso:

/data/data/{package_name}/databases/

inserisci qui la descrizione dell'immagine


2
Quando faccio doppio clic sul file DB per la mia app, mostra tutti i caratteri illeggibili. Quale lettore SQLite usi per guardare il contenuto del DB?
Surekha,

4
Raccomando sqlitebrowser.org gratuito, open source e disponibile per tutte le piattaforme.
Ali Zeynali,

3
il mio file database.db non contiene alcuna tabella.
Binil,

La cartella è vuota Errore: run-as: Could not set capabilities: Operation not permitted. Dispositivo Samsung: stackoverflow.com/questions/37413667/…
O-9

25

Infine, ho trovato una soluzione più semplice che non ha bisogno di aprire il DDMS.

In realtà, la soluzione si basa su ciò che ha detto @Distwo, ma non deve essere così complicato.

Innanzitutto , ricorda il percorso del tuo file di database nel dispositivo, dovrebbe sempre essere lo stesso. Ad esempio il mio è:/data/data/com.XXX.module/databases/com.XXX.module.database

In secondo luogo , eseguire questo comando che tira il file del database sul PC

 adb pull /data/data/com.XXX.module/databases/com.XXX.module.database /Users/somePathOnYourPC/

Quello che devi fare è semplicemente copiare e archiviare questo comando, quindi puoi usarlo ancora e ancora.

In terzo luogo , se hai l'autorizzazione negata o qualcosa del genere, esegui adb rootprima del comando precedente.


9
L'esecuzione adb rootnon funziona sul mio telefono. Si stampa adbd cannot run as root in production builds. Dopo l'esecuzione adb root, tuttavia, il comando pull si blocca e devo interromperlo manualmente.
LaDude,

@Daniela prova run-as your.package.namequesto "log in" come utente appartenente alla tua app
m02ph3u5

Utilizzare il comando sopra per copiare il file .db sul desktop, installare il plug-in del browser SQLiteManager in Firefox e iniziare la navigazione. 2 minuti di lavoro!
JaydeepW,

quel comando di root era per l'emulatore, non puoi semplicemente eseguire questo comando e sradicare il tuo 'telefono'.
Darpan

1
tutto è fatto, ottenuto il database.db. file MA quel file database.db non contiene alcuna tabella
Binil

16

Prova questo plugin Android Studio SQLScout . puoi vedere e modificare il database dell'app in tempo reale.

SQLScout

Modifica: ricorda che è un plugin a pagamento, ma ha una prova di 24 ore e adatto per il tempo di mal di testa.


17
È un prodotto a pagamento, hai dimenticato di menzionare.
yshahak,

58
non proprio, ha 24 ore di prova, ho pianificato il mio futuro come sviluppatore per più di 24 ore.
yshahak,

Purtroppo, non è gratuito.
K.Sopheak,

Il tempo di prova è di sole 36 ore.
Mahdi Moqadasi,

9

Dopo aver esaminato tutte le soluzioni che suggerirò

Usa Stethos
Consente di vedere quanto è semplice

Aggiungi le seguenti dipendenze nel file build.gradle

compile 'com.facebook.stetho:stetho:1.5.0'
compile 'com.facebook.stetho:stetho-js-rhino:1.4.2'

Quindi vai al tuo metodo mainActivity onCreate aggiungi la seguente riga

Stetho.initializeWithDefaults(this);

questo richiederebbe

import com.facebook.stetho.Stetho;

ora mentre esegui un'app da Android Studio, Open Chrome e nella barra degli indirizzi digita
chrome: // inspect /

nella scheda risorse> web SQL controlla facilmente il database e la tabella con cui giocarci


La camera è semplicemente orm, nulla cambia in termini di sql funziona allo stesso modo
ShankPossible

9

Il modo più semplice è utilizzare il database di debug Android libreria del (7,3k stelle su GitHub) .

Android-Debug-Database

vantaggi:

  • Implementazione rapida
  • Vedi tutti i database e le preferenze condivise
  • Modifica, elimina, crea direttamente i valori del database
  • Esegui qualsiasi query SQLite sul database specificato
  • Cerca tra i tuoi dati
  • Scarica il database
  • Aggiunta di file di database personalizzati
  • Non è necessario eseguire il root del dispositivo

Come usare:

  1. Aggiungi debugImplementation 'com.amitshekhar.android:debug-db:1.0.6'abuild.gradle (module) ;
  2. Avvia app;
  3. Trova il link di debug nei log (in LogCat) (ad es D/DebugDB: Open http://192.168.232.2:8080 in your browser , il link sarà diverso) e aprilo nel browser;
  4. Goditi il ​​potente strumento di debug!

Importante:

  • Sfortunatamente no funziona con gli emulatori
  • Se lo stai utilizzando tramite USB, esegui adb forward tcp:8080 tcp:8080
  • Il telefono e il laptop Android devono essere collegati alla stessa rete (Wifi o LAN)

Per maggiori informazioni vai alla pagina della libreria su GitHub.


1
Questo è il processo migliore e meno doloroso! Grazie Daniel
Sudip,

4

Per sapere dove è archiviato il database sqlite creato da te in Android Studio, devi seguire semplici passaggi:

1.Run your application
2.Go to Tools--->Android---->Device Monitor
3.Find your application name in left panel
4.Then click on File Explorer tab
5.Select data folder
6.Select data folder again and find your app or module name
7.Click on your  database name
8.On right-top window you have an option to pull file from device.
9.Click it and save it on your PC
10.Use FireFox Sqlite manager to attach it to your project.

Per ulteriori informazioni questo link sarà utile. http://www.c-sharpcorner.com/UploadFile/e14021/know-where-database-is-stored-in-android-studio/

Per visualizzare i tuoi dati presenti nel file db devi scaricare il browser sqlite o aggiungere plugin dello stesso in qualsiasi browser, quindi devi aprire il file nel browser e visualizzare i tuoi dati.

Scarica il browser da http://sqlitebrowser.org/

Ecco uno screenshot che mostra il browser contenente il database dei registri

Grazie,


4

Modo semplice e facile per visualizzare il contenuto del database all'interno di Android Studio .

#Per Android Studio 4.1 Canarie 6 e versioni successive

Puoi utilizzare un semplicissimo programma di ispezione Database di Android Studio . Dove puoi ispezionare, interrogare e modificare i database della tua app usando il nuovo Database Inspector. Ad esempio, puoi eseguire il debug dell'app in esecuzione modificando i valori nel database e testando tali modifiche sul dispositivo in tempo reale senza uscire da Android Studio .

Per iniziare, distribuisci la tua app su un dispositivo con livello API 26 o superiore e seleziona Visualizza> Finestre degli strumenti> Impostazioni Database dalla barra dei menu.

#Per Android Studio 4.0 e versioni successive

Innanzitutto , installa il plug-in Database Navigator in Android Studio

inserisci qui la descrizione dell'immagine

In secondo luogo , riavvia Android Studio

In terzo luogo , salva il database nella posizione predefinita come: (C: \ Utenti \ Nome utente \ Documenti \ AndroidStudio \ DeviceExplorer \ emulatore o dispositivo \ dati \ dati \ nome pacchetto \ database)

inserisci qui la descrizione dell'immagine

In quarto luogo , Connect ha salvato il file dbname_db in Database Navigator

inserisci qui la descrizione dell'immagine inserisci qui la descrizione dell'immagine

Fornire lo stesso percorso del file DB utilizzato nel passaggio Terzo

ovvero (C: \ Utenti \ Nome utente \ Documenti \ AndroidStudio \ DeviceExplorer \ emulatore o dispositivo \ dati \ dati \ nome pacchetto \ database \ pacchetto naem \ nome_db)

Infine , basta provare la connessione DB e aprire la console e fare tutto ciò che si desidera fare.

inserisci qui la descrizione dell'immagine

Se si desidera aggiornare DB basta ripetere il passaggio Secondo e salvarlo o aggiornarlo.

CODIFICA FELICE !!!!!


3
Questa soluzione richiede molti sforzi per il tuo lavoro quotidiano. E ad ogni modifica del database è necessario ricaricare il file sql - sembra un po 'complicato. Preferisco usare alcuni plugin che danno la possibilità di visualizzare il database sul server locale
Максим Петлюк

1
Sì, hai ragione, fino a quando non vi sarà alcun aggiornamento dei dati in tempo reale in Database Navigator, spero che aggiornerà presto i suoi plugin.
Nabin,

Esatto, sarebbe una grande caratteristica
Максим Петлюк

Sì, fino ad ora questo è il modo migliore per me se dobbiamo interrogare i dati, aggiungere, modificare ed eliminare
Nabin

Devo sempre fare il salvataggio per aggiornare il database? c'è un modo più semplice come in mysql tutto ciò che serve è premere il pulsante di aggiornamento.
ン ド リ ュ ー ラ イ ア ン ア

3

Il modo più semplice è collegare il dispositivo ed eseguire Android Studio dalla barra degli strumenti:

  1. Visualizza -> Finestra Strumenti -> Esplora file dispositivo
  2. Vai in dati / dati e trova il tuo pacchetto
  3. trova il file DB che desideri esplorare e scaricalo
  4. Consiglio su questo strumento online: https://sqliteonline.com/ per esplorare il file db

Un altro modo è usare la libreria Stetho:

  1. Aggiungi la dipendenza Stello al tuo build.gradle:

    compilare 'com.facebook.stetho: stetho: 1.5.0'

  2. Inserisci la seguente riga su onCreate () della tua classe di applicazione o attività principale:

    Stetho.initializeWithDefaults (this);

  3. Connetti il ​​tuo dispositivo, esegui l'app e inserisci il seguente sito su Chrome:

    chrome: // ispezionare / # dispositivi

e questo è tutto. ora puoi esplorare i tuoi tavoli.

Nota: si consiglia di rimuovere la dipendenza prima di passare alla produzione.


2

Se vuoi sfogliare i tuoi database DA WITHIN ANDROID STUDIO, ecco cosa sto usando:

Vai su File / Impostazioni / Plugin e cerca questo:

inserisci qui la descrizione dell'immagine

... Dopo aver riavviato Android Studio puoi scegliere il tuo file di database scaricato in questo modo: inserisci qui la descrizione dell'immagine

... Fai clic sull'icona "Apri SQL Console" e finisci con questa bella vista del tuo database all'interno di Android Studio: ! [inserisci la descrizione dell'immagine qui


2
Quindi devo sempre copiare db dall'emulatore?
Maksim Kniazev,


1

Questa è una domanda MOLTO vecchia e la mia risposta è simile ad alcune risposte sopra ma ha fatto MOLTO più velocemente. Lo script qui sotto è per Mac ma sono sicuro che qualcuno può modificarlo per Windows.

1) Apri Script Editor sul tuo Mac (puoi solo cercare Script Editor in Spotlight)
2) Copia e incolla il testo qui sotto e modificalo con il tuo percorso SDK, nome del pacchetto, ecc. (Vedi sotto)
3) Salva lo script! !

Questo è tutto! Basta premere il pulsante di riproduzione in alto per ottenere il file di database aggiornato, che sarà sul desktop.

sostituisci le seguenti cose nello script seguente:

path_to_my_sdk == >> inserisci il percorso completo del tuo sdk
my_package_name == >> nome pacchetto dell'applicazione
myDbName.db == >> nome file del database

set getLocalDb to "path_to_my_sdk/platform-tools/adb shell run-as my_package_name chmod 777 databases && path_to_my_sdk/platform-tools/adb shell run-as my_package_name chmod 777 databases/myDbName.db && path_to_my_sdk/platform-tools/adb shell run-as my_package_name cp databases/myDbName.db /sdcard/myDbName.db && path_to_my_sdk/platform-tools/adb pull /sdcard/myDbName.db /Users/User/Desktop/myDbName.db"
do shell script getLocalDb

Spero che questo aiuti qualcuno.


Ha funzionato per me. Tranne che devi cambiare "Utente" in Nome utente del tuo MacBook nella directory di output /Users/User/Desktop/myDbName.db
Kenny Dabiri,

1

So che la domanda è piuttosto vecchia ma credo che questo problema sia ancora presente.

Visualizzazione dei database dal browser

Ho creato uno strumento di sviluppo che puoi integrare come lib nel tuo progetto di app Android. Lo strumento apre un socket del server nella tua app per comunicare tramite browser web. È possibile sfogliare l'intero database e scaricare il file del database direttamente tramite il browser.

inserisci qui la descrizione dell'immagine

L'integrazione può essere effettuata tramite jitpack.io:

progetto build.gradle:

//...
allprojects {
    repositories {
        jcenter()
        maven { url 'https://jitpack.io' }
    }
}
//...

app build.gradle:

//...
dependencies {
    //...
    debugCompile 'com.github.sanidgmbh:debugghost:v1.1'
    //...
}
//...

Classe di applicazione di installazione

Per compilare DebugGhostLib solo in determinati tipi di build o sapori di prodotto, abbiamo bisogno di una classe di applicazione astratta che verrà derivata nei sapori speciali. Inserisci la seguente classe nella tua maincartella (sotto java> your.app.package):

public class AbstractDebugGhostExampleApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        // Do your general application stuff
    }
}

Ora, per il tuo tipo di build di rilascio (o sapore del prodotto), aggiungi la seguente classe di applicazione alla tua releasecartella (o sapore del prodotto) (anche sotto java> your.app.package):

public class MyApp extends AbstractDebugGhostExampleApplication {
    @Override
    public void onCreate() {
        super.onCreate();
    }
}

Questa è la classe di applicazione che non lo farà riferimento a DebugGhostLib.

Indica anche AndroidManifest.xmlche stai utilizzando la tua classe di applicazione. Questo sarà fatto nella tua maincartella:

<manifest package="demo.app.android.sanid.com.debugghostexample" xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- permissions go here -->
    <application android:name=".MyApp"> <!-- register your own application class -->
        <!-- your activities go here -->
    </application>
</manifest>

Ora, per il tuo tipo di build di debug (o sapore del prodotto), aggiungi la seguente classe di applicazione alla debugcartella (o sapore del prodotto) (anche sotto java> your.app.package):

public class MyApp extends AbstractDebugGhostExampleApplication {
    private DebugGhostBridge mDebugGhostBridge;

    @Override
    public void onCreate() {
        super.onCreate();

        mDebugGhostBridge = new DebugGhostBridge(this, MyDatabaseHelper.DATABASE_NAME, MyDatabaseHelper.DATABASE_VERSION);
        mDebugGhostBridge.startDebugGhost();
    }
}

Puoi ottenere lo strumento qui .


questo è un buon strumento proprio dopo che Stetho ha smesso di funzionare con il nuovo chrome,
Homayoun Behzadian,


1

Apri il Terminale Esplora file dispositivo nella parte inferiore di Android Studio.

Apri la cartella denominata Dati , quindi di nuovo all'interno di Dati apri la cartella Dati .

Apri i dati della cartella

Scorri verso il basso l'elenco delle cartelle e trova la cartella con your.package.name. Apri la cartella your.package.name > Database . Ottieni your.databaseName . Fare clic con il tasto destro del mouse su nome.database e salvare come in C: / your / Computer / Directory.

Vai a C: / your / Computer / Directory apri your.databaseName con DB SQLite

inserisci qui la descrizione dell'immagine


1

Per Android Studio 3.X

  1. Visualizza -> Strumento Windows -> Esplora file dispositivo
  2. In File Explorer data-> data-> com. (Pacchetto yourapplication) -> database
  3. Fare clic con il tasto destro del mouse sul database e salvare sul computer locale. Per aprire, il file è possibile utilizzare SQLite Studio semplicemente trascinando il file del database su di esso.

Ecco il link a SQLite Studio: https://sqlitestudio.pl/index.rvt?act=download


1

Con il rilascio dell'anteprima di Android Studio 4.1 Canary e Dev , puoi utilizzare un nuovo strumento chiamato

Ispettore database

Ispettore DB

Installa AS 4.1+, esegui l'app, apri Inspector database, ora puoi visualizzare i tuoi file di database sul lato sinistro del pannello di ispezione del database, quindi selezionare la tabella per visualizzare il contenuto.

Query dal vivo

O puoi eseguire le tue query utilizzando l' opzione Esegui SQL o se stai utilizzando Room, apri Inspector database ed esegui quindi l'app, puoi eseguire le query DAO nella tua interfaccia facendo clic sul pulsante Esegui a sinistra @Querydell'annotazione.

query dal vivo


1

Usa Android sqlite come il database lato server

Seguire questi passaggi elencati di seguito:

  1. Trova la finestra dello strumento Database e fai clic come nell'immagine qui sotto

inserisci qui la descrizione dell'immagine

  1. Fai clic sull'icona con il segno più e seleziona Android SQLite come sotto l'immagine

inserisci qui la descrizione dell'immagine

  1. Collega il tuo dispositivo Android al tuo computer

  2. Seleziona il pacchetto che ti interessa e seleziona il database come sotto l'immagine inserisci qui la descrizione dell'immagine

  3. Prima di eseguire tutti questi passaggi, devi assicurarti di disporre dell'autorizzazione giusta per accedere al file: /data/data//database/databasefile.db

Dopo tutti questi passaggi vedrai il contenuto del database come di seguito:

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine

L'ultima cosa importante è

È necessario fare clic sull'icona di aggiornamento ogni volta che i dati del database sono stati aggiornati.

inserisci qui la descrizione dell'immagine

Spero che questo lavori per te! Grazie !


0

Questa potrebbe non essere la risposta che stai cercando, ma non ho un modo migliore per scaricare DB dal telefono. Quello che suggerirò è assicurarsi di utilizzare questo mini-DDMS. Sarà super nascosto se non si fa clic sulla casella camoflage molto piccola nella parte inferiore sinistra del programma. (Ho cercato di passarci sopra con il mouse, altrimenti potresti perderlo.)

Anche il menu a discesa che dice nessun filtro (in alto a destra). Ha letteralmente un sacco di modi diversi per monitorare processi / app diversi per PPID, nome e molto altro. L'ho sempre usato per monitorare il telefono, ma tieni presente che non sto facendo il tipo di lavoro di sviluppo che deve essere positivo al 120%, il database non sta facendo qualcosa di straordinario.

Spero che sia d'aiuto

inserisci qui la descrizione dell'immagine


0

Ho messo insieme un'automazione della riga di comando unix di questo processo e ho inserito il codice qui:

https://github.com/elliptic1/Android-Sqlite3-Monitor

È uno script della shell che accetta il nome del pacchetto e il nome del database come parametri, scarica il file del database dal dispositivo Android collegato ed esegue lo script personalizzato sul file scaricato. Quindi, con uno strumento unix come 'watch', puoi avere una finestra terminale aperta con una vista che aggiorna periodicamente l'output dello script del tuo database.


0

Sto usando Windows 7, il mio dispositivo è un dispositivo Android emulato API 23. Suppongo che sia lo stesso per qualsiasi dispositivo reale purché sia ​​rootato e l'API non sia superiore a 23

Vai su Strumenti -> Android -> Monitor dispositivo Android. Vai a Esplora file. Nel mio caso, è in data / data // app_webview / d database / file_0 / 1

Devo aggiungere manualmente .db alla fine del file denominato "1"


0

È una combinazione di altre risposte con un vantaggio

  1. Installa DB Browser per SQLite
  2. Ottieni la posizione esatta da Device File Explorer per MyBase.db qualcosa come "/data/data/com.whatever.myapp/d Database/MyBase.db"
  3. Imposta la finestra del progetto da Android a Progetto, in modo da poter vedere i file (build.gradle, gradle.properties, ... ecc.)
  4. Nella finestra Progetto fai clic con il pulsante destro del mouse e scegli Apri in Terminale
  5. Nel terminale ora sei nel root director della tua applicazione dal disco fisso, quindi esegui: adb pull /data/data/com.whatever.myapp/database/MyBase.db
  6. Ora nella finestra Progetto del tuo Android Studio hai un file "MyBase.db"
  7. Fare doppio clic sul file db da Project e ora è possibile sfogliare / modificare i database nel browser DB
  8. Quando sei pronto, scrivi le modifiche nel browser DB in modo che i database vengano salvati sul disco fisso
  9. Nel terminale con il comando: adb premi MyBase.db /data/data/com.whatever.myapp/database/MyBase.db ti basta inviare dal disco rigido al dispositivo il database modificato.

0

Segui i passaggi precedenti per aprire la cartella del database della tua app in Esplora dispositivi Android e lì puoi vedere sei file, I primi tre sono denominati Android e gli ultimi tre sono nominati come nome del database. Devi solo lavorare con gli ultimi tre file, salvare questi tre file nella posizione preferita. È possibile salvare questi file facendo clic con il pulsante destro del mouse sul file e facendo clic sul pulsante Salva come (come se il mio database fosse denominato room_database e quindi tre file siano denominati room_database, room_database-shm e room_database-wal. Rinominare il file corrispondente come segue : -

1) room_database to room_database.db 2) room_database-shm to room_database.db-shm 3) room_database-wal to room_database.db-wal

Ora apri il primo file in qualsiasi browser SQLite e tutti e tre i file verranno popolati nel browser.


0

Infine, Android Studio supporta questa funzionalità con la scheda Impostazioni database. È possibile applicare facilmente le operazioni di visualizzazione / aggiornamento / query. Per ora non è in un canale stabile, ma puoi provarlo con Android Studio 4.1 Canary 5 e versioni successive.

Puoi vedere come appare la finestra di ispezione del database qui

E puoi scaricare la versione appropriata qui

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.