android - Android中的向上同步和向下同步?

标签 android synchronization background-process android-syncadapter point-of-sale

我正在开发一个需要非常好的同步机制的销售点应用程序。我们有 Magento 数据库。android 设备有 SQLite 本地数据库。现在我们需要通过以下方式进行同步:

本地 ------同步到---------------> 服务器(向上同步)

服务器------同步到---------------> 本地(向下同步)

有两件事:

1) 写信(如何照顾??)

对于我在本地所做的每一项更改,它都会直接将我的本地同步到服务器

2)回写(如何照顾???)

每当服务器发生变化时,我们需要将所有本地人与服务器同步。

因此,任务是:识别服务器更新

并同步我们的本地人。 就像商店里有 4 台设备正在运行,我们通过一台设备添加了一位新客户。现在我希望其他三个设备的本地数据库也更新了有关该客户和服务器的信息也更新了。

我听说过一段时间间隔后的后台线程和运行线程。但是,在不影响应用程序的情况下,最好的方法是什么。此外,所有大型零售商店都使用同步过程。他们用来做什么?

感谢任何帮助。

最佳答案

这完全取决于你的数据库结构...

您在 LOCAL (device)SERVER

中有 DATABASE

现在

您需要将 TIMESTAMP 字段 添加到您实际上想要保持同步的 TABLES 中。

当您在服务器上进行任何更改时,TIMESTAMP 将在那里更新,本地数据库也是如此,您现在要做的就是。

在后台运行一个服务,它会不断比较LOCALTIMESTAMPSSERVER的。

现在您必须设置条件,如果 SERVERTIMESTAMPLOCAL 的更新,则从 SERVER本地,

and vice versa will be the condition to take changes from LOCAL to SERVER.

您还必须确定运行此 SERVICE 的频率。

或者:

您可以在 SERVER 上创建表格,该表格将存储特定设备的 LAST_SYNCHED 日期

每当您登录您的设备(或您希望它执行此操作的任何其他特定事件)时,服务器都会检查 -

  • 此设备上次同步时
  • 然后它将它与 TODAYS DATE 进行比较
  • 并将检查这些日期之间实际发生的更新 将更改发送到本地(设备)

本地(设备)到服务器反之亦然

您必须使用 TIMESTAMPS 休息,您可以拥有自己的逻辑来构建数据库。

我告诉过你我在参与此类类似项目时所观察到的情况

编辑

上述流程定义了如何将设备与服务器同步我的意思是策略..

如果您希望您的设备在同步时从服务器获得通知,而不是反复点击 WEB-SERVICE ..

你可以使用PUSH NOTificationGCM是其中之一,可以向设备发送推送通知,你可以将它集成到你的项目中

关于android - Android中的向上同步和向下同步?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16336054/

相关文章:

java - 在 saveInstanceState 包中存储大数据结构

android - 如何在android中改变开关的形状

javascript - Typescript:如何在有限时间内捕获键盘事件

bash - 下一个命令完成后,如何停止从 bash 启动的后台进程?

linux - 如何确定脚本是否作为 nohup 完成运行?

android - 如何从浏览器控制手机屏幕?

android - Google Analytics(分析)在Android上无法运作

java - 如何同步传递到多个地方的实例?

ios - 适用于 iCloud 的大量 UIDocuments

python - 与长时间运行的 python 进程交互