کتابخانه Paging در اندروید


کتابخانه paging در اندروید

Paging چیست؟

Paging در اندروید کتابخانه ای زیر مجموعه jetpack component به شمار می رود. برای مثال وقتی نیاز باشد تا در برنامه ای مکانیزم جست و جو را روی حجم بالایی از داده پیاده کنیم، نتیجه ممکن است به چند صفحه برای نمایش نیاز داشته باشد. این کتابخانه paging کمک می کند تا داده ها به روانی در RecyclerView نمایش داده شوند.

تامین داده ها برای paging

کتابخانه Paging به منبعی از داده برای پیش برد کارش نیاز دارد. برای paging سه نوع دسته بندی برای داده ها وجود دارد :

  • ItemKeyedDataSource
  • PageKeyedDataSource
  • PositionalDataSource

اگر منبع داده ، هر آیتم حاوی اطلاعات قسمت های قبلی یا بعدی در خود می باشد، از PageKeyedDataSource استفاده نمایید.

اگر بناست آیتم n-1 اُم، آیتم nام را لود کند از ItemKeyedDataSource استفاده کنید. فرض کنید در یک دیتابیس بنا باشد بر اساس نام داده ها مرتب شوند. کوئری لازم باید حاوی نام و  unique id آیتم قبلی نیز باشد.

اگر تعداد داده ها در منبع ثابت باشد، از PositionalDataSource استفاده کنید. در این حالت به کوئری های متنوعی دسترسی داریم که به کمک آنها می توان به قسمت دلخواه داده ها دست یافت. توجه داشته باشید اگر بنا به تغییر تعداد داده ها باشد باید از دو حالت دیگر استفاده کرد.

پس از ساخت منبع داده ها، می توان شروع به ساخت PagedList نمود. مشخصاتی مثل observe داده ها، ابعاد صفحه، فاصله موارد را می توان در خود اکتیوتی یا فرگمنت مربوطه تنظیم نمود.

کتابخانه Jetpack نوع جدیدی از آداپتر را در خود دارد که از جنس PagedListAdapter می باشد. تنها راه هندل کردن PagedList استفاده از همین نوع آداپتر می باشد. پس از RecyclerView استفاده نموده. برای مدیریت تغییرات آیتم ها به DIFF_CALLBACK نیاز است.

پس از ساخت آداپتر و اتصال آن به RecyclerView می توان عملیات observe روی LiveData را در فرگمنت یا اکتیویتی جستجو پیاده کرد.

در قدم بعدی PagedList به QueryAdapter متصل می گردد. اما تغییر query روی داده ها تغییری ایجاد نمی کند. پروسه observation باید در این مرحله دستخوش تغییراتی گردد.

 

توضیحاتی که درباره کتابخانه paging بطور کلی مورد بررسی قرار گرفت زمینه مطالعه این سورس در گیت هاب می باشد. برای درک بهتر مواردی که گفته شد حتما به این سورس سری بزنید.

به این پست امتیاز دهید

روی ستاره های کلیک کنید و امتیاز بدید

میانگین امتیاز / 5. تعداد:

2 دیدگاه در نوشته: “کتابخانه Paging در اندروید

  1. AffiliateLabz گفت:

    Great content! Super high-quality! Keep it up! 🙂

    1. نسیم نژند گفت:

      Thanks for reading 🙂

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

Enter Captcha Here : *

Reload Image