Paging Library Paging
1. Datasource
数据源抽象类,Paging 有三种实现
(1)PageKeyedDataSource 按页加载,如请求数据时传入page页码。
(2)ItemKeyedDataSource 按条目加载,即请求数据需要传入其它item的信息,如加载第n+1项的数据需传入第n项的id。
(3)PositionalDataSource 按位置加载,如加载指定从第n条到n+20条。
2. PagedList
PagedList
是 List
的子类,通过 Datasource
加载数据,并可以设置一次加载的数量以及预加载的数量等。
3.PagedListAdapter
PagedListAdapte
是 RecyclerView.Adapter
的实现,用于展示 PagedList
的数据。数据源变动时后台线程通过 DiffUtil
比较前后两个 PagedList
的差异,然后调用 notifyItem...()
方法更新 RecyclerView。
4. LivePagedListBuilder
将 PagedList
和 LiveData
整合成 LiveData<PagedList>
。