Android 架构组件中的分页概述
Paging 库允许您从本地或网络上存储的更大数据集中加载和显示数据页面。此方法可帮助您的程序更好地利用网络带宽和系统资源。 Paging 库的组件被构建为适合建议的 Android 应用程序架构,与其他 Jetpack 组件接口良好,并最好地支持Kotlin 。
使用分页库的优势
Paging 库中包含以下功能:
- 对于分页数据,可以使用内存缓存。这保证了您的程序在与分页数据交互时有效地利用系统资源。
- 内置请求重复数据删除,确保您的应用有效利用网络流量和系统资源。
- 可配置当用户滚动到加载数据的末尾时,RecyclerView 适配器会自动请求数据。
- 对 Kotlin Coroutines 和 Flow 以及 LiveData 和 RxJava 的支持是一流的。
- 错误处理功能是内置的,包括刷新和重试选项。
在 Android 项目中设置
现在让我们设置我们的 Android 项目以开始使用分页库。为此,将以下依赖项添加到您的 Android 应用程序清单中以导入分页组件。
Kotlin
dependencies {
val paging_version = "3.0.0"
implementation("androidx.paging:paging-runtime:$paging_version")
// alternatively - without Android dependencies for tests
testImplementation("androidx.paging:paging-common:$paging_version")
Paging 库与 Android 应用程序框架无缝协作。该库的组件在您的应用程序的三层中工作:
- 存储库层由几个层组成。
- ViewModel 层是一种视图模型。
- 用户界面 (UI) 层
#1:存储库的层
PagingSource 是存储库层的主要分页库组件。每个 PagingSource 对象指定一个数据源以及如何从中检索数据。任何单个源,包括网络源和本地数据库,都可以加载到 PagingSource 对象中。 RemoteMediator是您可能使用的另一个分页库组件。来自分层数据源(例如具有本地数据库缓存的网络数据源)的分页由 RemoteMediator 对象处理。
#2:层视图模型
基于 PagingSource 对象和 PagingConfig 配置对象,Pager 组件提供了一个公共 API 用于创建 PagingData 的实例,这些实例呈现在反应流中。 PagingData 是将 ViewModel 层连接到 UI 的组件。 PagingData 对象是分页数据快照的容器。它对 PagingSource 对象进行搜索并保存结果。
#3:用户界面(UI)层
PagingDataAdapter,一个处理分页数据的 RecyclerView 适配器,是 UI 层中最重要的 Paging 库组件。以上就是对 Android 组件中的分页的简短介绍,希望这篇文章能对鲜为人知的点有所启发,并添加这将真正有益于您在效率部门的项目!