gpt4 book ai didi

android - Android 中远程服务器与本地数据库(缓存)同步的智能算法,分页支持离线

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:37:15 27 4
gpt4 key购买 nike

应用程序中离线支持的一个非常基本的设置,其中从 API 获取的数据存储在 Sq-lite 中,用于在应用程序未连接到互联网时显示列表。

当我想用来自服务器的数据更新数据库中的数据时,问题就出现了。有一个在服务器端实现的预定义排序顺序,数据总是以相同的顺序出现。

重新开始时,数据被加载,并按照接收到的顺序保存在数据库中,并实现了分页。假设在刷新数据一段时间后,第 1 页 (1-10) 和第 2 页 (11-20) 中收到了新项目,但数据库将 11-20 项目作为第 1 页,因为添加了服务器此列表中的新项目和本地没有较新的项目。

我如何处理这种情况并正确保存较新的 10 个(或更多/少数)项目,以便当从我的数据库中获取第 1 页时,首先返回这些新项目,然后返回旧项目?基本上如何处理与服务器同步的数据的添加/删除/修改。

我想实现很多应用程序所做的事情,例如 Instagram/Facebook,只要启动应用程序,您就可以在列表中滚动,在后台进行网络调用,将正确的结果保存到数据库并通知用户知道添加了新项目并将列表滚动到顶部以显示较新的项目。

我不能为此目的使用最新的 Paging 库和其他 jet-pack 组件,因为它需要在应用程序中更改架构级别。

最佳答案

当插入到本地数据库中时,我会为项目添加时间戳。然后,在获取第一页以外的页面时,还按排序顺序询问自上次获取以来带有时间戳的项目。将这些与第二页的结果合并。

关于android - Android 中远程服务器与本地数据库(缓存)同步的智能算法,分页支持离线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55785730/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com