首页 > 其他分享 >Android Compose 的分页(Paging3)

Android Compose 的分页(Paging3)

时间:2023-11-29 10:24:12浏览次数:45  
标签:Compose androidx Paging3 paging https Android com android developer

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

给个示意代码:

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()
}

标签:Compose,androidx,Paging3,paging,https,Android,com,android,developer
From: https://www.cnblogs.com/kingwz/p/17863922.html

相关文章

  • Realtek蓝牙Android10.0移植结束后的基本测试和常见问题分析
    基本测试主要包括配置检查和BT测试两大部分配置检查:为了进一步确保porting没有问题,在测试之前先确认fw以及config文件是否存在。adbshell到测试平台的根目录,检查测试平台的vendor/firmware/目录中rtlxxxx_fw以及rtlxxxx_config文件是否存在(xxxx为BTChip型号)......
  • docker-compose种不通的服务之间的访问问题,夸容器访问
    背景我们知道对于docker的每个容器都是独立的,想要夸容器访问的话,不能用127.0.0.1加端口号去访问,所以需要docker虚拟网卡的网关分配的地址去访问,可以通过dockerinspect对每个容器的局域网ip进行查看,但是这样比较麻烦,所以有一个新的解决办法,就是通过docker-compose配置文件的方......
  • DockerCompose修改某个服务的配置(添加或编辑端口号映射后如何重启单个服务使其生效)
    场景docker-compose入门以及部署SpringBoot+Vue+Redis+Mysql(前后端分离项目)以若依前后端分离版为例:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/128372122上面讲了dockercompose的应用示例,如果需要修改某个服务的配置文件,比如需要给其中一个java服务添加一......
  • 直播系统代码,Android自定义View实现呼吸灯效果
    直播系统代码,Android自定义View实现呼吸灯效果自定义View的属性定义attrs.xml如下: <resources>  <declare-styleablename="BreathView">    <attrname="centerCircleRadius"format="dimension"/>    <attrname="circleCol......
  • 解决AndroidStudio 模拟器无网络连接
    解决AndroidStudio模拟器无网络连接主要原因是安卓模拟器的dns和电脑的dns不一致引起的,可以修改安卓模拟器的dns即可找到安卓模拟器的名字修改安卓模拟器dns命令 #Pixel7_API_30_fei这个是你自己模拟器的名字,也就是第一步中找的的模拟器名字./emulator-avdPixel......
  • android创建平板的分页页码
    在横向平板显示分页页码的时候,要实现下面的效果当默认分页超过5个之后中间显示...然后两边的页码按钮点击之后移动页码,点击1、2页码不移动,点击了第3页之后,左边移动到2、3、4页面,如下使用RecyclerView列表实现,通过对Item的type进行分类来实现页码按钮和省略号,下面是分页列表......
  • Android开发App回到桌面但不退出APP的实现
    方法1:Intentintent=newIntent();//创建Intent对象intent.setAction(Intent.ACTION_MAIN);//设置Intent动作intent.addCategory(Intent.CATEGORY_HOME);//设置Intent种类intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);//标记context.startActivity(intent);方法2:......
  • 客户端相关知识学习(三)之Android原生与H5交互的实现
     Android原生与H5交互的实现H5调用原生的方式方式可能有多种,根据开发经验,接触过两种方式。方法一:Android向H5注入全局js对象,也就是H5调Android1.首先对WebView进行初始化WebSettingssettings=webview.getSettings();settings.setJavaScriptEnabled(true);//允......
  • 客户端相关知识学习(八)之Android“.9.png”
    客户端相关知识学习(八)之Android“.9.png” 参考Android中.9图片的含义及制作教程.9.pngAndroid.9.png的介绍......
  • 客户端相关知识学习(十一)之Android H5交互Webview实现localStorage数据存储
      前言最近有一个需求是和在app中前端本地存储相关的,所以恶补了一下相关知识webView开启支持H5 LocalStorage存储有些时候我们发现写的本地存储没有起作用,那是因为默认WebView没有开启LocalStorage存储。开启方法如下首先得有Webview控件:有人问我是不是需要写布局文件......