Belajar Pattern Android Architecture Components
Sebelumnya, Anda sudah mempelajari bagaimana konsep pattern dalam membangun software. Kini Anda akan mempelajari Android Architecture Components sebagai salah satu pattern yang dikeluarkan oleh Google.
Android Architecture Components adalah kumpulan library yang membantu Anda untuk merancang aplikasi yang kuat, dapat diuji, dan dapat dikelola dengan mudah. Berikut ini adalah gambaran dari Architecture Components:
Gambar di atas, merupakan gambaran besar tentang Architecture Components. Setiap komponen memiliki fungsinya sendiri. Jika dipecah menjadi beberapa komponen:
- View: Bisa dikatakan sebagai UI controller atau Fragment dan Activity yang berfungsi untuk menampilkan data atau melakukan aksi di dalam UI.
- ViewModel: Memberikan data ke UI. Bertindak sebagai pusat komunikasi antara Repository dan UI. Fungsi ViewModel mempertahankan data dari configuration changes.
- LiveData: Kelas pemegang data yang dapat di-observe. Selalu memegang / menyimpan data versi terbaru. Memberitahu pengamatnya atau observers ketika data telah berubah. Komponen UI hanya mengamati atau meng-observe data yang relevan dan tidak akan berhenti atau terus melanjutkan observation.
- Repository: Anda menggunakan Repository untuk mengelola banyak sumber data, seperti berasal dari network, local atau cache.
- Room: Sumber data yang berasal dari local database. Room adalah Sebuah library yang menyediakan lapisan abstraksi atas SQLite untuk memungkinkan akses database yang lebih kuat dengan memanfaatkan kekuatan SQLite.
- Rest Client: Sumber data yang berasal dari network, seperti Rest API, Firebase atau data client lainnya.
Jadi, flow di atas menceritakan bagaimana sebuah Activity melakukan request data kepada ViewModel yang selanjutnya akan tersampaikan ke Repository.
Di dalam Repository, aplikasi bisa mengetahui data berasal dari local atau network. Setelah Repository berhasil mendapatkan data, maka data akan dikirim ke kelas ViewModel.
Dan ketika terjadi perubahan data, UI secara otomatis akan mengalami perubahan sesuai dengan data yang baru.
Bagaimana menerapkannya dalam pembuatan aplikasi? Bebas berkreasilah semenarik mungkin.
Seru sekali mempelajari Architecture Component ini. Dengan menguasai Architecture Component, Anda akan kian dilirik saat terjun ke dunia industri. Keren bukan?
Anda bisa masuk ke tautan berikut untuk melihat referensi tentang Android Architecture Components: