0

我的移动应用程序和网络项目中有个人资料。我们目前正在考虑如何同步它们。关键是,如果有人在移动配置文件中添加了一些东西——我们只需将一束 id 发送到网络服务器,服务器也会添加它们。删除物品也是如此。但是,如果一个人在没有持续连接的情况下从移动配置文件中删除,然后在网络服务器的配置文件中删除他的配置文件中的某些内容会怎样?之后我们必须以某种方式同步它。

我知道必须已经找到此类问题的解决方案,但不幸的是我还没有找到任何有用的东西。

4

1 回答 1

1

我建议观看 Virgil Dobjanschi 在 Google I/0 2010 上关于设计 RESTful 客户端应用程序的演讲:这里。大约一个小时,但内容丰富且乐于助人。

需要注意的一些关键点是:

  • 使用 SQLite 数据库充当应用程序和 Web 服务器之间的缓存,因此即使没有连接也可以保存更改,然后在您再次连接后发送/接收。
  • 使用 Service 来处理 REST 调用,因为它不受单个 Activity 生命周期的限制。这样,如果用户或 Android 操作系统终止了您的 Activity、电话将您的应用程序从屏幕上推开等等,您的服务器请求仍然可以被执行和正确处理。我正在使用Intent Service,因为它为您处理线程。

您还需要确定哪种同步关系最适合您的应用程序。我的意思是“哪个数据库应该覆盖另一个:SQLite 还是网络服务器?”。那么当两者之间存在差异时,哪些数据应该被认为是“正确的”呢?这通常被称为主从

于 2012-05-31T12:48:52.467 回答