我实现了一个Web平台和一个Android应用程序,用户在这里有一个配置文件,他们可以保存一些数据,图像等,并且系统必须保持同步。到目前为止,我简单地使用GCM来通知Android设备何时用户在网络平台上添加数据,以及当用户在Android设备上添加数据时简单HTTP Requests
。它运行良好。从服务器和Android设备同步数据
现在需求已改变。 Android应用程序现在应该也提供一个离线模式。用户应该能够在离线状态下更改Android设备上的数据。稍后当设备再次联机时,数据应该同步。因此,现在我无法再使用GCM
和简单HTTP Requests
,因为当设备处于脱机状态时,用户可以在设备上和网络平台上更改数据。所以我需要一个解决方案来同步数据。
我的第一个建议是使用一个能够自动同步的数据库,例如Pouch DB。如果没有这样的数据库为Android工作,我需要一些非常复杂的合并机制。对于像个人资料信息这样的静态数据,这不成问题。一个简单的时间戳可以做到这一点。但对于像值列表这样的动态数据来说,它更复杂。
有人有这种功能的经验,尤其是数据库的自动同步吗?有关如何做的建议?