Zeigen Sie den Inhalt der Datenbank an, die mit der Room Persistence Library erstellt wurde


94

Gibt es eine einfachere Möglichkeit, den Inhalt einer Datenbank anzuzeigen, die mit der Room Persistence Library in Android Studio erstellt wurde?


6
easier wayim Vergleich zu welchem ​​Weg?
Vladyslav Matviienko

1
im Vergleich zu alten Ansätzen wie der Verwendung von DDMS oder über die ADB-Shell. DDMS friert meinen Computer ein und die Verwendung von adb erfordert viel Arbeit. Ich denke, es muss einen einfacheren Weg geben, da er kürzlich von Google veröffentlicht wurde
SpiralDev

12
Nicht in Android Studio, aber diese github.com/facebook/stetho ist die beste von Facebook entwickelte Android-Debug-Brücke, von der aus Sie Ihre App-Datenbank, sogar gemeinsame Einstellungen usw. sehen können
Moinkhan

Antworten:


45

Methode 1

Sie können die Android-Debug-Datenbank verwenden und Ihre Daten über einen Browser CRUDEN. Anschließend können Sie Ihre Einstellungsdaten über einen Browser anzeigen.

Methode 2

Wenn Sie nicht über den Browser verwenden möchten und andere Dateien überprüfen müssen, müssen Sie Ihre Datenänderungen überprüfen und einen Genymotion-Emulator verwenden. Sie müssen also Ihren Emulator rooten. Versuchen Sie, Ihren Emulator zu rooten, siehe https: / /stackoverflow.com/a/44039429/2772552 . Lassen Sie mich wissen, wenn Sie nicht in Ordnung sind.


Datenbankdatei kann nicht angezeigt werden, erstellte Tabellen in der Datenbank können jedoch nicht angezeigt werden. Ich habe beide Methoden ausprobiert
Ravikiran

9
Endlich fand ich die Lösung nach einem Tag Arbeit. Exportieren Sie die Dateien "userdatabase", "userdatabase-shm" und "userdatabase-wal" aus dem Emulator und öffnen Sie die Datei "userdatabase" im SQLite-Viewer
Ravikiran,

Wenn sich .db im internen Verzeichnis befindet, dürfen Sie es dort nicht sehen. Kopieren Sie die .db-Datei manuell in das externe Speicherverzeichnis, und es funktioniert für u
Htoo Aung Hlaing

Ich hatte ein Problem mit Methode 1, bei dem Lese- / Schreibprobleme mit anderen asynchronen Aufgaben verursacht wurden. Die App wurde eingefroren.
Jeffrey

88

In älteren Android Studio-Versionen:

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

In späteren Android Studio-Versionen (3.5+):

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

1
Operation nicht erlaubt
Jonathan

2
@jonney Diese Methode funktioniert nur auf gerooteten Geräten oder Emulatoren.
Hitesh Bisht

1
Dies sollte auch auf einem nicht gerooteten Telefon mit installierter debuggbarer App funktionieren, mit Ausnahme von Samsung-Geräten
Gaket

1
Dies sollte die akzeptierte Antwort sein - der einfachste Weg, um die Datenbank zu erhalten, ohne Software herunterladen oder das Gerät rooten zu müssen.
Beyondtheteal

1
@ JakubJabłoński Starten Sie Ihre App auf Emulator, dann öffnen Sie den
Gerätedateie-

66

in Android Studio 3.1. *

Klicken Device File explorerSie in der Symbolleistenleiste auf " ". Im Allgemeinen finden Sie diese in der unteren rechten Ecke des Bildschirms

Verzeichnis öffnen in data/data/your-application-package/databases

Mit neuer Architektur werden 3 Dateien im Datenbankverzeichnis erstellt

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

Sie müssen alle 3 in dasselbe Verzeichnis exportieren

Öffnen Sie dann zuerst eine Datei (nur mit Ihrem Datenbanknamen) in einem beliebigen SQLite-Browser.

und jetzt können Sie alle Ihre Daten sehen .......

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

Diese beiden zusätzlichen Dateien werden zum Öffnen der Datenbankdatei benötigt, wenn Sie nur die Datenbankdatei öffnen, da Sie in dieser Datei keine Tabelle gefunden haben


Wie kann ich herausfinden, wo sich der Pfad "/ data / data / ..." in meinem Dateisystem befindet?
Awais Hussain

Der Autor dieser Antwort zeigt tatsächlich, wo sich "Device File Explorer" befindet, was Neulingen Zeit spart. daher +1
Ilonpilaaja

@ WaisHussain: Verwenden Siecontext.getDatabasePath("your-db-name.db")
gMale

Drücken Sie zweimal die Umschalttaste, um überall zu suchen, und geben Sie den Gerätedateiexplorer ein, wenn er in Ihrem Android Studio aus der unteren rechten Ecke entfernt wurde.
COYG

Vielen Dank für
Ihre

35

Laden Sie den DB Browser für SQLite herunter und installieren Sie ihn

In Android Studio-Versionen> = 3.0:

Öffnen Sie den Gerätedateiexplorer über:

Ansicht > Tool Windows > Gerätedateie-Explorer

Gehen Sie im "Gerätedateie-Explorer" zu:

Daten > Daten > PACKAGE_NAME > Datenbanken

Dabei ist PACKAGE_NAME der Name Ihres Pakets (im folgenden Beispiel com.edgedevstudio.sample).

Gerätedateie-Explorer

Klicken Sie mit der rechten Maustaste auf die Datenbank und wählen Sie Speichern unter. Speichern Sie es an einem beliebigen Ort auf Ihrem PC.

