缓存iOS/Android移动应用程序的数据以使用分页

con*_*ile 6 sqlite pagination android caching ios

提供以下方案.我在iOS/Android上有一个移动应用程序,它通过REST连接到服务器后端.在应用程序中,您可以显示新闻项目.您可以创建,编辑和删除这些项目,您是项目的创建者.在应用程序的一个页面上有一个新闻源,您可以在其中查看其他应用程序用户创建的新闻项目的概述.iOS/Android应用程序将这些新闻项的数据存储在本地sqlite数据库中.当用户向下滚动项目列表时,如果有任何项目,则应加载其他项目.

我想要解决的任务是如何在SQLite数据库中缓存项目以使用分页.有时在服务器上删除或重新排序项目时,必须更新缓存.在处理分页时必须考虑到这一点.

这是我到目前为止使用的算法:

  1. 如果页面打开,请检查sqlite数据库中是否有要显示的项目

    • 如果为true,则从数据库中检索偏移量偏移= 0的p项,并与服务器联系以检查是否应更新或删除第一个p项
      • 如果应更新或删除项目,请对显示的项目执行这些操作
    • 否则联系服务器获取偏移量偏移= 0的p项并显示它们
  2. 如果用户向下滚动,则使用offset = offset + p再次启动1.

移动应用程序的缓存数据如何与分页一起使用?

Voj*_*jta 1

问题是您想要存储数据多长时间。您可以部分存储您获得的所有数据:

“否则联系服务器获取偏移量 offset=0 的 p 项并显示它们”

并为数据设置一些时间戳。当时间戳过期时,您将删除数据(在后台)。通过这种方式,您可以节省大量请求,并且不会浪费内存。

希望这可以帮助您解决问题。