📜  Android 架构组件中的分页概述

📅  最后修改于: 2022-05-13 01:58:44.889000             🧑  作者: Mango

Android 架构组件中的分页概述

Paging 库允许您从本地或网络上存储的更大数据集中加载和显示数据页面。此方法可帮助您的程序更好地利用网络带宽和系统资源。 Paging 库的组件被构建为适合建议的 Android 应用程序架构,与其他 Jetpack 组件接口良好,并最好地支持Kotlin

使用分页库的优势

Paging 库中包含以下功能:

  1. 对于分页数据,可以使用内存缓存。这保证了您的程序在与分页数据交互时有效地利用系统资源。
  2. 内置请求重复数据删除,确保您的应用有效利用网络流量和系统资源。
  3. 可配置当用户滚动到加载数据的末尾时,RecyclerView 适配器会自动请求数据。
  4. 对 Kotlin Coroutines 和 Flow 以及 LiveData 和 RxJava 的支持是一流的。
  5. 错误处理功能是内置的,包括刷新和重试选项。

分页库重言式

在 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")


Kotlin 中的分页组件

Paging 库与 Android 应用程序框架无缝协作。该库的组件在您的应用程序的三层中工作:

  1. 存储库层由几个层组成。
  2. ViewModel 层是一种视图模型。
  3. 用户界面 (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 组件中的分页的简短介绍,希望这篇文章能对鲜为人知的点有所启发,并添加这将真正有益于您在效率部门的项目!