Pada Februari 2020, Android Studio merilis versi terbarunya, yaitu Android Studio 3.6. Pada versi terbarunya ini, ada hal spesial yang sudah ditunggu-tunggu oleh para Android Developer, yaitu View Binding. Wah, kenapa View Binding menjadi spesial? Ini karena View Binding memiliki banyak sekali manfaat untuk kita pada saat men-develop aplikasi Android agar menjadi lebih paten dan bukan kaleng-kaleng.
Table of Contents
ToggleApa Itu View Binding?
Sebelumnya, mungkin teman-teman belum mengetahui apa itu View Binding? View Binding adalah fitur yang dapat membantu kita agar lebih mudah untuk berinteraksi dengan View yang ada pada Layout XML kita (contohnya findViewById, Kotlin Synthetic, dan lain-lain).
Kelebihan View Binding Dibandingkan Teknologi Sebelumnya
Oke, mari kita kembali ke pengumuman Google I/O 2019 tahun kemarin, saat pertama kali View Binding diumumkan dan disebutkan memiliki banyak keunggulan dibandingkan teknologi mengakses view sebelumnya.
Nah, yang tanda tanya itu adalah View Binding. Wow, semua diborong oleh View Binding. ?
View Binding Menggantikan findViewById
View Binding benar-benar menggantikan findViewById. Hal tersebut karena dengan View Binding (dibandingkan findViewById), kita akan sangat mengurangi boilerplate dan membuat kode kita menjadi safe (karena setiap kali View dibuat di XML, otomatis View Binding akan meng-generate View tersebut dan kita langsung bisa menggunakannya dengan id yang tepat.
Di bawah ini adalah contoh kode perbandingan apabila kita menggunakan findViewById dan View Binding.
Nah, terlihat, kan, bagaimana perbedaannya? Saat kita menggunakan findViewById, kita perlu membuat variable untuk view yang ingin kita gunakan dan memanggil id yang tepat. Hal ini akan membuat kode kita menjadi panjang dan bisa jadi id yang kita panggil tidak berada di XML yang kita gunakan (itu malah dapat mengakibatkan null saat mengakses View dan bisa membuat force close pada aplikasi kita).
Sangat berbeda dengan View Binding. Memakai View Binding, kita hanya perlu membuat satu variable untuk mengambil binding layout yang ingin kita gunakan. Dengan itu, kita sudah dapat mengakses semua view yang ada di XML tersebut. Selain itu, kita juga mendapatkan keunggulan View Binding, yakni View yang kita akses pasti safe (karena di dalam binding setiap View sudah dibuat null safety-nya agar tidak akan terjadi null saat mengakses View).
View Binding bukan kaleng-kaleng, kan? Hayo, udah, View Binding aja. ?
Bagaimana View Binding Bekerja?
Jadi, saat kita menggunakan View Binding, semua layout yang kita miliki otomatis akan di-generate oleh Android Studio menjadi file binding. Di dalam file binding, semua View yang ada di dalam layout tersebut dibuatkan variable findViewById. Itulah mengapa kita dapat mengakses semua View yang ada di layout tersebut. Teman-teman bisa mengecek file binding yang berada pada folder databinding di proyek Android kalian.
Cara Menggunakan View Binding
Hal pertama yang harus dilakukan adalah mengecek versi Android Studio yang dimiliki teman-teman. Apakah sudah versi terbaru Android Studio sekarang? Minimal Android Studio 3.6 dan Android Gradle Plugin 3.6 atau di atasnya. Apabila sudah, sila ikuti langkah di bawah ini.
- Setting enable View Binding di dalam build.gradle
Untuk dapat menggunakan View Binding, cukup setting enable View Binding pada build.gradle. Teman-teman otomatis dapat menggunakan View Binding. Dengan ini, setiap ada layout XML, otomatis akan di-generate oleh Android Studio menjadi file binding.
android { ... viewBinding { enabled = true } }
Setelah diatur, sila sync dan build proyek.
2. Menggunakan View Binding pada Activity
Pada Activity, kita harus membuat variable binding terlebih dahulu. Untuk membuat variable binding, cukup panggil nama file binding yang berformat nama layout xml misalkan activity_main.xml, maka menjadi MainActivityBinding (nama dibalik dan tambahkan binding di belakangnya).
3. Mengakses View dengan View Binding
Setelah kita sudah membuat variable dan mengisinya dengan binding layout yang kita pilih, maka kita sudah bisa mengakses semua View yang ada di dalam layout tersebut. Kita juga dapat langsung menggunakannya, dengan cara seperti ini.
Mencegah View Binding Generate XML yang Tidak Kita Inginkan
Mungkin teman-teman tidak ingin meng-generate XML tertentu karena alasan suatu hal. Nah, kita bisa menambahkan kode berikut ini.
tools:viewBindingIgnore="true"
Tambahkan pada root view layout; contohnya seperti ini.
<LinearLayout
...
tools:viewBindingIgnore="true" >
...
</LinearLayout>
Maka, layout XML teman-teman tidak akan di-generate oleh Android Studio dan untuk layout tersebut teman-teman tidak bisa menggunakan View Binding.
Penutup
Itu saja untuk artikel paten bukan kaleng-kaleng kali ini. Semoga teman-teman mendapat pengetahuan baru tentang View Binding dan bisa menggunakannya pada aplikasi, agar membuat aplikasi teman-teman menjadi lebih paten bukan kaleng-kaleng. Keep learning and never give up. ❤️
Pesan terakhir, karena lagi musim Corona, Stay Safe, Stay Healthy and Stay at Home. See you!
Contoh View Binding, findViewById, Kotlin Synthetic: https://github.com/firdaus1453/ViewBindingExample
Dokumentasi View Binding: https://developer.android.com/topic/libraries/view-binding
Muhammad Firdaus adalah salah satu Android developer di GITS Indonesia.
Anda membutuhkan jasa pembuatan aplikasi Android? Silakan hubungi kami di tautan tersebut.