View Binding; Membuat Aplikasi Android menjadi Lebih Paten , Bukan Kaleng-kaleng!

  • Developer Stories
  • View Binding; Membuat Aplikasi Android menjadi Lebih Paten , Bukan Kaleng-kaleng!

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.

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

Perbandingan Cara Mengakses View dari Google I/O 2019

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.

Contoh findViewById

 

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

Cara Kerja View Binding

 

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.

  1. 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).

Membuat Variable Binding

 

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.

Akses View Paling Paten Bukan Kaleng-kaleng

 

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.


Ketahui lebih lanjut mengenai salah satu mobile aplikasi yang dibuat GITS Indonesia untuk Sarihusada–bagian dari Danone, di sini.

Anda membutuhkan jasa pembuatan aplikasi Android? Silakan hubungi kami di tautan tersebut.

CONTACT US

Do you have a new project?

Come tell us what you need! Fill out this form and our solution team will response to your email by maximum of 1×24 workday.

Indonesia

Head Office

Summarecon Bandung, Jl. Magna Timur No.106, Bandung, 40296

Whatsapp (chat only)

0812-4589-1200

North America

Branch Office

166 Geary Str STE 1500 #1368, San Francisco, CA 94108, United States