Data Binding Android Dengan ReactiveX

Mungkin ada yang bertanya — tanya apa saja yang bisa kita lakukan dengan reactivex, jawabanya sungguh sangat banyak sekali. Namun kali ini saya akan bahas tentang data binding dengan menggunakan reactivex. Bagi yang masih bingung dengan reactive bisa baca artikel pertama saya tentang Reactivex Android. Kali ini kita akan coba bagaimana implementasi reactivex untuk data binding di android.

Apa itu data binding?

Yang pertama kita telusuri sedikit apa itu data binding. Seperti biasa disini saya mengutip penjelasan dari wikipedia tentang data binding.

Data binding is a general technique that binds data sources from the provider and consumer together and synchronizes them.

Disini kita ambil contoh bagainama penerapan data binding yang sederhana. Misalnya begini kita membuat form registrasi ada field email dan password disini data binding bisa kita gunakan untuk membuat validasi dari field email dan password. Jadi misalkan ketika inputan email belum sesuai dengan pattern email yang kita buat maka text dalam field email tersebut kita set menjadi merah, dan di field password misalkan, text inputanya dibawah 6 karakter maka textnya berwarna merah dan ketika textnya sudah lebih dari 6 maka text menjadi warna hitam. Dalam kasus ini kita melakukan synchronizes data provider yaitu pattern email, dan data consumer field input email, dan begitu juga yang di password.

Data Binding Android

Data binding android sendiri sudah mulai populer setelah Google I/O 2015. Disini kita akan coba implementasikan data binding ini dengan menggunakan reactivex. Yang pertma kita akan coba yang paling basic dan sederhana untuk memvalidasi form register. Ok seperti biasa kita akam memasuk library rxandroid, rxjava dan rxbinding kedalam project kita.

Kemudian kita buat view untuk form registrasinya :

Kemudian kita inisiasi view yang telah kita buat :

Selanjutnya kita tambahkan pattern cek email dan listener untuk binding datanya :

Lanjut kita buat validasi email :

Validasi untuk password :

Sekarang cek seluruh inputan pada form apakah sudah benar :

Dan yang terakhir kita berikan aksi dari listener yang telah kita buat pada formnya. Yang pertama untuk email :

Yang kedua untuk password :

Yang terakhir untuk button register :

Secara keseluruhan yang kita lakukan adalah memvalidasi data untuk email dan password, jika email benar akan muncul pesan email benar dan text berwarna hitam jika salah akan muncul pesan email salah dan text warna merah. Dan begitu juga untuk field password. Jika semuanya benar maka button register di enabel dan jika salah button register di disable.

Ini adalah contoh yang sangat sederhana dalam penerapan data binding dengan reactivex silahkan kalian lakukan latihan membuat binding yang lain, misalkan untuk melakukan searching, filterind data dalam form dan yang lainya. Untuk full source code dari latihan kita kali ini kalian bisa buka disini.

Masih banyak rasanya yang ingin saya bahas mengenai data binding dengan reactivex. Tapi untuk kali ini mungkin kita sampai disini dulu pembahasanya, next saya masih akan menulis tentang reactivex untuk kita mengembangkan aplikasi android. OK see you next time guys.