Lihat konten file database di Android Studio

250

Saya telah menggunakan Android Studio untuk mengembangkan aplikasi saya sejak dirilis.

Semuanya berfungsi dengan baik sampai saat ini, saya harus men-debug bersama dengan memeriksa file database. Karena saya tidak tahu cara melihat database secara langsung, Ketika saya melakukan debug untuk membuat file database, saya harus mengekspor file database dari ponsel saya ke PC.

Untuk melakukan ini, saya harus membuka DDMS > File Explorer. Setelah saya membuka DDMS, saya harus menyambungkan kembali USB, dan saya kehilangan utas debug saya. Setelah memeriksa file database, saya harus menutup DDMS dan menghubungkan kembali USB lagi untuk kembali ke mode debug.

Itu terlalu rumit. Adakah yang punya cara yang lebih baik untuk melakukan ini di Android Studio (saya tahu ini lebih mudah di Eclipse)?

Scott Zhu
sumber

Jawaban:

302

Melihat basis data dari Android Studio:

Sunting: Untuk melihat database Anda pada Emulator, ikuti langkah-langkah ini (untuk perangkat yang sebenarnya, gulir ke bawah):

  1. Unduh dan instal SQLiteBrowser .

  2. Salin database dari perangkat ke PC Anda:

    • Versi Android Studio <3.0 :

      • Buka DDMS viaTools > Android > Android Device Monitor

      • Klik perangkat Anda di sebelah kiri.
        Anda harus melihat aplikasi Anda: masukkan deskripsi gambar di sini

      • Buka File Explorer (salah satu tab di kanan), buka/data/data/databases masukkan deskripsi gambar di sini

      • Pilih database dengan hanya mengkliknya.

      • Pergi ke sudut kanan atas jendela Monitor Perangkat Android. Klik pada tombol ' tarik file dari perangkat ': masukkan deskripsi gambar di sini

      • Sebuah jendela akan terbuka menanyakan Anda di mana Anda ingin menyimpan file database Anda. Simpan di mana saja yang Anda inginkan di PC Anda.

    • Versi Android Studio> = 3.0 :

      • Buka Device File Explorer viaView > Tool Windows > Device File Explorer

      • Pergi ke data > data > PACKAGE_NAME > database, di mana PACKAGE_NAME adalah nama paket Anda (itu adalah com. Film dalam contoh di atas)

      • Klik kanan pada database dan pilih Save As.... Simpan di mana saja yang Anda inginkan di PC Anda.

  3. Sekarang, buka SQLiteBrowser yang Anda instal. Klik pada ' database terbuka ', navigasikan ke lokasi Anda menyimpan file database, dan buka . Anda sekarang dapat melihat konten basis data Anda.


Untuk melihat basis data Anda di perangkat seluler Anda:

Buka repositori Github ini dan ikuti instruksi di readme untuk dapat melihat database Anda di perangkat Anda. Yang Anda dapatkan adalah sesuatu seperti ini:

masukkan deskripsi gambar di sini

Itu dia. Tak perlu dikatakan bahwa Anda harus membatalkan semua langkah ini sebelum menerbitkan aplikasi Anda.

Ojonugwa Jude Ochalifu
sumber
2
itu bagi saya jawaban yang benar karena petunjuk dengan alat sqlitebrowser, sangat mengagumkan. Terima kasih
Manu Zi
26
/ data tidak berkembang dalam file explorer Device Monitor, saya kira itu tidak dapat diakses karena daftar entri / data atau / data / direktori data memerlukan akses super pengguna. Saya masih dapat mengakses file database saya melalui adb shell dengan hak istimewa su. Punya ide cara mendapatkan akses su di file manager?
Saravanabalagi Ramachandran
2
@ZekeDran, ya metode ini hanya menampilkan data dari emulator bukan perangkat Anda. Saya telah menambahkan langkah-langkah untuk melihat database pada perangkat Anda. Periksa edit
Ojonugwa Jude Ochalifu
11
Ini berfungsi, tetapi emulator harus berjalan tidak lebih dari API 23. Jika Anda menggunakan API 25, maka tidak ada konten di file explorer
Manos
2
Manajer basis data dari tautan Github Anda berfungsi untuk saya! Ini juga memiliki kesempatan untuk menguji kueri!
basti12354
198

