Pernah mendengar konsep MVVM (Model View ViewModel)? jika belum MVVM itu bisa dikatakan sebuah pola dalam membangun aplikasi. kalau pada Laravel kan memakai pola MVC, nah kali ini membuat Aplikasi Android dengan pola MVVM yang memakai data binding library.

kenapa kok harus pakai pola MVVM? alasannya jelas lebih terorganisir dalam pengelolaan masing-masing fungsinya. bingung? langung praktek aja dah!

pertama buka gradle. dan aktifkan dulu data bindingnya.


dalam tutorial ini menggunakan model Mahasiswa. jadi buat dulu class modelnya. bebas mau dibuat getter setter atau yang lainnya. tapi untuk kali ini di set dengan konstruktor.


untuk Model sudah lanjut ke ViewModelnya. buat variabel dengan ObservableField dari binding library android. dan set isinya dengan Model Mahasiswa yang sudah dibuat. ObservableField merupakan komponen dari android data binding library dan bisa disesuaikan dengan tipe data pada Model. bisa String, integer, boolean dan lain-lain.


Model dan ViewModel sudah ya pasti berlanjut Viewnya donk, masa gak ditampilkan? khusus untuk View ini berhubungan dengan xml layout yang dibuat. buat file layout activity_mahasiswa.xml dan atur seperti berikut.
perhatikan pada layout diatas ada tambahan data dan variabel. semuanya diletakkan dalam tag layout. variabel ini disetting berdasarkan ViewModel yang sudah dibuat sebelumnya. dan dari sini bisa langsung disetting isi dari textview. yang pastinya mengambil dari class ViewModelnya.

sekarang tinggal diaplikasikan kedalam View class.


bisa dilihat pada gambar diatas terdapat ActivityMahasiswaBinding. asalnya dari nama xml layout yang dipersiapkan untuk menampilkan data. jika disini namanya activity_mahasiswa.xml maka nanti akan muncul ActivityMahasiswaBinding secara otomatis (karena memakai data binding library). jadi pastikan penamaan layoutnya sesuai dengan kebutuhan.


paham kan? share sedikit dari pengalaman, biasanya kalau bekerja di software house akan memakai pola MVVM ini dalam membuat aplikasi android. karena memakai konsep ini akan jelas tertata. 

misal ini kan membuat fitur Mahasiswa saja, nanti kalau ada tambahan lain misal Dosen, Matkul, Nilai dan lain2 tinggal dibuat sesuai konsep MVVM. dan kalau mau mengubahpun mudah. tinggal dilihat saja pola MVVM sesuai yang dinginkan. mau diubah Model, View atau ViewModelnya.

download file apknya disini dan file projectnya disini.
source