7

我目前开始为现有的 Web 平台开发移动应用程序(iOS 和 Android)。此 Web 平台具有 REST API,客户端应用程序将使用它进行通信。问题是移动应用程序可以对 API 进行更改,而且我必须有离线支持。这将有同步问题:

  1. 客户端可以离线更改相同的数据,然后在与服务器同步该信息时会产生问题

  2. Web客户端也可以更改信息,移动客户端离线并且看不到更改,我也可以更改旧内容

  3. 让移动应用程序离线存储最新数据,以便用户可以工作。当它上线时,它应该处理更改并将更改发送到服务器

我可以阅读或看到可用于此的任何理论知识或算法吗?我的意思是这在移动应用程序开发中很常见,我不想在这里重新发明轮子。

4

2 回答 2

3

最近我写了一篇关于同步的博客(通过 REST API 在“客户端-服务器”模型中交换数据的同步算法)。我在帖子中提到的算法用于构建同步功能以支持离线客户端。它可能会帮助您获得一些想法,为您的特定要求构建同步逻辑。

注意:我只是提供上述算法的链接而不是在这里解释它的原因是这篇文章包含了许多有价值的评论,这些评论是对这篇文章的补充。

于 2013-08-30T10:36:14.693 回答
0

为了解决您的问题,您可以按照以下方法。

例如,您正在通过 Web 客户端进行更改。那时您的手机处于离线状态。该更改保存在服务器上。现在,您也在离线期间对移动设备进行了更改。这是需要做的棘手部分 - 当您的手机上线时,首先检查是否通过 Web 客户端进行了任何更改?如果是,那么询问用户“你想用你最后的更改覆盖它吗?” 像这种消息或任何你想显示的东西来提醒用户更改是冲突的。

如果选择了“是”,则继续上传通过移动设备完成的更改。

希望,这将帮助您解决您的问题。

于 2013-08-29T12:13:04.143 回答