2015-08-09 36 views
-1

我实现了一个Web平台和一个Android应用程序,用户在这里有一个配置文件,他们可以保存一些数据,图像等,并且系统必须保持同步。到目前为止,我简单地使用GCM来通知Android设备何时用户在网络平台上添加数据,以及当用户在Android设备上添加数据时简单HTTP Requests。它运行良好。从服务器和Android设备同步数据

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

我的第一个建议是使用一个能够自动同步的数据库,例如Pouch DB。如果没有这样的数据库为Android工作,我需要一些非常复杂的合并机制。对于像个人资料信息这样的静态数据,这不成问题。一个简单的时间戳可以做到这一点。但对于像值列表这样的动态数据来说,它更复杂。

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

回答

1

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

你的数据库BTW有多复杂?
对不起,我目前无法评论你的问题。

相关问题