Android Paging

Paging Library Paging

1. Datasource

数据源抽象类,Paging 有三种实现
(1)PageKeyedDataSource 按页加载,如请求数据时传入page页码。
(2)ItemKeyedDataSource 按条目加载,即请求数据需要传入其它item的信息,如加载第n+1项的数据需传入第n项的id。
(3)PositionalDataSource 按位置加载,如加载指定从第n条到n+20条。

2. PagedList

PagedListList 的子类,通过 Datasource 加载数据,并可以设置一次加载的数量以及预加载的数量等。

3.PagedListAdapter

PagedListAdapteRecyclerView.Adapter 的实现,用于展示 PagedList 的数据。数据源变动时后台线程通过 DiffUtil 比较前后两个 PagedList 的差异,然后调用 notifyItem...() 方法更新 RecyclerView。

4. LivePagedListBuilder

PagedListLiveData 整合成 LiveData<PagedList>