2

场景:我的应用程序有很多活动。最后,用户只需单击一下即可上传他的所有数据。

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

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

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

我将热切地等待您的评论。

4

2 回答 2

3

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

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

于 2012-09-05T10:24:39.210 回答
2

为了学习如何上传数据,我建议观看 Google I/O 2012 - 让优秀的应用变得更好:面向专家 Android 开发人员的更高级主题: http ://www.youtube.com/watch?v= PwC1OlJo5VM# 从 16:43 开始。它处理效率和对电池寿命的影响。

总结视频:

由于电话收音机的工作原理,请进行一次大型上传而不是多次小型上传,并尽量减少与网络的接触。

在较低的级别上按照user370305所说的那样,尝试上传数据,如果没有连接延迟,则在用户下次打开应用程序或单击上传按钮时上传。

于 2012-09-05T10:24:58.040 回答