Android - 离线模式 - 同步数据

Ahm*_*ieh 2 api android synchronization offline-mode

我正在开发 Android 应用程序,它是驱动程序应用程序。驱动程序应用程序的主要功能是为特定客户交付订单。

司机将收到大量订单,他可以更改每个订单的状态,例如(运输中、暂停、交付、取消、拒绝)。一旦互联网连接断开,驱动程序将被阻止进行任何操作。

我的目标是如何让应用程序在离线模式下运行,一旦互联网连接断开,驱动程序仍然可以对每个订单采取行动,他可以在本地将每个订单的状态从 new 更改为 in_transit 以交付等等. 一旦互联网连接恢复,我就可以将数据同步/推送到服务器。

所以我的问题是: - 我该怎么做?- 我应该保存什么来同步 api 请求或订单状态?

谢谢,

Ati*_*wal 9

您可以在您的应用中执行以下步骤:

  1. 创建一个包含有关停靠点和项目信息的架构的本地数据库。
  2. 一开始,当司机开始他的旅程时,他必须有互联网。获取所有的发货信息,保存到本地数据库中使用。
  3. 将此列表从本地数据库显示给驱动程序。
  4. 您可以拥有2 个名为delivery_status和synced 的标志。最初, delivery_status 可以是in_transit并且同步标志必须是 false。
  5. 创建一个后台服务,以一定的时间间隔不断检查 Internet 连接。如果没有互联网,服务就会停止,什么也不会发生。但是,如果有 Internet,则从本地数据库中获取所有未同步的 **(synced = false) ** 数据,并将数据发送到服务器。在服务器成功响应后,将此同步标志标记为真。每隔一定时间重复此步骤以检查未同步的数据并继续将其发送到 Web 服务器,直到所有同步标志为真。

这样,您可以让司机有时在没有互联网的情况下交付物品,一旦互联网可用,您的后台服务就会将状态上传到服务器。