Lihat konten database yang dibuat dengan Room Persistence Library

98

Apakah ada cara yang lebih mudah untuk melihat konten database yang dibuat dengan Room Persistence Library di Android Studio?

SpiralDev
sumber
6
easier waydibandingkan dengan jalan mana?
Vladyslav Matviienko
1
dibandingkan dengan pendekatan lama seperti menggunakan DDMS atau melalui adb shell. DDMS membekukan komputer saya dan menggunakan adb membutuhkan banyak pekerjaan. Saya pikir pasti ada cara yang lebih mudah karena dirilis oleh Google baru
SpiralDev
12
Tidak di studio android, tetapi github.com/facebook/stetho ini adalah jembatan Android Debug terbaik yang dikembangkan oleh facebook, dari mana Anda dapat melihat database aplikasi Anda, bahkan preferensi bersama, dll.
Moinkhan

Jawaban:

47

Metode 1

Anda dapat menggunakan Android-Debug-Database , dan Anda dapat CRUD data Anda dari browser, kemudian Anda dapat melihat data Preferensi Anda dari browser.

Metode 2

Jika Anda tidak ingin menggunakan dari Browser dan Anda harus memeriksa file lain, perlu memeriksa perubahan data Anda, gunakan Genymotion Emulator. Jadi Anda harus melakukan root pada emulator Anda.Coba Root emulator Anda, silakan lihat di https: / /stackoverflow.com/a/44039429/2772552 . Beri tahu saya jika Anda tidak baik-baik saja.

Htoo Aung Hlaing
sumber
Mampu melihat file database tetapi tidak dapat melihat tabel yang dibuat dalam database. Saya telah mencoba kedua metode
Ravikiran
9
Akhirnya saya menemukan solusinya setelah seharian bekerja. Ekspor file "userdatabase", "userdatabase-shm" dan "userdatabase-wal" dari emulator dan buka file "userdatabase" di sqlite viewer
Ravikiran
jika .db ada di direktori internal, Anda tidak diizinkan untuk melihatnya, salin file .db secara manual ke direktori penyimpanan eksternal dan ini akan berfungsi untuk u
Htoo Aung Hlaing
Saya mengalami masalah dengan metode 1 yang menyebabkan masalah baca / tulis dengan tugas asinkron lainnya. Menyebabkan aplikasi macet.
Jeffrey
90

Di versi Android Studio yang lebih lama:

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

Di versi Android Studio yang lebih baru (3.5+):

View -> Tool Windows -> Device File Explorer -> /data/data/{$packageId}/databases/ -> Save As -> https://sqlitebrowser.org/
kreker
sumber
1
operasi tidak diizinkan
Jonathan
2
@jonney Metode ini hanya akan bekerja pada perangkat atau emulator yang di-rooting.
Hitesh Bisht
1
Ini juga harus berfungsi pada ponsel yang tidak di-rooting dengan aplikasi yang dapat di-debug terpasang, kecuali perangkat Samsung
Gaket
1
Ini harus menjadi jawaban yang diterima - cara termudah untuk mendapatkan DB tanpa harus mengunduh perangkat lunak atau root perangkat.
Beyondtheteal
1
@ JakubJabłoński meluncurkan aplikasi Anda di emulator, lalu buka Device File Explorer di Android Studio
kreker
66

di studio android 3.1. *

di bilah jendela alat klik " Device File explorer" biasanya Anda dapat menemukan ini di pojok kanan bawah layar

buka direktori di data/data/your-application-package/databases

dengan arsitektur baru 3 file dibuat di direktori database

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

Anda harus mengekspor ketiganya dalam direktori yang sama

kemudian buka satu file pertama (hanya dengan nama-database-Anda) di browser sqlite apa pun.

dan sekarang Anda dapat melihat semua data Anda .......

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

dua file tambahan ini diperlukan untuk membuka file db jika Anda hanya akan membuka file database, daripada Anda tidak akan menemukan tabel di file itu

Avinash Jadaun
sumber
Bagaimana cara mengetahui letak jalur "/ data / data / ..." di sistem file saya?
Awais Hussain
Penulis jawaban ini sebenarnya menunjukkan di mana `Device File Explorer` berada, yang menghemat waktu bagi para pemula; maka +1
Ilonpilaaja
@AwaisHussain: gunakancontext.getDatabasePath("your-db-name.db")
gMale
Tekan shift dua kali untuk mencari di mana-mana dan ketik Device File Explorer jika sudah dihapus dari pojok kanan bawah di studio android Anda.
COYG
Terima kasih telah menjawab saya
Amirhf
39

Unduh & Instal DB Browser untuk SQLite

Di versi Android Studio> = 3.0:

Buka Device File Explorer melalui:

Tampilan > Alat Windows > Penjelajah File Perangkat

Di "Device File Explorer" Buka:

data > data > PACKAGE_NAME > database

di mana PACKAGE_NAME adalah nama paket Anda (itu adalah com.edgedevstudio.sample dalam contoh di bawah)

Penjelajah File Perangkat

Klik kanan pada database dan pilih Save As. Simpan di mana pun Anda inginkan di PC Anda.

Buka, Browser DB untuk SQLite & klik 'buka Database' dan buka database. masukkan deskripsi gambar di sini

Dalam kasus contoh di atas, Anda harus mencari " todolist " BUKAN "todolist-shm" atau "todolist-wal"

