Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.

Mendebug database dengan Database Inspector

Pada Android Studio 4.1 dan yang lebih baru, Database Inspector memungkinkan Anda memeriksa, menjalankan kueri, dan mengubah database aplikasi saat aplikasi tersebut sedang berjalan. Hal ini sangat berguna untuk proses debug database. Database Inspector bekerja dengan SQLite biasa dan library yang dibuat pada SQLite, seperti Room.

Membuka Database Inspector

Untuk membuka database di Database Inspector, lakukan langkah berikut:

  1. Jalankan aplikasi di emulator atau perangkat yang terhubung yang menjalankan API level 26 atau yang lebih tinggi.

  2. Pilih View > Tool Windows > Database Inspector dari panel menu.

  3. Pilih proses aplikasi yang berjalan dari menu gelar.

  4. Database di aplikasi yang sedang berjalan akan muncul di panel Databases. Luaskan node untuk database yang ingin diperiksa.

Melihat dan mengubah data

Panel Databases menampilkan daftar database di aplikasi Anda dan tabel yang berada dalam setiap database. Klik dua kali nama tabel untuk menampilkan datanya di jendela inspector di sebelah kanan. Anda dapat mengklik header kolom untuk mengurutkan data di jendela inspector berdasarkan kolom tersebut.

Screenshot jendela Database Inspector.
Gambar 1. Jendela Database Inspector.

Anda dapat mengubah data dalam tabel dengan mengklik dua kali sel, mengetik nilai baru, lalu menekan Enter. Jika aplikasi Anda menggunakan Room dan UI Anda mengamati database (seperti dengan LiveData atau Flow), perubahan apa pun yang Anda buat pada data akan langsung terlihat di aplikasi yang berjalan. Jika tidak, perubahan hanya akan terlihat saat selanjutnya aplikasi Anda membaca data yang diubah dari database.

Melihat perubahan database langsung

Jika Anda ingin Database Inspector memperbarui data yang ditampilkan saat Anda berinteraksi dengan aplikasi yang berjalan secara otomatis, centang kotak Live updates di bagian atas jendela inspector. Saat update langsung diaktifkan, tabel di jendela inspector menjadi hanya baca dan Anda tidak dapat mengubah nilainya.

Atau, Anda dapat memperbarui data secara manual dengan mengklik tombol Refresh table di bagian atas jendela inspector.

Menjalankan kueri database

Database Inspector dapat menjalankan kueri terhadap database aplikasi saat aplikasi sedang berjalan. Alat ini dapat menggunakan kueri DAO jika aplikasi menggunakan Room, tetapi juga mendukung kueri SQL kustom.

Menjalankan kueri DAO

Jika aplikasi menggunakan Room, Android Studio akan menyediakan tindakan gutter yang memungkinkan Anda menjalankan metode kueri yang telah ditentukan dengan cepat di class DAO . Tindakan ini tersedia saat aplikasi Anda berjalan dan Database Inspector dibuka di IDE. Anda dapat menjalankan metode kueri apa pun di DAO dengan mengklik tombol Run SQLite statement in Database Inspector di samping anotasi @Query.

Screenshot tindakan gutter DAO.
Gambar 2. Tindakan gutter kueri DAO.

Jika aplikasi Anda menyertakan lebih dari satu database, Android Studio akan meminta Anda untuk memilih database yang akan dijalankan kuerinya dari menu drop-down. Jika metode kueri Anda menyertakan parameter bind, Android Studio akan meminta nilai untuk setiap parameter sebelum menjalankan kueri. Hasil kueri ditampilkan di jendela inspector.

Menjalankan kueri SQL kustom

Anda juga dapat menggunakan Database Inspector untuk menjalankan kueri SQL kustom terhadap database aplikasi Anda saat aplikasi sedang berjalan. Untuk menjalankan kueri di database, ikuti langkah-langkah berikut:

  1. Klik Open New Query tab di bagian atas panel Databases untuk membuka tab baru di jendela inspector.

    Screenshot yang menunjukkan tombol tab kueri baru.
    Gambar 3. Buka tab New Query.
  2. Jika aplikasi menyertakan lebih dari satu database, pilih database yang ingin Anda jalankan kuerinya dari daftar drop-down di bagian atas tab New Query.

  3. Ketik kueri SQL kustom Anda ke kolom teks di bagian atas tab New Query, lalu klik Run.

Hasil kueri yang ditampilkan di tab New Query bersifat hanya baca dan tidak dapat diubah. Namun, Anda dapat menggunakan kolom kueri SQL kustom untuk menjalankan pernyataan pengubah seperti UPDATE, INSERT, atau DELETE. Jika aplikasi menggunakan Room, dan UI mengamati database (seperti dengan LiveData atau Flow), setiap perubahan yang Anda buat pada data akan langsung terlihat di aplikasi yang sedang berjalan. Jika tidak, perubahan hanya akan terlihat saat aplikasi membaca data yang diubah dari database.

Menjaga koneksi database tetap terbuka

Database Inspector hanya dapat berinteraksi dengan database saat aplikasi Anda mempertahankan koneksi langsung ke database tersebut. Berarti, jika aplikasi Anda sering terhubung ke dan terputus dari database, akan sulit untuk memeriksa database tersebut. Panel Databases menggunakan ikon untuk mengidentifikasi database terbuka () dan tertutup ().

Selain itu, Anda dapat mencegah koneksi database agar tidak tertutup dengan mengalihkan Keep database connections open dari nonaktif () menjadi aktif () di bagian atas panel Databases.

Referensi lainnya

Untuk mempelajari Database Inspector lebih lanjut, lihat referensi tambahan berikut:

Postingan blog

Video