Terhubung ke Sqlite3 melalui ADB Shell

Saya belum menemukan cara untuk melakukan itu di Android Studio, tetapi saya mengakses db dengan shell jarak jauh alih-alih menarik file setiap kali.

Temukan semua info di sini: http://developer.android.com/tools/help/adb.html#sqlite

1- Buka folder platform-alat Anda dalam prompt perintah

2- Masukkan perintah adb devicesuntuk mendapatkan daftar perangkat Anda

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

3- Hubungkan shell ke perangkat Anda:

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

4- Arahkan ke folder yang berisi file db Anda:

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

5- jalankan sqlite3 untuk terhubung ke db Anda:

sqlite3 <your-db-name>.db

6- jalankan perintah sqlite3 yang Anda sukai misalnya:

Select * from table1 where ...;

Catatan: Temukan lebih banyak perintah untuk dijalankan di bawah.

Cheatite SQLite

Ada beberapa langkah untuk melihat tabel dalam database SQLite:

  1. Daftar tabel di database Anda:

    .tables
  2. Sebutkan tabelnya:

    .schema tablename
  3. Cetak seluruh tabel:

    SELECT * FROM tablename;
  4. Daftar semua perintah prompt SQLite yang tersedia:

    .help
Distwo
sumber
17
saya mendapat izin ditolak pada langkah 4, bagaimana menurut Anda?
Adrian Olar
4
Anda mungkin harus me-root avd Anda, dan / atau memulai adb sebagai root pada langkah 3 'root adb -s emulator-xxxx shell'
Distwo
2
langkah 5: sqlite3 tidak ditemukan. Mengapa?
sabsab
3
Karena Anda perlu menginstal agar dapat menggunakan
Paul Paca-Vaca Seleznev
12
Saya pribadi mendapat Izin ditolak ketika mencoba mengakses folder database , menjalankan run-as your.package.namemelakukan trik.
Yann39
83

Saya sebenarnya sangat terkejut bahwa tidak ada yang memberikan solusi ini:

Lihatlah Stetho .

Saya telah menggunakan Stetho pada beberapa kesempatan untuk tujuan yang berbeda (salah satunya adalah pemeriksaan basis data). Di situs web sebenarnya , mereka juga berbicara tentang fitur untuk inspeksi jaringan dan melihat melalui hierarki tampilan.

Ini hanya memerlukan sedikit pengaturan: 1 dependensi tambahan bertahap (yang dapat Anda komentari untuk pembuatan produksi), beberapa baris kode untuk membuat Instantiate Stetho, dan browser Chrome (karena menggunakan devtools Chrome untuk semuanya).

Pembaruan : Anda sekarang dapat menggunakan Stetho untuk melihat file Realm (jika Anda menggunakan Realm daripada DB SQLite): https://github.com/uPhyca/stetho-realm

Pembaruan # 2 : Sekarang Anda dapat menggunakan Stetho untuk melihat dokumen Couchbase: https://github.com/RobotPajamas/Stetho-Couchbase

Pembaruan # 3 : Facebook memfokuskan upaya untuk menambahkan semua fitur Stetho ke dalam alat barunya, Flipper. Flipper sudah memiliki banyak fitur yang dimiliki Stetho. Jadi, sekarang mungkin saat yang tepat untuk beralih. https://fbflipper.com/docs/stetho.html

w3bshark
sumber
9
Terima kasih banyak. Agar lebih sederhana, 1. compile 'com.facebook.stetho:stetho:1.3.1' dan 2. tambahkan kode ini Stetho.initializeWithDefaults(this);dan 3.chrome://inspect/#devices
Frank Myat Thu
2
Sangat sederhana, Anda dapat melihat data dari database tanpa alat pihak ke-3, di dalam browser chrome.
Mateus Viccari
Jangan lupa Stetho.initializeWithDefaults(this);harus di Applicationkelas.
wonsuc
1
Alat hebat. Aplikasi Anda akan terdaftar di halaman #devices jika Anda telah melakukan pengaturan dengan benar. Klik Periksa dan kemudian pergi ke Sumber Daya> Web SQL> [db_name] dan Anda dapat menulis pernyataan sqlite Anda.
Brad
73

Metode paling sederhana saat tidak menggunakan emulator

$ 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

Peringatan:

Saya belum menguji ini dalam beberapa saat. Itu mungkin tidak berfungsi pada API> = 25. Jika perintah cp tidak berfungsi untuk Anda, cobalah salah satu dari yang berikut ini sebagai gantinya:

# 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

Penjelasan:

Blok pertama mengkonfigurasi izin database Anda agar dapat dibaca. Leverage ini run-asyang memungkinkan Anda untuk menyamar sebagai pengguna paket Anda untuk melakukan perubahan.

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

Selanjutnya kita menyalin database ke direktori yang dapat dibaca / ditulis dunia. Ini memungkinkan adb pull akses pengguna.

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

Kemudian, ganti hak baca / tulis yang ada. Ini penting untuk keamanan aplikasi Anda, namun hak istimewa akan diganti pada pemasangan berikutnya.

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

Akhirnya, salin database ke disk lokal.

$ exit # Exits shell on the mobile device (from adb shell) 
$ adb pull /sdcard/database_name
meninggal tiga kali lipat
sumber
4
Saya mendapatkan masalah dengan perintah 2: run-as. Saya mendapatkan 'com.mycompany.myappname' tidak diketahui. Dan ya, saya yakin saya menggunakan nama paket yang benar!
Scott Biggs
1
@ PaiLai apakah Anda sudah mencoba perangkat lain? Perangkat apa yang gagal?
diesthreetimes
1
Saya mencoba dengan Nexus 6P, API 25. Saya pikir metode ini tidak akan berfungsi pada versi Android baru.
foo
chmod 660 databases/database_nameseharusnya sebelumchmod 660 databases
Alaa M.
@ PaiLai - Saya mendapatkan ini juga dan kemudian saya mencoba melewatkan cpperintah dan hanya melakukan pulldari luar (setelah mengubah izin) dan itu berhasil ( adb pull data/data/package.name/databases/db_name.db)
Alaa M.
52

Di Android Studio 3 dan di atasnya Anda Dapat Melihat Bagian "Device File Explorer" di Sisi Kanan Bawah Android Studio.

Buka, Kemudian Anda Dapat Melihat Pohon File, Anda Dapat Menemukan Database Aplikasi Di Jalur ini:

/data/data/{package_name}/databases/

masukkan deskripsi gambar di sini

Ali Zeynali
sumber
2
Ketika saya mengklik dua kali pada file DB untuk aplikasi saya, itu menunjukkan semua karakter yang tidak dapat dibaca. Apa pembaca SQLite yang Anda gunakan untuk melihat konten DB?
Surekha
4
Saya merekomendasikan sqlitebrowser.org gratis, open source, dan tersedia untuk semua platform.
Ali Zeynali
3
file database.db saya tidak mengandung tabel apa pun.
Binil
Folder kosong. Kesalahan: run-as: Could not set capabilities: Operation not permitted. Perangkat Samsung: stackoverflow.com/questions/37413667/…
O-9
25

Akhirnya, saya menemukan solusi paling sederhana yang tidak perlu membuka DDMS.

Sebenarnya, solusinya didasarkan pada apa yang disebutkan @Distwo, tetapi tidak harus rumit.

Pertama , ingat jalur file database Anda di perangkat, itu harus tetap sama. Misalnya milik saya adalah:/data/data/com.XXX.module/databases/com.XXX.module.database

Kedua , jalankan perintah ini yang menarik file database Anda ke PC Anda

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

Yang perlu Anda lakukan hanyalah menyalin dan menyimpan perintah ini, maka Anda dapat menggunakannya lagi dan lagi.

Ketiga , jika Anda mendapat Izin Ditolak atau semacamnya, jalankan saja adb rootsebelum perintah sebelumnya.

