希望在android应用程序中实现本地数据缓存



我有一个内部应用程序,从WCF服务器读取数据。它保留重要项目的本地副本,但一旦上传成功,它就会删除本地副本。只要有手机信号覆盖,这种方法就很有效。我发现我需要在本地保存最近访问的所有数据的副本,这样平板电脑在失去手机信号覆盖时就不会变得无用。我想知道是否有人已经编写或考虑过一个能够有效管理本地数据的系统。我想看几个重要的方面:

  1. 每当从服务器读取一条记录时,在"磁盘"上创建一个本地副本
  2. 此外,当从服务器读取数据时,在覆盖本地副本之前,它会检查本地副本是否已成功更新到服务器。如果本地副本尚未在服务器上更新,则需要使用本地副本。
  3. 如果它尝试更新到服务器并且失败了,那么需要有一个后台进程在稍后当蜂窝信号可用时尝试发送它。
  4. 需要能够处理不同的记录类型和不同的键类型来查找记录。
  5. 它需要能够清除本地副本的记录,如果他们没有被访问了一段时间
第四点是我最大的症结。是否有一种好的方法来保存不同类型的记录,不同的键类型和键数量的集合,以便访问它们?

我最终使用Akavache github.com/akavache/Akavache来实现我的场景。这是一组非常酷的库。你可以使用NuGet加载它。这里有一个博客的链接,上面有一个如何使用它的基本演示:https://codemilltech.com/akavache-is-aka-awesome/。

最新更新