Dicoding Developer Coaching merupakan webinar, yang membahas tuntas kendala maupun pertanyaan yang sering ditanyakan di Academy Dicoding.
Tema kali ini adalah "Menampilkan Jutaan Data dengan Paging"
Di sini kalian akan belajar bagaimana cara menampilkan banyak data dengan cara efisien menggunakan library Pagination. Library yang menjadi bagian dari Android Jetpack yang bisa kalian gunakan untuk mengatur dalam menampilkan banyak data di dalam halaman aplikasi yang syarat akan performa aplikasi.
Dicoding Developer Coaching #28: Android | Menampilkan Jutaan Data dengan Paging
1. Menampilkan Jutaan Data
dengan Paging
Khrisna Indrawan Eka Putra
Google Associate Android Developer, Code Reviewer Dicoding
2. Architecture Component
● Database lokal, yang berfungsi sebagai salah satu sumber data yang
disajikan kepada pengguna dan aksi yang telah dilakukan pengguna
akan mempengaruhi data tersebut.
● Layanan web API.
● Repository yang berfungsi dengan database dan layanan API,
menyediakan antarmuka data terpadu.
● ViewModel yang menyediakan data khusus untuk UI.
● UI, yang menunjukkan representasi visual dari data dalam ViewModel.
3. Paging
Paging membantu kita memuat data dan menampilkan
data-data tersebut secara bertahap (sebagian kecil
dalam satu waktu).
Memuat data secara berkala/seperlunya akan
mengurangi penggunaan sumber daya, terutama
Network Bandwidth dan System Resources.
4.
5. Data
Setiap instance PagedList, memuat data snapshot
terbaru dari obyek DataSource. Data berasal dari
backend atau database, kemudian disampaikan ke
obyek PagedList.
7. UI
● Kelas PagedList bekerja dengan PagedListAdapter untuk memuat item
ke dalam RecyclerView.
8. Paging Library mendukung
arsitektur data berikut:
● Data hanya berasal dari server
backend.
● Disimpan hanya ke database
pada perangkat.
● Kombinasi dari sumber lain,
menggunakan basis data di
perangkat sebagai cache.
9. Guideline
● Define a data source/arsitekturnya.
● Menambahkan library Paging dan library lain yang dibutuhkan.
● Menerapkan DataSource pada layer Repository.
● Implementasi PagedList & PagedListAdapter.
● Menghubungkan Adapter dengan View/Activity.