Scott Zhu
sumber
9
Menjalankan adb roottidak berfungsi di ponsel saya. Mencetak adbd cannot run as root in production builds. Namun setelah menjalankan adb root, perintah tarikan membeku dan saya harus menghentikannya secara manual.
LaDude
@Daniela coba run-as your.package.nameini harus "login Anda" sebagai pengguna milik aplikasi Anda
m02ph3u5
Gunakan perintah di atas untuk menyalin file .db ke Desktop Anda, menginstal plugin browser SQLiteManager di Firefox dan mulai menjelajah. Pekerjaan 2 menit!
JaydeepW
perintah root itu untuk emulator, Anda tidak bisa menjalankan perintah ini dan me-root 'telepon' Anda.
Darpan
1
semuanya sudah selesai, dapatkan database.db. file TAPI file database.db itu tidak mengandung tabel
Binil
16

Coba ini SQLScout plugin android studio . Anda dapat melihat dan mengedit database aplikasi Anda secara realtime.

SQLScout

Sunting: Ingat itu adalah plugin berbayar, tetapi memiliki uji coba 24 jam dan cocok untuk waktu sakit kepala.

Amir Hossein Ghasemi
sumber
17
Ini produk berbayar, Anda lupa menyebutkan.
yshahak
58
tidak juga, ini memiliki uji coba 24 jam, saya merencanakan masa depan saya sebagai pengembang selama lebih dari 24 jam.
yshahak
Sayangnya, ini tidak gratis.
K.Sopheak
Waktu uji coba hanya 36 jam.
Mahdi Moqadasi
9

Setelah melalui semua solusi, saya akan menyarankan

Gunakan Stethos.
Mari kita lihat betapa sederhananya itu

Tambahkan dependensi berikut dalam file build.gradle

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

Lalu pergi ke Anda metode onCreate mainActivity tambahkan baris berikut

Stetho.initializeWithDefaults(this);

ini akan mengharuskan Anda untuk

import com.facebook.stetho.Stetho;

sekarang sambil menjalankan aplikasi dari android studio, Open Chrome dan di address bar ketik
chrome: // inspect /

di tab sumber daya> web SQL periksa database dan tabel mainkan dengan itu secara real time dengan mudah

Kemungkinan Shank
sumber
Kamar hanya orm, tidak ada perubahan dalam hal sql berfungsi dengan cara yang sama
ShankPossible
9

Cara termudah adalah menggunakan pustaka Basis Data Android Debug (bintang 7.3k di GitHub) .

Android-Debug-Database

Keuntungan:

  • Implementasi cepat
  • Lihat semua database dan preferensi bersama
  • Edit, hapus, buat nilai database secara langsung
  • Jalankan query SQLite apa pun pada database yang diberikan
  • Cari di data Anda
  • Unduh basis data
  • Menambahkan file basis data khusus
  • Tidak perlu melakukan root pada perangkat

