使用AsyncTask在Android上实现异步http请求

时间:2011-04-21 03:45:10

标签: android multithreading httpwebrequest android-asynctask

我正在为Web服务构建此客户端。 几乎所有东西都向服务器发出请求,现在我做的是,我打开一个新线程并将所有请求放在同一个线程中。这意味着我在线程内部以串行方式发出所有请求,并且变成了很多等待用户。为了使应用程序更快,我想以异步方式提出每个服务器请求。

我有一个Networking类来处理我需要的所有HTTP请求,而我正在考虑使它成为每个请求都启动自己的线程。

我正在考虑使用ASyncTask但是我注意到使用ASyncTask我需要为每个http请求(GET,POST,PUT等类)提供一个类。这是最好的方式吗?有没有更有效/干净的方式这样做?你们有什么建议。

1 个答案:

答案 0 :(得分:1)

看起来像一个设计决定,将取决于你到底要做什么。 Android中有多种方法可以执行任务,具体取决于用户是在等待某些数据还是在后台任务完成后稍后会收到通知。

我建议您查看比较Android中各种任务机制的this帖子。除此之外,还要查看java.util.concurrent包。

对不起,这不是具体的答案,而是从我这里拿走 - 这主要取决于你是如何为用户服务的。所以人们只能提出想法。希望这会有所帮助。