设备之间的Android同步

时间:2013-09-05 18:30:02

标签: android

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

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

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

您将使用哪种技术来实现它?

到目前为止我的想法:

  1. 我构建了一个水果和可用性的sqlite数据库(包含contentprovider)
  2. 我每2/3天同步一次这个数据库(这就足够了,不需要经常这样做)
  3. 我使用BackupAgent同步整个数据库文件
  4. 您认为数据库是否过度杀伤?期望应用程序始终与网络连接一起运行(否则我们不允许)。

    我的另一个选择是:

    1. 在应用程序启动时加载项目和可用性
    2. 书签保存在SharedPreferences
    3. 我使用BackupAgent仅同步SharedPreferences
    4. 这似乎不那么复杂,同步部分效率更高。但是,我觉得这并不是一种干净的方式,而且不太适合未来。

1 个答案:

答案 0 :(得分:2)

Android的备份API仅用于根据其他设备创建的备份初始化新设备。见the backup API docs。保持2台设备同步不是正确的基础设施。

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