Cara Penggunaan:

  1. Tambahkan debugImplementation 'com.amitshekhar.android:debug-db:1.0.6'ke build.gradle (module);
  2. Luncurkan aplikasi;
  3. Temukan tautan debug pada log (di LogCat) (yaitu D/DebugDB: Open http://192.168.232.2:8080 in your browser, tautannya akan berbeda) dan buka di browser;
  4. Nikmati alat debugging yang ampuh!

Penting:

  • Sayangnya tidak bekerja dengan emulator
  • Jika Anda menggunakannya melalui USB, jalankan adb forward tcp:8080 tcp:8080
  • Ponsel dan laptop Android Anda harus terhubung ke Jaringan yang sama (Wifi atau LAN)

Untuk informasi lebih lanjut, buka halaman perpustakaan di GitHub.

Daniel
sumber
1
Ini adalah proses terbaik dan tidak terlalu menyakitkan! Terima kasih Daniel
Sudip
4

Untuk mengetahui di mana basis data sqlite disimpan oleh Anda di android studio, Anda perlu mengikuti langkah-langkah sederhana:

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.

Untuk informasi lebih lanjut, tautan ini akan bermanfaat. http://www.c-sharpcorner.com/UploadFile/e14021/know-where-database-is-stored-in-android-studio/

Untuk melihat data Anda yang ada di file db, Anda perlu mengunduh browser sqlite atau menambahkan plugin yang sama di browser apa pun sehingga Anda perlu membuka file di browser dan melihat data Anda.

Unduh browser dari http://sqlitebrowser.org/

Ini adalah screenshot yang memperlihatkan browser yang berisi register database

Terima kasih,

MD05
sumber
4

Cara sederhana dan mudah untuk melihat konten basis data di dalam studio Android .

#Untuk Android Studio 4.1 Canary 6 dan lebih tinggi

Anda dapat menggunakan fitur Inspektur Basis Data Android Studio yang sangat sederhana . Di mana Anda dapat memeriksa, meminta, dan memodifikasi database aplikasi Anda menggunakan Inspektur Database baru. Misalnya, Anda dapat men-debug aplikasi yang sedang berjalan dengan memodifikasi nilai-nilai di database Anda dan menguji perubahan-perubahan pada perangkat secara real-time tanpa meninggalkan Android Studio .

Untuk memulai, gunakan aplikasi Anda ke perangkat yang menjalankan API level 26 atau lebih tinggi dan pilih View> Tool Windows> Database Inspector dari menu bar.

#Untuk Android Studio 4.0 dan lebih rendah

Pertama , instal plugin Database Navigator di Android Studio

masukkan deskripsi gambar di sini

Kedua , Mulai Ulang Android Studio

Ketiga , simpan basis data ke lokasi default seperti: (C: \ Users \ Nama Pengguna \ Dokumen \ AndroidStudio \ DeviceExplorer \ emulator atau perangkat \ data \ data \ nama paket \ database)

masukkan deskripsi gambar di sini

Keempat , Hubungkan file dbname_db yang tersimpan di Database Navigator

masukkan deskripsi gambar di sini masukkan deskripsi gambar di sini

Berikan jalur file DB yang sama yang digunakan pada langkah Ketiga

yaitu (C: \ Users \ Nama Pengguna \ Dokumen \ AndroidStudio \ DeviceExplorer \ emulator atau perangkat \ data \ data \ nama paket \ basis data \ paket naem \ dbname_db)

Terakhir , cukup uji koneksi DB dan buka konsol dan lakukan apa pun yang ingin Anda lakukan.

masukkan deskripsi gambar di sini

Jika Anda ingin menyegarkan DB cukup ulangi langkah Kedua dan simpan saja atau segarkan.

CODING SELAMAT !!!!!

Nabin
sumber
3
Solusi ini membutuhkan banyak upaya untuk pekerjaan Anda setiap hari. Dan pada setiap perubahan dalam database Anda perlu memuat ulang file sql - tampak agak rumit. Saya lebih suka menggunakan beberapa plugin yang memberikan kemampuan untuk melihat basis data pada server lokal
Максим Петлюк
1
Ya, Anda benar, sampai tidak ada pembaruan data waktu nyata di Database Navigator, saya harap ini akan segera memperbarui plugin itu.
Nabin
Tepat, itu akan menjadi fitur hebat
Максим Петлюк
Ya, sampai sekarang ini adalah cara terbaik bagi saya jika kita perlu meminta data, menambah, mengedit, dan menghapus
Nabin
Apakah saya harus selalu melakukan penyimpanan untuk menyegarkan basis data? apakah ada cara yang lebih mudah seperti di mysql yang saya butuhkan adalah dengan menekan tombol refresh.
ン ド リ ュ ー ラ イ ア ン
3

Cara paling sederhana adalah dengan Melampirkan perangkat Anda dan menjalankan Android Studio Kemudian Dari Bilah Alat:

  1. Lihat -> Alat Jendela -> Device File Explorer
  2. Pergilah ke data / data dan temukan paket Anda
  3. temukan file DB yang ingin Anda jelajahi dan unduh
  4. Saya merekomendasikan alat online ini: https://sqliteonline.com/ untuk menjelajahi file db

Cara lain menggunakan perpustakaan Stetho:

  1. Tambahkan ketergantungan Stello ke build.gradle Anda:

    kompilasi 'com.facebook.stetho: stetho: 1.5.0'

  2. Letakkan baris Mengikuti di onCreate () kelas Aplikasi atau Aktivitas utama Anda:

    Stetho.initializeWithDefaults (ini);

  3. Hubungkan perangkat Anda, jalankan aplikasi dan Masukkan situs berikut di Chrome:

    chrome: // periksa / # perangkat

dan hanya itu. Anda sekarang dapat menjelajahi meja Anda.

Catatan: disarankan untuk menghapus ketergantungan sebelum beralih ke produksi.

Gal Rom
sumber
2

Jika Anda ingin menelusuri basis data Anda DARI DALAM STUDIO ANDROID, inilah yang saya gunakan:

Buka File / Pengaturan / Plugin dan cari ini:

masukkan deskripsi gambar di sini

... Setelah merestart Android Studio Anda dapat memilih file database yang diunduh seperti ini: masukkan deskripsi gambar di sini

... Klik ikon "Open SQL Console", dan Anda berakhir dengan tampilan bagus basis data Anda di dalam Android Studio: ! [masukkan deskripsi gambar di sini

j3App
sumber
2
Jadi saya harus menyalin db dari emulator sepanjang waktu?
Maksim Kniazev
2

Inspektur Basis Data Baru diperkenalkan di Android 4.1 Canary 5 Preview di mana Anda sekarang dapat Memeriksa, meng-query, memodifikasi, dan men-debug basis data SQLite di aplikasi Anda yang berjalan langsung dari IDE - https://developer.android.com/studio/preview/features?linkId = 86173020 # inspektur-basis data

Mendukung kueri langsung basis data juga - https://developer.android.com/studio/preview/features?linkId=86173020#query

masukkan deskripsi gambar di sini

Anoop M
sumber
1

Ini adalah pertanyaan yang SANGAT lama dan jawaban saya mirip dengan beberapa jawaban di atas tetapi dilakukan JAUH lebih cepat. Script di bawah ini untuk Mac tetapi saya yakin seseorang dapat memodifikasinya untuk Windows.

1) Buka Script Editor di Mac Anda (Anda bisa mencari Script Editor di Spotlight)
2) Salin dan tempel teks di bawah ini dan modifikasi dengan jalur SDK Anda, nama paket, dll. (Lihat di bawah)
3) Simpan skrip! !

