Perhatikan Dulu 3 Komponen Ini saat Migrasi Paging 3 Android Tutorial
Dalam pengembangan sistem operasi Android, Anda bakal menemukan berbagai istilah. Salah satunya paging, yakni pengambilan potongan data dari satu waktu tertentu. Kemudian setelah user mencapai akhir daftar, aplikasi bakal memuat lebih banyak data. Sebagai pengembang aplikasi android, sobat ryola pasti akan mencoba melakukan migrasi saat sistem baru diumumkan oleh google, seperti pada migrasi Paging 3 Android tutorial.
[powerkit_toc title=”Daftar Isi” depth=”3″ min_count=”2″ min_characters=”100″ btn_hide=”true”]
Pembaruan dalam Paging 3 Android
Sejak tahun 2020 lalu, Google melakukan pembaruan pada library komponen arsitektur jetpack untuk Paging 3. Dengan begitu, Anda bisa menerapkan paging secara lebih cepat dan menangani masalah yang ada di Paging 2, sebab ada penyederhanaan yang dilakukan pada sistem tersebut.
Adapun pembaruan yang bakal Anda dapatkan pada Paging 3 mencakup:
- Dukungan terhadap coroutine Flow, LiveData, serta RxJava;
- Dukungan untuk menangani kesalahan serta mengoptimalkan fungsionalitas;
- Dukungan bawaan untuk memuat pemisah daftar, header, serta footer;
- Penggunaan sumber daya sistem yang lebih efisien untuk caching memori data;
- Mencegah risiko duplikasi permintaan API;
- Perbaikan terhadap lapisan repositori yang meliputi dukungan pembatalan serta antarmuka sumber data yang sudah diserderhanakan.
Langkah-langkah migrasi aplikasi ke Paging 3
Untuk memudahkan cara migrasi aplikasi ke Paging 3, ada tiga komponen dari Paging 2 yang harus Anda pindahkan, antara lain Class DataSource, PagedList, dan PagedListAdapter. Namun, Anda juga harus mempehatikan sejumlah komponen yang mengalami kemunduran pada Paging 3. Misalnya, API PagingSource yang jadi sumber data LivePagedListBuilder dan RxPagedListBuilder. Sementara API Pager memakai DataSource versi lama untuk paging.
Class DataSource Paging
Apa itu Class DataSource? Komponen ini yang bertugas menjelaskan perubahan dalam migrasi pada Paging versi lama dengan PagingSource. Data-data dari PositionalDataSource, PageKeyedDataSource, serta ItemKeyedDataSource dari Paging 2 akan dikumpulkan dalam API PagingSource Paging 3.
Dalam Paging 3, metode load( ) di PagingSource diterapkan untuk mengumpulkan metode pemuatan semua class dari API versi lama. Langkah tersebut ditujukan untuk mengurangi penggandaan kode akibat munculnya kode identik di sebagian besar metode pemuatan. Class tertutup LoadParams pun akan menjadi parameter yang dipakai dalam Paging 3 Android tutorial dengan subclass di pemuatan.
Kemudian, Anda yang akan mengimplementasikan PagingSource perlu menentukan cara refresh yang dilakukan dari bagian tengah dara laman yang termuat. Aplikasikan getRefreshKey ( ) yang membantu Anda dalam memetakan kunci awal dan pakai state.anchorPosition yang akan menjadi indeks terakhir yang Anda akses.
Hal terakhir yang perlu Anda perhatikan adalah transformasi data yang akan diterapkan sebagai operator di PagingData. Kalau ada metode dalam versi lama yang dibagi, Anda perlu memindahkan logika transformasi dari DataSource ke PagingData dalam rekonstruksi Pager memakai PagingSource terbaru.
PagedList Paging
Komponen berikutnya yang perlu Anda simak dalam Paging 3 adalah PagedList. Pada komponen ini, Anda akan mendapatkan penjelasan seputar proses migrasi Paging dari versi sebelumnya yang bakal membantu pemakaian Pager dan PagingData.
Dalam komponen Paging 3 Android. PagingData akan menggantikan PagedList dari Paging 2. Lantas untuk memindahkannya, Anda bisa perlu memeriksa hal-hal berikut:
- Konfigurasi Paging sudah dipindahkan ke PagingConfig.;
- RxPagedListBuilder dan LivePagedListBuilder harus digabungkan dalam satu class Pager;
- Pager mampu menampilkan Flow<PagingData> yang bisa Anda amati lewat ekstensi .flow;
- LiveData dan RxJava tersedia sebagai ekstensi yang bisa diakses lewat metode statis Java.
Pembaruan lain yang diganti adalah PagedList.Boundary menjadi RemoreMediator. Dalang Paging 3, RemoteMediator bertugas mengendalikan jaringan dan database.
PagedListAdapter Paging
Ketiga, ada PagedListAdapter yang bertugas menangani perubahan-perubahan yang dibutuhkan dalam Paging. Jadi, Anda bisa memakai class PagingDataAdapter maupun AsyncPagingDataDiffer yang ada di pembaruan Paging 3.
PagingDataAdapter akan mengurus aliran reaktif baru dari PagingData. Anda tak perlu cemas juga bila tak menemukan aliran baru, karena antarmukanya sama. Anda pun hanya perlu mengubah penerapan dan ekstensi PagedListAdapter untuk bermigrasi. Sementara kustomisasi terhadap AsyncPagedlistDiffer bisa dilakukan apabila Anda mengimplementasikan RecyclerView.Adapter untuk mengaksesnya.
Semoga proses migrasi Anda lancar setelah menyimak Migrasi Paging 3 Android tutorial ini!
reference :
1. developer android