我在写一个连接到REST/JSON web服务的android应用程序。用户将获取信息,上传评论,下载和上传图片等。连接到一个web服务从android - AsyncTask或服务?
我知道我不应该在Activity/UI线程中保留所有这些网络通信,因为它会导致ANR。我感到困惑的是,我是否应该使用AsyncTask或带有“手动”线程的服务来完成此任务;
有了服务,我只需要在webservice的API中为每个方法提供一个公共方法。然后,我会在这些方法中实现线程化。
如果我使用了一个AsyncTask,我会创建一个帮助类,为webservice的API中的每个方法定义AsyncTasks。
哪种方法是首选?与web服务的交互只会在用户处于活动状态时发生。一旦他们切换到另一个应用程序,或退出程序,就不需要与web服务进行通信。
感谢您的建议。但是,在观看此Google IO视频(http://www.google.com/events/io/2010/sessions/developing-RESTful-android-apps.html)后,我决定采用基于服务的方法。我仍然可以使用AsyncTasks来处理用户需要服务立即反馈的实例(例如发表评论)。对于简单的后台任务来说,AsyncTask似乎是最好的选择。 – football 2011-03-07 19:57:53