Itu dia! Cukup tekan tombol putar di atas untuk mendapatkan file database yang diperbarui, yang akan ada di desktop Anda.

ganti hal-hal berikut dalam skrip di bawah ini:

path_to_my_sdk == >> letakkan path lengkap ke sdk
my_package_name == >> nama paket aplikasi Anda
myDbName.db == >> nama file basis data Anda

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

Semoga ini bisa membantu seseorang.

ᴛʜᴇᴘᴀᴛᴇʟ
sumber
Ini berhasil untuk saya. Kecuali Anda harus mengubah 'Pengguna' ke Nama Pengguna MacBook Anda di direktori output / Pengguna / Pengguna / Desktop
Kenny Dabiri
1

Saya tahu pertanyaannya agak lama tetapi saya yakin masalah ini masih ada.

Melihat basis data dari browser Anda

Saya membuat alat pengembangan yang dapat Anda integrasikan sebagai lib ke dalam proyek aplikasi android Anda. Alat membuka soket server di aplikasi Anda untuk berkomunikasi melalui browser web. Anda dapat menelusuri seluruh database Anda dan mengunduh file database secara langsung melalui browser.

masukkan deskripsi gambar di sini

Integrasi dapat dilakukan melalui jitpack.io:

proyek build.gradle:

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

aplikasi build.gradle:

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

Setup kelas Aplikasi

Untuk hanya mengkompilasi DebugGhostLib dalam tipe-tipe atau rasa-produk tertentu, kami membutuhkan kelas Aplikasi abstrak yang akan diturunkan dalam rasa khusus. Letakkan kelas berikut di mainfolder Anda (di bawah java> your.app.package):

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

Sekarang, untuk tipe build rilis Anda (atau rasa produk), Anda menambahkan kelas Aplikasi berikut ke releasefolder ( atau rasa produk) Anda (juga di bawah java> your.app.package):

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

Ini adalah kelas aplikasi yang tidak merujuk DebugGhostLib.

