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)?
sumber
Jawaban:
Melihat basis data dari Android Studio:
Sunting: Untuk melihat database Anda pada Emulator, ikuti langkah-langkah ini (untuk perangkat yang sebenarnya, gulir ke bawah):
Unduh dan instal SQLiteBrowser .
Salin database dari perangkat ke PC Anda:
Versi Android Studio <3.0 :
Buka DDMS via
Tools > Android > Android Device Monitor
Klik perangkat Anda di sebelah kiri.
Anda harus melihat aplikasi Anda:
Buka File Explorer (salah satu tab di kanan), buka
/data/data/databases
Pilih database dengan hanya mengkliknya.
Pergi ke sudut kanan atas jendela Monitor Perangkat Android. Klik pada tombol ' tarik file dari perangkat ':
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 via
View > 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.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:
Itu dia. Tak perlu dikatakan bahwa Anda harus membatalkan semua langkah ini sebelum menerbitkan aplikasi Anda.
sumber
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 devices
untuk mendapatkan daftar perangkat Anda3- Hubungkan shell ke perangkat Anda:
4- Arahkan ke folder yang berisi file db Anda:
5- jalankan sqlite3 untuk terhubung ke db Anda:
6- jalankan perintah sqlite3 yang Anda sukai misalnya:
Cheatite SQLite
Ada beberapa langkah untuk melihat tabel dalam database SQLite:
Daftar tabel di database Anda:
Sebutkan tabelnya:
Cetak seluruh tabel:
Daftar semua perintah prompt SQLite yang tersedia:
sumber
run-as your.package.name
melakukan trik.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
sumber
compile 'com.facebook.stetho:stetho:1.3.1'
dan 2. tambahkan kode iniStetho.initializeWithDefaults(this);
dan 3.chrome://inspect/#devices
Stetho.initializeWithDefaults(this);
harus diApplication
kelas.Metode paling sederhana saat tidak menggunakan emulator
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:
Penjelasan:
Blok pertama mengkonfigurasi izin database Anda agar dapat dibaca. Leverage ini
run-as
yang memungkinkan Anda untuk menyamar sebagai pengguna paket Anda untuk melakukan perubahan.Selanjutnya kita menyalin database ke direktori yang dapat dibaca / ditulis dunia. Ini memungkinkan adb pull akses pengguna.
Kemudian, ganti hak baca / tulis yang ada. Ini penting untuk keamanan aplikasi Anda, namun hak istimewa akan diganti pada pemasangan berikutnya.
Akhirnya, salin database ke disk lokal.
sumber
chmod 660 databases/database_name
seharusnya sebelumchmod 660 databases
cp
perintah dan hanya melakukanpull
dari luar (setelah mengubah izin) dan itu berhasil (adb pull data/data/package.name/databases/db_name.db
)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:
sumber
run-as: Could not set capabilities: Operation not permitted
. Perangkat Samsung: stackoverflow.com/questions/37413667/…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
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 root
sebelum perintah sebelumnya.sumber
adb root
tidak berfungsi di ponsel saya. Mencetakadbd cannot run as root in production builds
. Namun setelah menjalankanadb root
, perintah tarikan membeku dan saya harus menghentikannya secara manual.run-as your.package.name
ini harus "login Anda" sebagai pengguna milik aplikasi AndaCoba ini SQLScout plugin android studio . Anda dapat melihat dan mengedit database aplikasi Anda secara realtime.
Sunting: Ingat itu adalah plugin berbayar, tetapi memiliki uji coba 24 jam dan cocok untuk waktu sakit kepala.
sumber
Setelah melalui semua solusi, saya akan menyarankan
Gunakan Stethos.
Mari kita lihat betapa sederhananya itu
Tambahkan dependensi berikut dalam file build.gradle
Lalu pergi ke Anda metode onCreate mainActivity tambahkan baris berikut
ini akan mengharuskan Anda untuk
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
sumber
Cara termudah adalah menggunakan pustaka Basis Data Android Debug (bintang 7.3k di GitHub) .
Keuntungan:
Cara Penggunaan:
debugImplementation 'com.amitshekhar.android:debug-db:1.0.6'
kebuild.gradle (module)
;D/DebugDB: Open http://192.168.232.2:8080 in your browser
, tautannya akan berbeda) dan buka di browser;Penting:
adb forward tcp:8080 tcp:8080
Untuk informasi lebih lanjut, buka halaman perpustakaan di GitHub.
sumber
Untuk mengetahui di mana basis data sqlite disimpan oleh Anda di android studio, Anda perlu mengikuti langkah-langkah sederhana:
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,
sumber
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
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)
Keempat , Hubungkan file dbname_db yang tersimpan di Database Navigator
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.
Jika Anda ingin menyegarkan DB cukup ulangi langkah Kedua dan simpan saja atau segarkan.
CODING SELAMAT !!!!!
sumber
Cara paling sederhana adalah dengan Melampirkan perangkat Anda dan menjalankan Android Studio Kemudian Dari Bilah Alat:
Cara lain menggunakan perpustakaan Stetho:
Tambahkan ketergantungan Stello ke build.gradle Anda:
kompilasi 'com.facebook.stetho: stetho: 1.5.0'
Letakkan baris Mengikuti di onCreate () kelas Aplikasi atau Aktivitas utama Anda:
Stetho.initializeWithDefaults (ini);
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.
sumber
Jika Anda ingin menelusuri basis data Anda DARI DALAM STUDIO ANDROID, inilah yang saya gunakan:
Buka File / Pengaturan / Plugin dan cari ini:
... Setelah merestart Android Studio Anda dapat memilih file database yang diunduh seperti ini:
... Klik ikon "Open SQL Console", dan Anda berakhir dengan tampilan bagus basis data Anda di dalam Android Studio:
sumber
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
sumber
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
Semoga ini bisa membantu seseorang.
sumber
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.
Integrasi dapat dilakukan melalui jitpack.io:
proyek build.gradle:
aplikasi build.gradle:
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
main
folder Anda (di bawahjava
>your.app.package
):Sekarang, untuk tipe build rilis Anda (atau rasa produk), Anda menambahkan kelas Aplikasi berikut ke
release
folder ( atau rasa produk) Anda (juga di bawahjava
>your.app.package
):Ini adalah kelas aplikasi yang tidak merujuk DebugGhostLib.
Juga beri tahu Anda
AndroidManifest.xml
bahwa Anda menggunakan kelas aplikasi Anda sendiri. Ini akan dilakukan dimain
folder Anda :Sekarang, untuk tipe build debug (atau citarasa produk), Anda menambahkan kelas Aplikasi berikut ke
debug
folder ( atau citarasa produk) Anda (juga di bawahjava
>your.app.package
):Anda bisa mendapatkan alatnya di sini .
sumber
Saya harus menarik database dari ponsel ke PC. Sekarang saya menggunakan aplikasi yang dibuat dengan sangat baik dan gratis ini yang memiliki banyak fitur. Ini bekerja
API 4.1+
dengan perangkat yang di- Root .Beri tahu saya jika Anda menemukan cara membuatnya berfungsi tanpa root.
https://play.google.com/store/apps/details?id=com.lastempirestudio.sqliteprime
sumber
Buka Terminal Jelajahi File Perangkat di Bagian Bawah Android Studio.
Buka Folder bernama Data , lalu di dalam Data lagi 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
sumber
Untuk Android Studio 3.X
Berikut ini tautan ke SQLite Studio: https://sqlitestudio.pl/index.rvt?act=download
sumber
Dengan merilis pratinjau Android Studio 4.1 Canary dan Dev , Anda dapat menggunakan alat baru yang disebut
Inspektur Basis Data
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
@Query
anotasi.sumber
Gunakan android sqlite seperti basis data sisi server
Ikuti langkah-langkah ini di bawah ini:
Hubungkan perangkat android Anda ke komputer Anda
Pilih paket yang Anda pedulikan dan pilih database seperti gambar di bawah ini
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:
Hal penting terakhir adalah
Semoga ini berhasil untuk Anda! Terima kasih !
sumber
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
sumber
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.
sumber
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"
sumber
Ini kombinasi dari jawaban lain dengan nilai tambah
sumber
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.
sumber
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
sumber