我正在开发一个android应用程序来显示流行的电影。我可以从themoviedb.org API中获取结果,它给了我不同的值,比如电影名称、电影海报id、电影描述等等。现在我想再调用一个API来获取海报。我已经有一个AsyncTask获取电影信息,我应该为图像创建另一个AsyncTask并一个接一个地调用它们吗?还是有更好的办法?
发布于 2016-02-28 01:29:06
AsyncTask可能不是最好的解决方案;如果设备旋转活动被破坏,当异步任务完成时,它将不再有要返回数据的活动。
如果您想使用异步任务,请考虑使用带有setRetainInstance(true)的片段来执行网络调用。您的活动将启动片段,如果被销毁,它将从片段中移除其侦听器,然后当重新创建时,它将再次附加侦听器--无论活动生命周期如何,片段都将继续运行。
尽管如此,您可能最好使用其他解决方案,如IntentService或完整服务,这取决于您的流程。
查看Volley和Retrofit库,也可以帮助您处理网络调用。
https://stackoverflow.com/questions/35677369
复制相似问题