2011-04-21 35 views
0

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

我有一个网络类,它可以处理我需要的所有HTTP请求,我正在考虑这样做,以便每个请求都可以启动它自己的线程。

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

+1

为什么你认为使用'AsyncTask'你必须为每个http请求创建一个类? 'AsyncTask'只是将一些工作卸载到一个单独的线程,并不强制任何实现模式。只需从'doInBackground'调用网络类即可。 – 2011-04-21 03:53:56

+0

denis.solonenko:嗯。这是一个想法。我会试着去看看它是如何工作的。 – DallaRosa 2011-04-21 05:54:02

回答

1

看起来像一个设计决定,将取决于你的准确性。 Android中有各种方式执行任务,具体取决于用户是否正在等待某些数据,或者稍后在后台任务完成时通知他们。

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

对不起,这不是一个具体的答案,而是从我身上 - 它主要取决于你如何努力为用户服务。所以人们只能提出想法。希望这可以帮助。

+0

谢谢!是的,这是一个设计决定,我真的希望了解要做什么。那篇文章非常有趣,我正在阅读它! – DallaRosa 2011-04-21 05:55:52