Android环境中如何使用Jetpack- Paging?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
Google 推出 Jetpack 组件化已经有相当一段时间了。各种组件也层出不穷。
Jetpack 的东西也不少,
今天就搞一下这个 Paging
Paging的出现,就是用作列表的分页加载。其实现在已经有非常多成熟高效的开源列表加载控件了,比如:Smartrefreshlayout等。但Google推出的,必然有它的有点,当然也有它的局限性。
先说优点吧,Paging的使用,需要配合ViewModle,LiveData等控件,数据的请求感知并绑定页面的生命周期,避免了内存泄漏。还需要绑定DataSource和DataSource的Factory,能无痕加载更多数据,一定程度上提高用户体验。
主要流程是:
1:自定义 PositionalDataSource,里面的功能是进行数据分页请求。
2:自定义 DataSource.Factory,把 PositionalDataSource 绑定 LiveData
3:Activity 自定义 ViewModel,把 PositionalDataSource 和 Factory 绑定,让 ViewModel 感知数据的变化
4:ViewModel感知数据的变更,并更新 PagedListAdapter 的 submitList。
最先看看导入那些依赖:
implementation "androidx.paging:paging-runtime:3.0.0-alpha04" implementation 'androidx.recyclerview:recyclerview:1.1.0' implementation 'com.squareup.retrofit2:retrofit:2.9.0' implementation "android.arch.lifecycle:extensions:1.1.1"
网站栏目:Android环境中如何使用Jetpack-Paging-创新互联
网页URL:http://tyjierui.cn/article/gcjii.html