如何让android应用程序在服务器端同时联机和脱机?以及如何同步服务器端数据?

问题描述:

任何人有任何最好的想法,以在线以及离线工作的Android应用程序?另外,如何管理与本地数据库的服务器端数据同步?如何让android应用程序在服务器端同时联机和脱机?以及如何同步服务器端数据?

+3

看到这是一个有趣的问题,因为这是每个客户端应用程序和后端开发人员必须解决的问题,需要在他们的API和他们的应用程序设计中弄清楚。惭愧*这个问题太广泛了*,并取决于你的数据库在客户端和服务器端,你选择使用什么技术,以及你的项目限制等等等等。 – EpicPandaForce

+0

我会建议,“雇用一个人来做这个”。 –

+0

第一个问题的答案是在第二个问题“在线和离线”中写出来的,只要用户上线,本地数据库就会同步。第二个问题的答案是服务组合和AsyncTask的 –

采取的步骤一个完整的离线应用:

1)你的UI总是从数据库中显示的数据,并积极听取任何分贝的变化。

2)每当用户与您的应用程序交互时,您直接更新数据库并标记您数据库中的相关字段以与您的服务器同步。 (请注意,您的用户界面会在数据库更改时立即更新)

3)您的网络层将侦听您数据库中标记的字段更改并尝试与服务器同步。

4)当服务器端更改成功时,您取消标记您现在同步成功的db字段。 5)如果您正在执行向下同步(即:服务器具有更新的数据并希望客户端进行相应更新),则可以向设备发送推送通知并进行网络调用以获取最新数据取决于通知消息。

为了顺利运行,您需要一个反应型数据库。 领域数据库就是我用过的一个例子。

+0

如果我只是处理一些小数据,这很容易。如果数据很大,该怎么办?我需要将每个数据与更新的数据同步。 – The90sArtist

+0

我需要更多的上下文来回答这个问题,假设您正在制作的新闻应用程序,你可以获取来自服务器的所有数据一次在早晨天(说),并从数据库中显示数据 –