连接到Android的Web服务 - AsyncTask或服务?

foo*_*all 7 service android web-services android-asynctask

我正在编写一个将连接到REST/JSON Web服务的Android应用程序.用户将检索信息,上传评论,下载和上传图像等.

我知道我不应该在Activity/UI线程中保留所有这些网络通信,因为它会导致ANR.我感到困惑的是我是否应该使用AsyncTask或带有"手动"线程的服务来实现这一目标;

有了Service,我只需要为webservice的API中的每个方法提供一个公共方法.然后,我将在每个方法中实现线程.

如果我使用了AsyncTask,我会创建一个帮助器类,为webservice的API中的每个方法定义AsyncTasks.

哪种方法更受青睐?只有当用户在Activity中时,才会与webservice进行交互.一旦他们切换到另一个应用程序,或退出程序,就不需要与Web服务进行通信.

Eri*_*vik 6

我建议你去AsyncTask解决方案.它是一种简单直接的方式来运行UI线程的请求或任何其他后台任务.

如果您需要在运行请求时显示某种进度条,也可以轻松实现onProgressUpdate.