HELLO WOR|

kingwzun

园龄:3年6个月粉丝:111关注:0

Android Compose 的分页(Paging3)

Overview

官方链接:
https://developer.android.com/topic/libraries/architecture/paging/v3-overview

需要注意的是,Paging 库的组件在应用程序的三层中运行,Paging在三层的架构如下图:

  • 存储库层
  • ViewModel层
  • 用户界面层

image

在三层的数据传递如下图:
image

方法/接口

官方链接:
https://developer.android.com/reference/androidx/paging/package-summary

版本查询

https://developer.android.com/jetpack/androidx/releases/paging

使用

基础官方教程(看这个即可)
https://developer.android.com/codelabs/android-paging-basics?hl=zh-cn#0
在Compose页面层的用法,看这里
https://developer.android.com/reference/kotlin/androidx/paging/compose/package-summary

注意:XXXXXXPagingSource.kt文件放在 data 软件包中

给个示意代码:

LazyColumn(modifier = Modifier.fillMaxWidth().fillMaxHeight()){
itemsIndexed(collectAsLazyPagingItems.itemSnapshotList) { index, collect ->//每个item的展示
if (collect != null) {
Card(
modifier
.border(2.dp, color = Color.Black)
.height(100.dp)
.width(100.dp))
{
Text(text = collect.name)
}
}
}
}

官方教程2(补充)
https://developer.android.com/codelabs/android-paging?hl=zh-cn#0

注意: 要保证viewModel只能访问到Repository类,所以加入PagingSource类后,需要更新Repository类,使其加入XXXXPagingSource()

package com.example.android.codelabs.paging.data
import androidx.paging.PagingSource
class ArticleRepository {
fun articlePagingSource() = ArticlePagingSource()
}

本文作者:kingwzun

本文链接:https://www.cnblogs.com/kingwz/p/17863922.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   kingwzun  阅读(337)  评论(0编辑  收藏  举报
历史上的今天:
2021-11-29 error: 'gets' was not declared in this scope; did you mean 'fgets'? 解决方法
2021-11-29 数据库基础
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起