Android Stetho : Debugging Tools Yang Cocok Bagi Aplikasi Android
Banyak orang-orang yang belum mengetahui mengenai Debugging,Jadi singkatnya,Debugging merupakan sebuah proses bagi para developer untuk menemukan dan menghilangkan bug atau potential eror di dalam kode yang dibuatnya di mana bug itu berfungsi merusak sistem yang menyebabkan sistem tidak berfungsi dengan baik atau crash.
Untuk melakukan debugging dengan mudah kalian akan membutuhkan debugging tools.Salah satu debugging tools terbaik yang dapat digunakan yakni Android Stetho.Pada artikel ini,kita akan membahasnya :
Mengenal Android Stetho
Stetho merupakan library untuk debug yang open-source.Stetho dikembangkan oleh Facebook.Library ini memungkinkan kalian untuk menggunakan alat debugging chrome untuk memecahkan masalah lalu lintas jaringan,sehingga memberikan pengalaman debugging yang kaya dan interaktif untuk pengembang android.
Stetho membantu untuk mendebug mudah dan lancar panggilan jaringan.Hal ini merupakan jembatan debug canggih untuk aplikasi Android.Saat diaktifkan,pengembang memiliki jalur ke fitur Alat Pengembang Chrome yang merupakan bagian asli dari browser desktop Chrome.Developer juga dapat memilih untuk mengizinkan alat dumpapp opsional yang memungkinkan antarmuka baris perintah yang kuat ke internal aplikasi.Tanpa membatasi fungsinya hanya untuk inspeksi jaringan,konsol JavaScript,inspeksi basis data dan lain sebagainya.
Proyek Stetho Facebook memungkinkan kalian menggunakan alat debugging Chrome untuk memecahkan masalah lalu lintas jaringan,file database dan melihat tata letak.Dengan perpustakaan ini,kalian harus menjalankan emulator atau perangkat aktif, dan kalian menggunakan akan Chrome untuk terhubung ke perangkat dengan mengetik chrome://inspect.
Alasan Menggunakan Stetho
Ada beberapa alasan harus menggunakan Stetho,salah satunya,Stetho bisa membantu untuk mendebug aplikasi kalian. Beberapa hal lain yang bisa dipertimbangkan untuk menggunakan Android Stetho Debugging Tools :
- Stetho merupakan platform debugging open-source.
- Alat ini memberikan pengalaman yang sangat interaktif.
- Dengan Aplikasi asli Stetho,maka debugging menjadi sangat sederhana.
- Stetho menawarkan kalian untuk menggunakan alat debugging Google Chrome untuk berbagai kegiatan.
- Alat ini memberikan inspeksi hierarki selama debugging.
- Stetho juga memungkinkan jaringan,manajemen basis data dan banyak fitur yang saling berinteraksi.
- Stetho menggunakan soket web HTTP untuk mengirim data.
- Stetho mudah untuk digunakan.
- Menyediakan ekstensibilitas di mana kalian bisa menulis dumpapps kustom milik kalian sendiri.
- Menyediakan interface dengan baris perintah untuk plugin sendiri.
Masalah Saat Melakukan Debug
Mungkin akan memerlukan kesabaran dan waktu untuk mempelajari berapa kali permintaan jaringan.Saat menangani banyak perangkat,kalian perlu beralih antar perangkat untuk melihat log atau melampirkan debugger yang membuat pemeriksaan permintaan jaringan menjadi sedikit bermasalah.Masalah dengan men-debug lalu lintas jaringan saat mengembangkan aplikasi android, debugger yang menghadapi masalah dengan alat debugging tradisional menjadi kacau dan inspeksi menjadi sangat rumit saat mengganti perangkat.
Solusi Yang Diberikan Stetho
Debug dapat diandalkan dan mudah dengan menggunakan library Stetho karena menggunakan alat debugging chrome yang mendukung soket web dan menggunakannya untuk debugging jaringan.Stetho mengotomatiskan pemeriksaan panggilan,Sehingga menjadi lebih penting bagi pengembang Android.
Caveats
Pemecahan masalah jaringan bekerja paling baik dengan OkHttp atau Retrofit.Pustaka pihak ketiga yang lebih lama berdasarkan klien HTTP Apache lama seperti pustaka yang satu ini saat ini tidak didukung oleh Stetho seperti yang disebutkan dalam masalah ini.
Tutorial Menggunakan Android Stetho Debugging Tools
Menambahkan Dependensi di build.grade
Agar bisa menambahkan dependensi,kalian dapat ikuti kode di bawah ini :
implementation ‘com.facebook.stetho:stetho:1.5.1’
Hanya dependensi stetho utama yang benar-benar diperlukan.Namun,kami juga dapat menggunakan salah satu pembantu jaringan :
implementation ‘com.facebook.stetho:stetho-okhttp3:1.5.1′
Atau
implementation ‘com.facebook.stetho:stetho-urlconnection:1.5.1′
Kalian juga bisa memungkinkan konsol JavaScript :
implementation ‘com.facebook.stetho:stetho-js-rhino:1.5.1′
Menginisialisasi Kode Di Dalam Kelas Aplikasi Dengan Satu Line Kode
Untuk menginisialisasi kode di kelas aplikasi,bisa menggunakan contoh kode berikut ini :
public class MyApplication extends Application { | |
public void onCreate() { | |
super.onCreate(); | |
if(BuildConfig.DEBUG) { | |
Stetho.initializeWithDefaults(this) | |
} | |
} | |
} |
Jangan lupa register kelas kalian ke sini : AndroidManifest.xml
<manifest | |
xmlns:android=”http: //schemas.android.com/apk/res/android” | |
…> | |
<application | |
android:name=”MyApplication” | |
…> | |
</application> | |
</manifest> |
Mengaktifkan inspeksi jaringan
Apabila kalian menggunakan pustaka OkHttp yang populer pada rilis 3.x,kalian dapat menggunakan sistem pencegat untuk menghubungkan ke tumpukan yang ada secara otomatis.Cara paling sederhana dan paling mudah untuk mengaktifkan inspeksi jaringan :
OkHttpClient.Builder()
.addNetworkInterceptor(StethoInterceptor())
.build()
Interceptors merupakan mekanisme yang kuat yang dapat memantau,menulis ulang dan mencoba kembali panggilan.Lihat lebih lanjut tentang interceptors.Sekarang sambungkan ponsel kalian ke komputer,luncurkan aplikasi dan ketik chrome://inspect ke browser Chrome kalian.Stetho juga sudah siap digunakan.
Menggunakan DevTools Chrome
Setelah mengkompilasi dan menginstal aplikasi kalian di perangkat Android (atau emulator),mulai Google Chrome dan ketik chrome://inspect di bilah alamat.Klik inspect link untuk membuka Developer Tools.
Inspeksi Koneksi Jaringan
Stetho memungkinkan kalian untuk memeriksa,secara real time,koneksi jaringan yang dibuat oleh aplikasi kalian.Namun,di Stetho versi 1.1.1,hanya berfungsi dengan pustaka jaringan OkHttp.
Saat menggunakan OkHttp dengan Stetho,kalian harus ingat untuk menambahkan StethoInterceptor ke Daftar pencegat jaringan objek OkHttpClient.
Berikut ini contoh kode yang terhubung ke HttpBin dan mengambil dokumen JSON :
// Create an instance of OkHttpClient
OkHttpClient httpClient = new OkHttpClient();
// Add Stetho interceptor
httpClient.networkInterceptors().add(new StethoInterceptor());
try {
// Fetch the contents of http://httpbin.org/ip
Response response = httpClient.newCall(
new Request.Builder().url(“http://httpbin.org/ip”).build()
).execute();
} catch(IOException ioe) {
Log.d(“StethoTut”, ioe.getMessage());
}
Saat kode dijalankan,maka kalian akan melihat di tab Network dari Jendela Developer Tools :
Jika kalian klik URL di kolom pertama,akan dibawa ke layar yang menampilkan informasi lebih lanjut tentang respons :
Melakukan Query Database SQLite
Dengan Stetho,maka dapat melakukan banyak operasi pada database SQLite aplikasi kalian.Klik tab Sumber Daya dan pilih SQL Web.Jika aplikasi kalian memiliki database SQLite,database tersebut akan dicantumkan di sini.Memilih database menunjukkan daftar tabel dalam database.Terakhir,mengklik tabel akan menampilkan catatan tabel :
Kalian dapat eksekusi kueri SQL setelah memilih database SQLite
Manipulasikan Preferensi Aplikasi
Melihat SharedPreferences aplikasi kalian,maka buka tab Resources pada jendela Developer Tools dan pilih LocalStorage.Kalian akan melihat nama file yang digunakan aplikasi kalian untuk menyimpan preferensi.Mengklik file menampilkan pasangan nilai kunci yang disimpan dalam file tersebut : Kalian dapat mengedit nilai yang tersimpan di file.Perlu diingat bahwa perubahan nilai ini adalah permanen.
Itulah penjelasan tentang Stetho yang perlu kalian ketahui.Stetho dapat menjadi pilihan Debugging Tools untuk kalian.Menggunakan Stetho juga terbilang mudah sehingga tidak akan menghabiskan banyak waktu dan tenaga kalian.
Dapat juga menggunakan banyak cara untuk melakukan debugging melalui Stetho.Meski Stetho belum dapat sepenuhnya menggantikan debugger Android Studio,kalian pasti menawarkan fitur yang dapat meningkatkan pengalaman debugging kalian secara signifikan.Namun,Stetho tetap dapat menjadi pilihan terbaik debugging tools untuk kalian dan developer lainnya.