上传/同步数据到服务器的最佳方法?

问题描述:

场景:我的应用程序有很多活动。最后,用户只需点击一下就可以上传他的所有数据。上传/同步数据到服务器的最佳方法?

问题:如果用户在移动并停止服务(互联网服务/连接不良),则他/她无法上传数据,可能会出现问题。

在这种情况下,我想知道什么可能是最有效的方法。

我想到了一种方法。如果由于连接不好/没有服务,我会将数据本地保存在SQLite中。当用户下次打开应用程序时检查服务/连接是否可用,保持线程处于活动状态。如果是的话,它会立即上传。

我会热切地等待您的意见。

+0

简单的好友..!最后当你上传数据时检查连接是否正常,然后上传数据,否则只是存储在本地数据库中,下一次当用户来到应用程序时,上传数据并使数据库清除。因此,不需要任何服务检查连接不断.. – user370305

学习如何上传数据,我建议看谷歌I/O 2012 - 加工好大应用程序:获得专家Android开发更高级的主题:http://www.youtube.com/watch?v=PwC1OlJo5VM#从16:43。它涉及效率和对电池寿命的影响。

总结视频:

做一个大的上传,而不是几个小上传由于手机无线电是如何工作的,并尽量减少接触网络。

在较低级别上,如user370305所示,尝试上传数据,如果没有连接延迟,则下次用户打开应用或点击上传按钮时上传。

+0

这就是我所问...所以我会这样做,将这些数据保存在SQLite中,当用户打开应用程序时,按上传按钮数据上传。 – Debopam

用同步标志将所有数据保存到SQLite。使用服务不断检查未被标识的标志,并尝试在后台发送到服务器,并在同步完成时更新标志。

另一种方法,如果从SQLite同步到直接SQL Server,则可以设置事务或批量更新,因此如果连接失败,它将恢复事务。