Android:将数据保存到服务器以避免活动破坏
Posted
技术标签:
【中文标题】Android:将数据保存到服务器以避免活动破坏【英文标题】:Android: Saving data to server avoiding activity destroy 【发布时间】:2015-09-29 07:39:54 【问题描述】:在保存到服务器时,有没有办法防止活动被破坏?我有一个配置文件活动,允许用户将配置文件保存到服务器。我显示了一个进度对话框,但是当活动进入后台时,它有可能被破坏。当它回到前面时,进度对话框将消失,但后台保存仍在执行。
【问题讨论】:
需要更多信息,您的进度对话框是什么? 只是一个dialogFragment,被设置为不允许取消 【参考方案1】:也许启动一个服务来完成上传工作会更适合你,你不必担心活动被破坏。您可以在here 找到有关创建/向服务发送信息的更多信息。
【讨论】:
我使用Volley库做通信部分和普通线程做镜像操作。我认为凌空图书馆应该为我完成背景工作。我的问题是进度对话框。如果活动被破坏,进度对话框本身也被破坏。因此,如果重新创建活动,进度对话框将不再存在,即使保存仍在进行中。 嗯,应该是一个简单的任务,但我不认为凌空有一个直接的方法 - 当活动被破坏时,请求侦听器是被破坏的活动并且响应/错误不会'不会调用新的(因此很难跟踪请求状态 - 例如使用共享首选项)。一种方法是取消请求并在新活动中重新开始。【参考方案2】:如果您使用 AsyncTask 来完成这项工作,您应该不会有任何问题,因为 Asynctask 在 Activity 终止时不会被销毁。
否则创建服务可能是处理它的最佳方式。
希望这会有所帮助。
【讨论】:
以上是关于Android:将数据保存到服务器以避免活动破坏的主要内容,如果未能解决你的问题,请参考以下文章
Android - 将 Parcelable 数据保存到文件中
在 onStop() 之后,带有线程的 Android 活动被破坏