离线到在线同步数据库

时间:2018-06-19 11:52:56

标签: android ios django database windows

我正在开发一个系统,我的客户希望我提供一个脱机服务和一个在线备份以及一个iOS,Android和Windows App。

我需要的东西:

  1. 支持脱机和联机(主)数据库,这些数据库在连接时可以同步。
  2. 与iOS和Android相同,但我不太担心这些手机是否可以处理此类工作。
  3. 在Android和iOS上用于归档该目标的内容。

无论如何我都建议我。

NB:除了后端,我什么都没有决定,我将使用Python和Django。我仍在设计过程中。

3 个答案:

答案 0 :(得分:2)

首先,您需要确定数据库以供离线存储。像Realm,SQLite一样。

第一个API将调用并响应数据将转储到本地数据库中。 下次您必须从本地数据库获取数据并显示出来。并行地,您必须在API返回数据后立即在后台调用API,您需要检查响应数据和本地数据是否相同或不同(如果相同),然后忽略以API响应数据替换其他明智的本地数据。

必须将数据发送到服务器时必须应用的相同内容。如果用户离线,则需要存储在本地数据库中,一旦他在线将数据发送到服务器。

答案 1 :(得分:2)

在android中,支持离线使用SQLite数据库作为本地数据库。

当应用处于离线模式时,将数据保存在SQLite中。

您需要编写API才能将数据发送到服务器。

在Internet连接可用时,您将本地数据发送到服务器。

在数据发送到服务器后,在状态栏中添加一个状态列,以更新您的状态,然后将状态设置为true。下次仅发送状态为假的那些数据。

答案 2 :(得分:0)

我建议使用Firebase数据库(实时数据库或Firestore)!!!

使用Firebase DB,当客户端脱机时,他们会将新数据写入其本地缓存中,以便用户可以像在线应用程序一样享受您的应用程序。 当返回在线状态时,它们会自动与主机数据库和所有设备同步,因此用户可以享受真正的“实时”体验。

此外,它提供了No-SQL可伸缩数据结构,您确实可以节省时间。

此外,Firebase有免费计划,因此您可以自由尝试使用Firebase DB构建一些小型应用程序。