情景:我的应用有很多活动。最后,用户只需点击一下即可上传所有数据。
问题:如果用户在移动中并且停止服务(互联网服务/连接不良),则可能会出现问题,然后他/她无法上传数据。
在这种情况下,我想知道什么是最有效的方法。
我想到了一种方法。如果由于连接不良/没有服务,我将在SQLite中本地保存数据。当用户下次打开应用程序以检查服务/连接是否可用时,保持线程处于活动状态。如果是,它将立即上传。
我将热切期待您的评论。
答案 0 :(得分:3)
使用同步标记将所有数据保存到SQLite。使用服务不断检查未同步的标志,并尝试在后台发送到服务器,在同步完成时更新标志。
另一种方法是,如果从SQLite同步到直接SQL Server,则可以设置事务或批量更新,因此如果连接失败,它将还原事务。
答案 1 :(得分:2)
为了学习如何上传数据,我建议观看Google I / O 2012 - 让优秀的应用程序变得更好:专家Android开发人员的更多高级主题:http://www.youtube.com/watch?v=PwC1OlJo5VM#从16:43开始。它涉及效率和对电池寿命的影响。
总结视频:
由于手机无线电的工作原理,请执行一次大型上传而非多次小型上传,并尽量减少触摸网络。
在较低级别上执行user370305所述,尝试上传数据,如果没有连接延迟,则下次用户打开应用程序或单击上传按钮时上传。