Juga beri tahu Anda AndroidManifest.xmlbahwa Anda menggunakan kelas aplikasi Anda sendiri. Ini akan dilakukan di mainfolder Anda :

<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>

Sekarang, untuk tipe build debug (atau citarasa produk), Anda menambahkan kelas Aplikasi berikut ke debugfolder ( atau citarasa produk) Anda (juga di bawah 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();
    }
}

Anda bisa mendapatkan alatnya di sini .

Senyuman
sumber
ini adalah alat yang baik khususnya setelah Stetho berhenti bekerja di chrome yang lebih baru,
Homayoun Behzadian
1

Buka Terminal Jelajahi File Perangkat di Bagian Bawah Android Studio.

Buka Folder bernama Data , lalu di dalam Data lagi buka Data Folder .

Buka data folder

Gulir ke bawah daftar folder dan temukan folder dengan nama.package.name Anda Buka folder your.package.name > Database . Anda mendapatkan Nama.database Anda . Klik kanan your.databaseName dan Simpan sebagai ke C: / Anda / Komputer / Direktori.

Pergi ke C: / / Komputer Anda / Direktori buka your.databaseName dengan DB SQLite

masukkan deskripsi gambar di sini

eli
sumber
1

Untuk Android Studio 3.X

  1. Lihat -> Alat Windows -> Device File Explorer
  2. Dalam File Explorer data-> data-> com. (Paket aplikasi Anda) -> basis data
  3. Klik kanan pada Database dan simpan di mesin lokal Anda. Untuk membuka, file Anda dapat menggunakan SQLite Studio dengan hanya menyeret file Database di atasnya.

Berikut ini tautan ke SQLite Studio: https://sqlitestudio.pl/index.rvt?act=download

Jawad Zeb
sumber
1

Dengan merilis pratinjau Android Studio 4.1 Canary dan Dev , Anda dapat menggunakan alat baru yang disebut

Inspektur Basis Data

Inspektur DB

Instal AS 4.1+, jalankan aplikasi, buka inspektur basis data, sekarang Anda dapat melihat file basis data Anda di sisi kiri panel inspektur basis data lalu pilih tabel untuk melihat konten.

Permintaan Langsung

Entah Anda bisa menjalankan kueri Anda menggunakan opsi Run SQL atau jika Anda menggunakan Room kemudian buka inspektur database dan jalankan aplikasi itu, Anda dapat menjalankan kueri DAO di antarmuka Anda dengan mengklik tombol run di sebelah kiri @Queryanotasi.

pertanyaan langsung

Pavneet_Singh
sumber
1

Gunakan android sqlite seperti basis data sisi server

Ikuti langkah-langkah ini di bawah ini:

  1. Temukan jendela alat Database dan klik seperti gambar di bawah ini

masukkan deskripsi gambar di sini

  1. Klik ikon plus dan pilih Android SQLite seperti gambar di bawah ini

masukkan deskripsi gambar di sini

  1. Hubungkan perangkat android Anda ke komputer Anda

  2. Pilih paket yang Anda pedulikan dan pilih database seperti gambar di bawah ini masukkan deskripsi gambar di sini

  3. Sebelum semua langkah di atas, Anda harus memastikan bahwa Anda memiliki hak izin yanguntuk mengakses file: /data/data//database/databasefile.db

Setelah semua langkah ini, Anda akan melihat konten basis data seperti di bawah ini:

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

Hal penting terakhir adalah

Anda harus mengklik ikon pembaruan setiap kali data basis data telah diperbarui.

masukkan deskripsi gambar di sini

Semoga ini berhasil untuk Anda! Terima kasih !

anKotliner
sumber
0

Ini mungkin bukan jawaban yang Anda cari, tetapi saya tidak memiliki cara yang lebih baik untuk mengunduh DB dari ponsel. Yang saya sarankan adalah pastikan Anda menggunakan mini-DDMS ini. Akan sangat tersembunyi meskipun jika Anda tidak mengklik kotak camoflage yang sangat kecil di bagian paling kiri bawah program. (Mencoba untuk melayang di atasnya kalau tidak Anda mungkin akan melewatkannya.)