Öffnen Sie den DB Browser für SQLite und klicken Sie auf "Datenbank öffnen" und öffnen Sie die Datenbank. Geben Sie hier die Bildbeschreibung ein

Im obigen Beispiel sollten Sie " todolist ", NICHT "todolist-shm" oder "todolist-wal" suchen.

Wenn Sie die 3 Datenbankdateien (Datenbankname, Datenbankname-shm und Datenbankname-wal, wobei Datenbankname = Name der Datenbank) nicht exportieren, können Sie die Datenbank nicht lesen.


Dies ist, wonach ich gesucht habe. Genau das, was benötigt wird! Danke @EdgeDev
Kannan_SJD

17

Persönlich benutze ich Android Debug Database

Android Debug Database ist eine leistungsstarke Bibliothek zum Debuggen von Datenbanken und freigegebenen Einstellungen in Android-Anwendungen.

Schnellstart

Fügen Sie dies dem build.gradle Ihrer App hinzu

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

Starten Sie einfach die Anwendung, Sie sehen im Logcat einen Eintrag wie folgt:

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

Geben Sie hier die Bildbeschreibung ein


Geben Sie hier die Bildbeschreibung ein


Weitere Informationen finden Sie im Github- Repo


1
Dies ist der beste Weg, da das Gerät nicht
gerootet

1
Beeindruckend! Tolles Zeug!! Danke Alter !!
Barakuda

8

15. April 2020 - Befolgen Sie diese Schritte auf einfache Weise:

  1. SQLiteBrowser-Programm herunterladen : Laden Sie SQLite für alle Betriebssysteme herunter
  2. Klicken Sie auf "Device Exploler", wo sich in Android Studio die rechte untere Ecke befindet.
  3. Sie werden viele Dateien sehen. Keine Sorge! Folgen Sie dem Pfad: data / data / {Name Ihres App-Pakets}
  4. Klicken Sie mit der rechten Maustaste auf "Datenbanken" und speichern Sie auf Ihrem Computer.
  5. Öffnen Sie SQLiteBrowser und klicken Sie auf "Datenbank öffnen", um eine Datei auszuwählen, die denselben Namen wie Ihr Datenbankname hat.
  6. Sie können Dateien anzeigen und auswählen, welche denselben Namen wie Ihre Datenbanktabelle haben.
  7. Im letzten Schritt wird die Option "Daten durchsuchen" neben der Option "Datenbankstruktur" angezeigt. Wenn Sie diese Option auswählen, werden Ihre Datenbankdaten angezeigt.

Sie können Schritte sehen und einfach den Zahlen auf dem Bild unten folgen

Sie können Schritte auf dem Bild sehen.

@canerkaseler


7

Verwenden Sie Stetho .

Fügen Sie es Ihrem Android-Projekt als hinzu dependency.

Rufen Sie Stetho.initializeWithDefaults(this)Ihre an Applicationund zeigen Sie Ihre Datenbank mit dem Chrome Inspect Tool an. Geben Sie Folgendes in Ihre Chrome-URL-Leiste ein : chrome://inspect.

Presto! Sie können Ihre sehen Room database.


3

Ich habe dies mit den folgenden Schritten getan:

1) Laden Sie den Datenbankbrowser über den folgenden Link herunter.

https://sqlitebrowser.org/

2) Gehen Sie von IDE zum Gerätedateie-Explorer und kopieren Sie drei Dateien, die wie in der Bildbeschreibung eingegeben wurden, und wählen Sie alle drei Dateien aus: Ihre-Datenbank, Ihre-Datenbank-shm, Ihre-Datenbank-wal

Drücken Sie Strg + Umschalt + s und fügen Sie es in einen Ordner ein. Getan.

3) öffne endlich deine-db mit der DbBrowser App.


danke, müssen alle drei Dateien auswählen: * -db, * -db-shm, * -db-wal
xyz

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

Ich habe kürzlich Sethto By Facebook ausprobiert .

Stetho ist eine hoch entwickelte Debug-Bridge für Android-Anwendungen. Wenn diese Option aktiviert ist, haben Entwickler Zugriff auf die Chrome Developer Tools-Funktion, die nativ Teil des Chrome-Desktop-Browsers ist

Sie müssen nur die Gradle-Abhängigkeit angeben und MainApp aufrufen. Das ist es. Mit erhalten Sie Zugriff auf alle Werkzeuge im Chrome-Fensterchrome://inspect/ Ihre SQLite-Datenbank verwenden.

Es folgt ein Screenshot, der von Room Database on Emulator überprüft wurde . Ich habe es bisher nur im Emulator versucht.

Geben Sie hier die Bildbeschreibung ein


0

nachdem Sie Ihre DB (3 Dateien) von Device File Explorar erhalten haben, wie oben erwähnt

Ich empfehle wirklich ein einfaches Programm wie die Verwendung von "DB Browser for SQLite" https://sqlitebrowser.org/


0

Mit der neuesten Version von Android Studio 4.1 Canary bietet Android Studio ein neues Tool namens Database Inspector .

Mit diesem Datenbankinspektor können Sie die Datenbankdatei und ihren Inhalt anzeigen. Sie können auch den Datenbankinhalt bearbeiten.

Geben Sie hier die Bildbeschreibung ein

Wenn Sie verwenden Room Persistence, bietet es auch die Möglichkeit, @Querymit Android Studio zu arbeiten. Sie können die Schaltfläche Ausführen auf der linken Seite der @QueryAnmerkung sehen.

Geben Sie hier die Bildbeschreibung ein

Wenn Sie verwenden, werden LiveDataÄnderungen des Datenbankinhalts live wiedergegeben.

Geben Sie hier die Bildbeschreibung ein

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.