我希望我能解释清楚......
我试图更好地了解如何在Android中处理HTTP回调,因此我创建了一个使用Volley进行HTTP请求的简单应用程序。它只有一个触发HTTP服务请求的按钮,基本上只是更新数据库中的数字,并在5秒后通过JSON响应发送它。 Activity获取响应并在TextView中显示响应。我正在一个真正的设备上测试它,这个设备已经使得不能保持活动"设置中的选项 - 开发者选项。
这是我正在测试的场景:
所以,问题是:
哪些是向UI提供网络响应的最佳做法?我的意思是,如果不是一个简单的操作,让我们说这是一个注册表格,我接到一个电话或强迫我将应用程序发送到后台的东西,任何事情都可能发生,我怎么能确保不会想念网络回调?是否有什么东西可以延迟回调执行,直到应用程序再次出现在前台?
有没有办法在调用onDestroy后保存类似onSaveInstanceState中的Bundle,并在app再次出现在前台时恢复它?
让我们说HTTP响应包含的信息是敏感的。有没有推荐的方法来处理这种情况?我想在内部存储中保存响应,并在应用程序再次处于前台时检查它,但是我不知道在调用onDestroy之后是否可以这样做,或者它是不是很好敏感数据的想法。
提前致谢!
答案 0 :(得分:0)
1)你永远不会错过网络回调。即使你是在后台,你也会被召唤,除非你的整个应用程序(不仅仅是活动被杀死)。您只是在后台接听时收到回叫。
2)否。如果您在下次活动开始时需要网络呼叫的结果,我建议您使用Loader加载数据。这样,您可以在下次查询Loader结果,并仅在需要时启动请求。
3)做我在2中建议的内容,并且不需要这个问题,它全部都在app内存中。