Jika Anda tidak mengekspor 3 file database (db_name, db_name-shm & db_name-wal, di mana db_name = nama database) Anda tidak akan dapat membaca database.

EdgeDev
sumber
Inilah yang saya cari .. Persis yang dibutuhkan! Terima kasih @EdgeDev
Kannan_SJD
19

Secara pribadi saya menggunakan Android Debug Database

Android Debug Database adalah pustaka yang andal untuk men-debug database dan preferensi bersama dalam aplikasi Android.

Mulai cepat

Tambahkan ini ke build.gradle aplikasi Anda

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

Mulai saja aplikasi, Anda akan melihat di logcat entri seperti berikut:

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

masukkan deskripsi gambar di sini


masukkan deskripsi gambar di sini


Untuk informasi lebih lanjut, lihat repo github

chebaby
sumber
1
Ini adalah cara terbaik karena tidak perlu me-root perangkat
Sunil
1
Wow! Hal luar biasa !! Terima kasih Bung!!
Barakuda
10

15 April 2020 - Untuk cara mudahnya, ikuti langkah-langkah berikut:

  1. Unduh program SQLiteBrowser: Unduh SQLite untuk semua OS
  2. Klik "Device Exploler" di pojok Kanan-Bawah di Android Studio.
  3. Anda akan melihat banyak file. Jangan khawatir! Ikuti jalur: data / data / {nama paket aplikasi Anda}
  4. Klik kanan pada "database" dan Save As di komputer Anda.
  5. Buka SQLiteBrowser dan klik "Open Database" lalu pilih file yang memiliki nama yang sama dengan nama database Anda.
  6. Anda dapat melihat file dan memilih yang memiliki nama yang sama dengan nama tabel database Anda.
  7. Langkah terakhir, Anda dapat melihat opsi "Browse Data" di dekat opsi Database Structure ". Jika Anda memilihnya, Anda dapat melihat data database Anda.

Anda dapat melihat langkah-langkahnya dan ikuti nomor pada gambar di bawah ini

Anda dapat melihat langkah-langkah pada gambar.

@bayu_joo

canerkaseler.dll
sumber
7

Gunakan Stetho .

Tambahkan ke proyek Android Anda sebagai file dependency.

Hubungi Stetho.initializeWithDefaults(this)di Anda Applicationdan melihat database Anda menggunakan chrome yang memeriksa alat. Masukkan berikut ini di URL bar chrome Anda: chrome://inspect.

Presto! Anda dapat melihat Room database.

Izak
sumber
3

Saya melakukan ini dengan mengikuti langkah-langkah berikut:

1) Unduh db browser dari tautan berikut.

https://sqlitebrowser.org/

2) Buka Device File Explorer dari IDE & salin tiga file yang dihasilkan seperti masukkan deskripsi gambar di sini dan pilih ketiga file: your-db, your-db-shm, your-db-wal

tekan ctrl + shift + s dan tempelkan ke beberapa folder. Selesai.

3) akhirnya buka db-Anda dengan Aplikasi DbBrowser.

100RaBH
sumber
terima kasih, harus memilih ketiga file: * -db, * -db-shm, * -db-wal
xyz
2

Dengan rilis terbaru Android Studio 4.1 Canary , Android Studio menyediakan fitur baru yang disebut Database Inspector .

Anda dapat menggunakan alat Inspektur Database untuk melihat file database dan isinya, Anda juga dapat mengedit konten database.

masukkan deskripsi gambar di sini

Jika Anda menggunakan Room Persistencemaka itu juga menyediakan fasilitas untuk dijalankan @Querydi Android Studio. Anda dapat melihat tombol jalankan di sisi kiri @Queryanotasi.

masukkan deskripsi gambar di sini

Jika Anda menggunakan LiveDatamaka akan langsung mencerminkan perubahan konten database,

masukkan deskripsi gambar di sini

Chandan Sharma
sumber
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
HandyPawan
sumber
1

Dengan Android Studio 4.1 Canary 6 dan yang lebih tinggi, Anda bisa memeriksa, membuat kueri, dan memodifikasi database aplikasi Anda menggunakan Database Inspector yang baru. Misalnya, Anda bisa men-debug aplikasi yang sedang berjalan dengan mengubah nilai di database Anda dan menguji perubahan tersebut di perangkat.

https://developer.android.com/studio/preview/features#database-inspector

Jeffrey Liu
sumber
Ini harus menjadi jawaban resmi.
Amit Sharma
0

Saya baru-baru ini mencoba Sethto By Facebook .

Stetho adalah jembatan debug yang canggih untuk aplikasi Android. Saat diaktifkan, pengembang memiliki akses ke fitur Alat Pengembang Chrome yang merupakan bagian asli dari browser desktop Chrome

Anda hanya perlu memasukkan dependensi gradle dan memanggilnya di MainApp. Itu dia. Anda mendapatkan akses ke semua alat di jendela chrome dengan menggunakan chrome://inspect/termasuk database sqlite Anda.

Berikut adalah screenshot yang diperiksa oleh Room Database di Emulator. Saya hanya mencoba di emulator sejauh ini.

masukkan deskripsi gambar di sini

Ajji
sumber
0

setelah mendapatkan DB Anda (3 file) dari Device File Explorar seperti komentar di atas

Saya sangat merekomendasikan program yang mudah seperti menggunakan "DB Browser for SQLite" https://sqlitebrowser.org/

Amr263
sumber