正在同步来自服务器和 android 设备的数据
Synchronizing data from server and android device
我实现了一个网络平台和一个 android 应用程序,用户可以在其中拥有个人资料,他们可以保存一些数据、图像等,并且系统必须保持同步。到目前为止,当用户在网络平台上添加数据时,我只是使用 GCM 通知 android 设备,当用户在 android 设备上添加数据时,我简单地使用 HTTP Requests
通知 android 设备。效果很好。
现在要求变了。 android 应用程序现在还应提供离线模式。用户应该能够在离线时更改 android 设备上的数据。稍后设备再次上线时,应同步数据。所以现在我不能再使用 GCM
和简单的 HTTP Requests
,因为当设备处于离线状态时,用户可以更改设备和网络平台上的数据。所以我需要一个解决方案来同步数据。
我的第一个建议是使用能够自动同步的数据库,例如 Pouch DB。如果 android 没有这样的数据库,我需要一些非常复杂的合并机制。对于像个人资料信息这样的静态数据,这是没有问题的。一个简单的时间戳就可以解决问题。但是对于像值列表这样的动态数据,它更复杂。
有人对这种功能特别是数据库自动同步有经验吗?关于如何操作有什么建议吗?
您可以为此使用 SQLlite。
检查应用程序现在是否已连接到互联网。如果为真,则检查用户是否已离线更改数据(您可以使用 SharedPreferences,您可以在其中存储布尔标志)。
如果 flag 为 true,则访问 SQllite 中更改的数据并 post 到服务器。
您可以使用服务在后台检查设备是否离线。
顺便说一句,您的数据库有多复杂?
抱歉,我暂时无法评论你的问题。
我实现了一个网络平台和一个 android 应用程序,用户可以在其中拥有个人资料,他们可以保存一些数据、图像等,并且系统必须保持同步。到目前为止,当用户在网络平台上添加数据时,我只是使用 GCM 通知 android 设备,当用户在 android 设备上添加数据时,我简单地使用 HTTP Requests
通知 android 设备。效果很好。
现在要求变了。 android 应用程序现在还应提供离线模式。用户应该能够在离线时更改 android 设备上的数据。稍后设备再次上线时,应同步数据。所以现在我不能再使用 GCM
和简单的 HTTP Requests
,因为当设备处于离线状态时,用户可以更改设备和网络平台上的数据。所以我需要一个解决方案来同步数据。
我的第一个建议是使用能够自动同步的数据库,例如 Pouch DB。如果 android 没有这样的数据库,我需要一些非常复杂的合并机制。对于像个人资料信息这样的静态数据,这是没有问题的。一个简单的时间戳就可以解决问题。但是对于像值列表这样的动态数据,它更复杂。
有人对这种功能特别是数据库自动同步有经验吗?关于如何操作有什么建议吗?
您可以为此使用 SQLlite。
检查应用程序现在是否已连接到互联网。如果为真,则检查用户是否已离线更改数据(您可以使用 SharedPreferences,您可以在其中存储布尔标志)。
如果 flag 为 true,则访问 SQllite 中更改的数据并 post 到服务器。
您可以使用服务在后台检查设备是否离线。
顺便说一句,您的数据库有多复杂?
抱歉,我暂时无法评论你的问题。