Wyświetl zawartość bazy danych utworzonej za pomocą biblioteki Room Persistence


100

Czy istnieje prostszy sposób, aby zobaczyć zawartość bazy danych utworzonej za pomocą biblioteki Room Persistence w Android Studio?


6
easier wayw porównaniu z którą drogą?
Vladyslav Matviienko

1
w porównaniu do starych podejść, takich jak używanie DDMS lub przez powłokę adb. DDMS zawiesza mój komputer, a korzystanie z adb wymaga dużo pracy. Myślę, że musi być łatwiejszy sposób, ponieważ został niedawno wydany przez Google
SpiralDev

12
Nie w Android Studio, ale ten github.com/facebook/stetho to najlepszy mostek do debugowania Androida opracowany przez Facebooka, z którego można zobaczyć bazę danych aplikacji, a nawet wspólne preferencje itp.
Moinkhan

Odpowiedzi:


47

Metoda 1

Możesz użyć Android-Debug-Database i możesz CRUD swoich danych z przeglądarki, a następnie możesz zobaczyć swoje dane preferencji z przeglądarki.

Metoda 2

Jeśli nie chcesz korzystać z przeglądarki i musisz sprawdzić inne pliki, musisz sprawdzić zmiany danych, użyj emulatora Genymotion, więc musisz zrootować emulator. Spróbuj zrootować emulator, zobacz w https: / /stackoverflow.com/a/44039429/2772552 . Daj mi znać, jeśli nie jesteś w porządku.


Można wyświetlić plik bazy danych, ale nie można wyświetlić utworzonych tabel w bazie danych. Wypróbowałem obie metody
Ravikiran

9
Wreszcie po całym dniu pracy znalazłem rozwiązanie. Eksportowanie plików „userdatabase”, „userdatabase-shm” i „userdatabase-wal” z emulatora i otwieranie pliku „userdatabase” w przeglądarce sqlite
Ravikiran

jeśli .db znajduje się w katalogu wewnętrznym, nie możesz go tam zobaczyć, ręcznie skopiuj plik .db do katalogu zewnętrznego magazynu i będzie to działać dla u
Htoo Aung Hlaing

Miałem problem z metodą 1, która powodowała problemy z odczytem / zapisem w innych zadaniach asynchronicznych. Spowodował zawieszenie aplikacji.
Jeffrey,

92

W starszych wersjach Android Studio:

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

W późniejszych wersjach Android Studio (3.5+):

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

1
operacja niedozwolona
Jonathan

2
@jonney Ta metoda będzie działać tylko na zrootowanym urządzeniu lub emulatorze.
Hitesh Bisht

1
Powinno to również działać na niezrootowanym telefonie z zainstalowaną aplikacją do debugowania, z wyjątkiem urządzeń Samsung
Gaket,

1
To powinna być akceptowana odpowiedź - najłatwiejszy sposób na uzyskanie bazy danych bez konieczności pobierania oprogramowania lub rootowania urządzenia.
beyondtheteal

1
@ JakubJabłoński uruchomić aplikację na emulatorze, niż otwarty Device File Explorer w Android Studio
kreker

69

w Android Studio 3.1. *

w pasku narzędzi kliknij na „ Device File explorer”, ogólnie można to znaleźć w prawym dolnym rogu ekranu

otwórz katalog w data/data/your-application-package/databases

w nowej architekturze w katalogu baz danych tworzone są 3 pliki

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

musisz wyeksportować wszystkie 3 w tym samym katalogu

następnie otwórz pierwszy plik (czyli tylko z nazwą twojej-bazy danych) w dowolnej przeglądarce sqlite.

a teraz możesz zobaczyć wszystkie swoje dane .......

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

te dwa dodatkowe pliki są potrzebne do otwarcia pliku db jeśli otworzysz tylko plik bazy danych, to nie znajdziesz żadnej tabeli w tym pliku


Jak mogę się dowiedzieć, gdzie w moim systemie plików znajduje się ścieżka „/ data / data / ...”?
Awais Hussain

Autor tej odpowiedzi faktycznie pokazuje, gdzie mieszka `` Device File Explorer '', co oszczędza trochę czasu początkującym; stąd +1
Ilonpilaaja

@AwaisHussain: użyjcontext.getDatabasePath("your-db-name.db")
gMale

Naciśnij dwukrotnie klawisz Shift, aby wyszukać wszędzie i wpisz Eksplorator plików urządzenia, jeśli został usunięty z prawego dolnego rogu w Twoim studio Android.
COYG

Dziękuję za odpowiedź
Amirhf

40

Pobierz i zainstaluj przeglądarkę DB dla SQLite

W wersjach Android Studio> = 3.0:

Otwórz Eksplorator plików urządzenia przez:

Widok > Okna narzędzi > Eksplorator plików urządzenia

W „Eksploratorze plików urządzeń” Idź do:

dane > dane > PACKAGE_NAME > bazy danych

gdzie NAZWA PAKIETU to nazwa Twojego pakietu (w poniższym przykładzie jest to com.edgedevstudio.sample)

Eksplorator plików urządzenia

Kliknij prawym przyciskiem myszy bazę danych i wybierz Zapisz jako. Zapisz go w dowolnym miejscu na swoim komputerze.

Otwórz przeglądarkę DB dla SQLite i kliknij „otwórz bazę danych” i otwórz bazę danych. wprowadź opis obrazu tutaj

W przypadku powyższego przykładu, należy zlokalizować „ todolist ” NOT ”todolist-shm” ani „todolist-wal”