Juga drop down yang mengatakan tidak ada filter (kanan atas). Ini benar-benar memiliki banyak cara yang berbeda Anda dapat memonitor proses / aplikasi yang berbeda dengan PPID, nama, dan banyak lagi. Saya selalu menggunakan ini untuk memonitor telepon, tetapi perlu diingat saya tidak melakukan jenis pekerjaan dev yang perlu 120% positif database tidak melakukan sesuatu yang luar biasa.

Semoga ini bisa membantu

masukkan deskripsi gambar di sini

nocommit
sumber
0

Saya telah mengumpulkan otomatisasi baris perintah unix dari proses ini dan memasukkan kode di sini:

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

Ini adalah skrip shell yang mengambil nama paket dan nama basis data sebagai parameter, mengunduh file database dari perangkat Android yang terpasang, dan menjalankan skrip khusus terhadap file yang diunduh. Kemudian, dengan alat unix seperti 'watch', Anda dapat membuka jendela terminal dengan tampilan pembaruan skrip basis data secara berkala.

elliptic1
sumber
0

Saya menggunakan windows 7, perangkat saya adalah perangkat android yang dicontoh API 23. Saya kira itu sama untuk perangkat nyata selama ia di-rooting dan API tidak di atas 23

Pergi ke Alat -> Android -> Monitor Perangkat Android. Buka File Explorer. Dalam kasus saya, ini ada di data / data // app_webview / databases / file_0 / 1

Saya harus menambahkan .db secara manual di akhir file bernama "1"

Asyraf Arifin
sumber
0

Ini kombinasi dari jawaban lain dengan nilai tambah

  1. Instal DB Browser untuk SQLite
  2. Dapatkan lokasi yang tepat dari Device File Explorer untuk MyBase.db, seperti "/ data / data / com. Apa pun. Myapp/databases/MyBase.db"
  3. Atur jendela proyek dari Android ke Project - sehingga Anda dapat melihat file (build.gradle, gradle.properties, ... dll)
  4. Di jendela Project klik kanan dan pilih Open in Terminal
  5. Di terminal, Anda sekarang berada di root director aplikasi Anda dari hardisk jadi jalankan: adb pull / data / data / com. Apa pun. Myapp/databases/MyBase.db
  6. Sekarang di jendela Proyek Android Studio Anda, Anda memiliki file "MyBase.db"
  7. Klik dua kali file db Anda dari Project dan sekarang Anda dapat menelusuri / mengedit database Anda di DB Browser
  8. Ketika Anda siap, cukup lakukan Write Changes di DB Browser sehingga basis data disimpan di hardisk
  9. Dalam terminal dengan perintah: adb dorong MyBase.db / data / data / com. Apa pun. Myapp/databases/MyBase.db Anda hanya mengirim dari Hardisk ke perangkat database yang diedit.
lawrghita
sumber
0

Ikuti langkah-langkah di atas untuk membuka folder database aplikasi Anda di Android Device explorer dan di sana Anda dapat melihat enam file, Tiga yang pertama dinamai sebagai android dan tiga yang terakhir dinamai sebagai nama database Anda. Anda hanya perlu bekerja dengan tiga file terakhir, simpan tiga file ini di lokasi pilihan Anda. Anda dapat menyimpan file-file ini dengan mengklik kanan ke file dan mengklik tombol save as (seperti saya punya database saya bernama room_database dan tiga file dinamai room_database, room_database-shm, dan room_database-wal. Ganti nama file yang sesuai sebagai berikut) : -

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

Sekarang buka file pertama di browser SQLite dan ketiga file akan terisi di browser.

Abhishek Meharia
sumber
0

Akhirnya, Android Studio mendukung fungsi ini dengan tab inspektur basis data. Anda dapat menerapkan operasi tampilan / pembaruan / kueri dengan mudah. Tidak ada saluran yang stabil untuk saat ini tetapi Anda dapat mencoba dengan Android Studio 4.1 Canary 5 dan lebih tinggi.

Anda dapat melihat seperti apa pemeriksa basis data itu di sini

Dan Anda dapat mengunduh versi yang sesuai di sini

Berkay92
sumber