使用以下方案调用REST服务的最佳Android体系结构是什么。
1)用户按下登录按钮。
2)应用程序启动后台进程并在屏幕上显示进度条。
3)用户按下Home按钮,应用程序进入后台。
4)请求结束,答案出现在屏幕仍在后台的设备上。
5)用户返回应用程序,屏幕返回前台。
如何获取请求的状态,以便根据结果在屏幕上显示数据或继续显示进度条?
根据Google I / O 2010的Virgil Dobjanschi的架构,它建议写入数据库并稍后访问。但这涉及很多样板代码。还有更好的方法吗?
答案 0 :(得分:0)
这真的不是那种已经准备就绪的东西,而是来吧!
如果您需要执行某项任务,即使应用程序在后台,您也需要使用Service
。考虑到这一点,您可以使用服务发出请求,并通过broadcast
或EventBus
就请求状态传达UI thread
。
尝试使用RoboSpice是一个模块化的android库,可以轻松编写异步网络请求!
RoboSpice的一些主要功能
activities
(或任何其他背景)的结果
关于其生命周期的网络请求。activities
UI Thread
(或任何其他背景)
完全没有内存泄漏,例如Android Loaders,与Android
不同
AsyncTasks
RoboSpice 我认为实施更接近于研究
希望这有帮助!