如何在 Paging 3 中使用网络绑定资源?
Posted
技术标签:
【中文标题】如何在 Paging 3 中使用网络绑定资源?【英文标题】:How to use Network Bound Resource with Paging 3? 【发布时间】:2021-11-11 08:47:24 【问题描述】:我想使用网络绑定资源,这意味着房间缓存与分页 3。如果有人这样做,请发布您的答案,谢谢。
【问题讨论】:
【参考方案1】:来自architecture-components-samples 的NetworkBoundResource
只是一个帮助类,它封装了对网络+数据库缓存后面的资源的访问。在 Paging 中实现这种分层数据的规范方法是使用RemoteMediator
,您可以将其传递给Pager
的构造函数。
RemoteMediator
本质上充当回调,当PagingSource
用完要从数据库加载的数据时触发,然后您可以在其中进行网络获取,将新项目写入数据库并使其无效以获取分页选择上新项目。这看起来很迂回,但它确保您拥有单一的事实来源,因此您的应用中显示和加载的所有项目都基于数据库中的内容。
【讨论】:
非常感谢。 没问题 - 这里有一个很棒的指南:developer.android.com/topic/libraries/architecture/paging/…,以防您在实施方面需要更多帮助。 是的,我已经检查过了。实际上,我正在使用网络绑定资源进行搜索。但对我有用的东西实际上是远程调解器。再次感谢。以上是关于如何在 Paging 3 中使用网络绑定资源?的主要内容,如果未能解决你的问题,请参考以下文章
深入探索 Paging 3.0: 分页加载来自网络和数据库的数据 | MAD Skills
如何在 PagingSource LoadResult Page Paging 3 中使用 itemAfter 或 itemBefore
在使用 Paging library 3.0 时,我们如何将整个对象列表传递给 PagingDataAdapter?
Paging 3 - 如何在 PagingDataAdapter 完成刷新并且 DiffUtil 完成差异后滚动到 RecyclerView 的顶部?