猿问

在Android App和网络服务器之间同步数据

在Android App和网络服务器之间同步数据

我想在Android应用程序和服务器之间同步数据(例如数据库记录,媒体)。如果您已经看过Evernote或类似的应用程序,您当然明白我的意思。

我有一些问题(想象一下我们想要同步DB记录):

  1. 每个用户都有自己的一部分服务器空间(例如EvernoteDropbox)。也许用户通过手机创建新记录并在服务器中创建新记录。我如何将这些记录匹配在一起?如果有相同ID的记录你建议我使用哪种算法?

  2. 除了JSON手机设备和服务器之间有没有办法发送数据?

  3. 如果SyncAdapterContentProvider可以解决我的问题,请完全为我解释。(如果您可以向我提供一些示例或教程或任何建议或关键字,以帮助扩大/指导我的搜索也将受到赞赏)。


qq_花开花谢_0
浏览 795回答 3
3回答

侃侃无极

您应该学习以下可以帮助您的主题:SyncAdapter:应用程序中的同步适配器组件封装了在设备和服务器之间传输数据的任务的代码。根据您在应用程序中提供的计划和触发器,同步适配器框架运行同步适配器组件中的代码。领域:Realm是一个移动数据库:SQLite和核心数据的替代品。由Square,Inc。改进 Android和Java的类型安全HTTP客户端必须学习智能使用方式 - 改造祝所有新学员好运。:)

德玛西亚99

如果你自己写这些,这些是要记住的一些要点设备和Sync Server之间的正确身份验证设备和服务器之间的同步协议。它通常分为3个阶段,认证,数据交换,状态交换(哪些操作有效,哪些失败)选择有效负载格式。我建议基于SyncML的XML与基于JSON的格式混合来表示实际数据。因此协议的SyncML和正在交换的实际数据的JSON。在操作数据时使用JSON Array始终是首选,因为使用JSON Array可以轻松访问数据。跟踪客户端和服务器上的数据更改。您可以维护更改的更改日志,这些更改会在同步会话期间进行更改和提取。此外,在对象成功同步时清除更改日志。您还可以使用布尔变量来确认同步状态,即上次同步。最终用户确定上次同步完成的时间将会很有帮助。需要有一种方法从服务器通信到设备,以便在服务器上的数据更改时启动同步会话。您可以使用C2DM或编写自己的基于持久性tcp的通信。tcp方法非常无缝一种在多个设备上复制数据更改的方法最后但并非最不重要的是,一种检测和处理冲突的方法希望这有助于作为一个良好的起点。
随时随地看视频慕课网APP

相关分类

Android
我要回答