【问题标题】:Android Paging 3 how do we sync data in background?Android Paging 3 我们如何在后台同步数据?
【发布时间】:2021-02-22 15:04:59
【问题描述】:

根据This Android Sample 使用Paging-3RemoteMediator 加载函数仅在没有更多可用数据时触发,但在实时用例中,大部分时间列表可能会更新。那么我们如何在后台同步这些数据以及显示数据库中可用的即时数据,然后再显示同步的数据。根据此示例,在刷新事件发生之前,它永远不会同步新数据。

【问题讨论】:

    标签: android android-paging-3


    【解决方案1】:

    您可以使用onBindViewHolder 适配器方法作为您的视图刚刚绑定到屏幕并可能显示给用户的信号,从而发出更新该特定项目的请求。这种方法也可能会向您的 Web 服务发送垃圾邮件,因此请小心。

    另一种方法是根据来自 Paging 3 的“刷新”信号,从位于 RemoteMediator 的数据库中删除所有项目,然后再次开始从网络中获取页面。

    【讨论】:

    • 你不明白我的问题我不想从日期开始删除任何项目我只想更新它们。即使我缓存了 10 个页面,这 10 个页面也应该立即显示以及从网络同步数据库
    • 这就是为什么我给了你第一个选择,使用 onBindViewHolder 来更新 UI 上显示的项目。但是你也应该在相同的请求之间实现一些延迟,这样你的网络服务就不会被请求淹没。
    • 但是我从您的问题中了解到,您希望在项目显示给用户时对其进行更新。我弄错了吗?
    • 嗯。我只是想从服务器同步该项目。因为项目细节每天都在变化
    猜你喜欢
    • 2020-11-20
    • 1970-01-01
    • 2023-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-29
    相关资源
    最近更新 更多