同步来自服务器和Android设备的数据

时间:2015-08-09 07:43:23

标签: android synchronization

我实现了一个网络平台和一个Android应用程序,其中用户拥有个人资料,他们可以保存一些数据,图像等,系统必须保持同步。到目前为止,当用户在Android平台上添加数据时,我只是使用GCM通知Android设备,当用户在Android设备上添加数据时,使用简单HTTP Requests。它运作良好。

现在需求发生了变化。 Android应用程序现在也应该提供离线模式。用户应该能够在离线时更改Android设备上的数据。当设备再次联机时,应该稍后同步数据。所以现在我不能再使用GCM和简单HTTP Requests了,因为当设备处于离线状态时,用户可以更改设备上和网络平台上的数据。所以我需要一个同步数据的解决方案。

我的第一个建议是使用一个能够自动同步的数据库,例如Pouch DB。如果没有这样的数据库工作的android我需要一些非常复杂的合并机制。对于像配置文件信息这样的静态数据,没有问题。一个简单的时间戳就可以了。但是对于像值列表这样的动态数据,它更复杂。

有人有这种功能的经验,特别是数据库的自动同步吗?有关如何做的任何建议吗?

1 个答案:

答案 0 :(得分:1)

您可以使用SQLlite。
检查应用程序现在是否已连接到互联网。如果为true,请检查用户是否已脱机更改数据(您可以使用SharedPreferences,您可以在其中存储布尔值的标志)。
如果flag为true,则访问SQl​​lite中的已更改数据并发布到服务器 如果设备离线,您可以使用服务检查后台。

您的数据库BTW有多复杂?
抱歉,我目前无法对您的问题发表评论。

相关问题