如何在android设备和Web服务器之间双向同步数据?

如何在android设备和Web服务器之间双向同步数据?,android,database,sync,Android,Database,Sync,我的项目设置如下 服务器端 我有带PHP的Web服务器,MySQL数据库和apache 在android设备端 我有sqlite数据库 我想在设备端和服务器端的这两个数据库之间同步数据,只要数据库的任何一端有任何更新。安卓是否有任何软件包可以做到这一点?或者我需要自己使用php脚本和android的HttpClient api来处理这个问题吗?出于上述目的,您需要在php中创建web服务。您可以从Android侧调用这些web服务,以实现同步。出于上述目的,您需要在PHP中创建web服务。您可以

我的项目设置如下

服务器端 我有带PHP的Web服务器,MySQL数据库和apache

在android设备端 我有sqlite数据库


我想在设备端和服务器端的这两个数据库之间同步数据,只要数据库的任何一端有任何更新。安卓是否有任何软件包可以做到这一点?或者我需要自己使用php脚本和android的HttpClient api来处理这个问题吗?

出于上述目的,您需要在
php
中创建
web服务。您可以从
Android
侧调用这些
web服务
,以实现同步。

出于上述目的,您需要在
PHP
中创建
web服务
。您可以从
Android
侧调用这些
web服务进行同步。

如果您自己编写,这些是需要记住的要点

  • 设备和同步服务器之间的正确身份验证

  • 设备和服务器之间的同步协议。它通常分为三个阶段:身份验证、数据交换、状态交换(哪些操作有效,哪些操作失败)

  • 选择您的有效负载格式。我建议使用基于SyncML的XML和基于JSON的格式来表示实际数据。因此,SyncML用于协议,JSON用于实际交换的数据

  • 跟踪客户端和服务器上的数据更改。您可以维护更改的ID的更改日志,并在同步会话期间提取它们。此外,在成功同步对象时清除更改日志

  • 需要有一种从服务器到设备的通信方式,以便在服务器上的数据更改时启动同步会话。您可以使用C2DM或编写自己的基于tcp的持久通信。tcp方法非常无缝

  • 跨多个设备复制数据更改的方法

  • 最后但并非最不重要的是,一种检测和处理冲突的方法


希望这是一个很好的起点

如果你自己写这篇文章,这些都是需要记住的要点

  • 设备和同步服务器之间的正确身份验证

  • 设备和服务器之间的同步协议。它通常分为三个阶段:身份验证、数据交换、状态交换(哪些操作有效,哪些操作失败)

  • 选择您的有效负载格式。我建议使用基于SyncML的XML和基于JSON的格式来表示实际数据。因此,SyncML用于协议,JSON用于实际交换的数据

  • 跟踪客户端和服务器上的数据更改。您可以维护更改的ID的更改日志,并在同步会话期间提取它们。此外,在成功同步对象时清除更改日志

  • 需要有一种从服务器到设备的通信方式,以便在服务器上的数据更改时启动同步会话。您可以使用C2DM或编写自己的基于tcp的持久通信。tcp方法非常无缝

  • 跨多个设备复制数据更改的方法

  • 最后但并非最不重要的是,一种检测和处理冲突的方法

希望这有助于作为一个良好的起点