设备间的Android同步

设备间的Android同步,android,Android,我得到了一个应用程序,其中显示了从Web服务加载的一些项目(例如,水果)。这些项目很少改变。您还可以显示这些物品的可用性(例如,对于苹果,A店今天提供10公斤,明天提供20公斤,…) 用户可以在手机上为其中一些项目添加书签。我需要用户能够为其中一些项目添加书签,并在设备之间同步书签(我在手机上为苹果添加书签,我希望下次在平板电脑上打开应用程序时看到苹果被添加书签) 或多或少,我得到了大约40件物品,没有更多。每个可用性数据总计约200个条目 您将使用哪种技术来实现这一点 到目前为止,我的想法是:

我得到了一个应用程序,其中显示了从Web服务加载的一些项目(例如,水果)。这些项目很少改变。您还可以显示这些物品的可用性(例如,对于苹果,A店今天提供10公斤,明天提供20公斤,…)

用户可以在手机上为其中一些项目添加书签。我需要用户能够为其中一些项目添加书签,并在设备之间同步书签(我在手机上为苹果添加书签,我希望下次在平板电脑上打开应用程序时看到苹果被添加书签)

或多或少,我得到了大约40件物品,没有更多。每个可用性数据总计约200个条目

您将使用哪种技术来实现这一点

到目前为止,我的想法是:

  • 我构建了一个sqlite数据库(带有contentprovider),其中包含水果和可用性
  • 我每2/3天同步一次这个数据库(这就足够了,不需要经常这样做)
  • 我使用备份代理来同步整个数据库文件
  • 你认为一个数据库是过分的吗?应用程序应始终在网络连接的情况下运行(否则我们不允许)

    我的另一个选择是:

  • 应用程序启动时加载项目和可用性
  • 书签保存在SharedReferences中
  • 我使用BackupAgent仅同步SharedReference

  • 这似乎不那么复杂,而且在同步部分效率更高。但是,我觉得这并不是一种干净的方法,也不是一种未来的证明。

    Android的备份API只在根据另一台设备创建的备份初始化新设备时有用。看见它不是保持两台设备同步的合适基础结构


    我建议你看看Google Play游戏服务的功能。它允许您在两台设备上同步数据。它通常用于游戏,但也可以用于其他场景(如您的场景)

    为什么不保留一个新书签的标记,然后将新书签发送到服务器上呢。然后在同步时,让设备发送最后收到的ID或其他信息,以便您只返回您没有的ID服务器是只读的。书签不是集中的。我不能改变。