Jeśli nie wyeksportujesz 3 plików bazy danych (nazwa_db, nazwa_bazy-shm i nazwa_db-wal, gdzie nazwa_db = nazwa bazy danych), nie będzie można odczytać bazy danych.


To jest to, czego szukałem… Dokładnie to, czego wymagałem! Dzięki @EdgeDev
Kannan_SJD

19

Osobiście używam Android Debug Database

Baza danych debugowania systemu Android to potężna biblioteka do debugowania baz danych i wspólnych preferencji w aplikacjach na Androida.

Szybki start

Dodaj to do pliku build.gradle swojej aplikacji

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

Po prostu uruchom aplikację, zobaczysz w logcat wpis taki jak:

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

wprowadź opis obrazu tutaj


wprowadź opis obrazu tutaj


Aby uzyskać więcej informacji, zajrzyj do repozytorium github


1
To najlepszy sposób, ponieważ nie ma potrzeby rootowania urządzenia
Sunil

1
Łał! Niesamowite rzeczy!! Dzięki stary!!
Barakuda

Niesamowity. To najlepsze narzędzie innej firmy, jakiego kiedykolwiek używałem z Androidem. Zaoszczędzono dużo czasu. Wielki szacunek dla dewelopera
Sojan PR

10

15 kwietnia 2020 r. - Dla ułatwienia wykonaj następujące czynności:

  1. Pobierz program SQLiteBrowser: Pobierz SQLite dla wszystkich systemów operacyjnych
  2. Kliknij „Device Exploler”, gdzie znajduje się prawy dolny róg w Android Studio.
  3. Zobaczysz dużo plików. Nie martw się! Podążaj ścieżką: dane / dane / {nazwa pakietu aplikacji}
  4. Kliknij prawym przyciskiem myszy „bazy danych” i zapisz jako na swoim komputerze.
  5. Otwórz SQLiteBrowser i kliknij „Otwórz bazę danych”, a następnie wybierz plik o tej samej nazwie, co nazwa Twojej bazy danych.
  6. Możesz przeglądać pliki i wybierać, które mają taką samą nazwę jak nazwa tabeli bazy danych.
  7. Ostatnim krokiem jest opcja „Przeglądaj dane” obok opcji Struktura bazy danych. Po jej zaznaczeniu możesz zobaczyć swoje dane z bazy danych.

Możesz zobaczyć kroki i po prostu postępować zgodnie z liczbami na poniższym obrazku

Możesz zobaczyć kroki na obrazie.

@canerkaseler


7

Użyj Stetho .

Dodaj go do swojego projektu systemu Android jako plik dependency.

Zadzwoń Stetho.initializeWithDefaults(this)do swojej Applicationbazy danych i przejrzyj ją za pomocą narzędzia chrome inspect. Wprowadź następujące informacje w pasku adresu Chrome w przeglądarce:chrome://inspect .

Presto! Możesz zobaczyć swoje Room database.


3

Zrobiłem to, wykonując następujące kroki:

1) Pobierz przeglądarkę db z poniższego linku.

https://sqlitebrowser.org/

2) Przejdź do Eksploratora plików urządzenia z IDE i skopiuj trzy wygenerowane pliki, na przykład wprowadź tutaj opis obrazu i wybierz wszystkie trzy pliki: your-db, your-db-shm, your-db-wal

naciśnij ctrl + shift + s i wklej go do jakiegoś folderu. Gotowe.

3) Na koniec otwórz your-db za pomocą aplikacji DbBrowser.


dzięki, muszę wybrać wszystkie trzy pliki: * -db, * -db-shm, * -db-wal
xyz

2

Wraz z najnowszą wersją Android Studio 4.1 Canary , Android Studio udostępnia nowe narzędzie o nazwie Database Inspector .

Możesz użyć tego narzędzia Database Inspector , aby wyświetlić plik bazy danych i jego zawartość, możesz także edytować zawartość bazy danych.

wprowadź opis obrazu tutaj

Jeśli używasz Room Persistence, zapewnia również możliwość uruchomienia @Queryw Android Studio. Możesz zobaczyć przycisk uruchamiania po lewej stronie @Queryadnotacji.

wprowadź opis obrazu tutaj

Jeśli używasz LiveData, będzie on odzwierciedlał zmiany zawartości bazy danych,

wprowadź opis obrazu tutaj


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

Niedawno wypróbowałem Sethto By Facebook .

Stetho to wyrafinowany pomost debugowania dla aplikacji na Androida. Gdy ta opcja jest włączona, programiści mają dostęp do funkcji Chrome Developer Tools, która jest częścią przeglądarki Chrome na komputerze

Musisz tylko uwzględnić jego zależność od gradle i wywołać w MainApp. Otóż ​​to. Otrzymasz dostęp do wszystkich narzędzi w oknie chrome, używając w chrome://inspect/tym bazy danych sqlite.

Poniżej znajduje się zrzut ekranu, który został sprawdzony przez bazę danych pomieszczeń na emulatorze. Do tej pory próbowałem tylko w emulatorze.

wprowadź opis obrazu tutaj


0

po pobraniu bazy danych (3 pliki) z eksploratora plików urządzeń zgodnie z komentarzami powyżej

Naprawdę polecam prosty program, taki jak „Przeglądarka DB dla SQLite” https://sqlitebrowser.org/


0

W najnowszych wersjach Android Studio można używać Database Inspectorw App Inspectionoknie narzędzi

wprowadź opis obrazu tutaj



Idź do App Inspection. Następnie wybierz proces. Database Inspectorpokaże teraz zawartość bazy danych.

wprowadź opis obrazu tutaj

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.