Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/183.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用AsyncTask在Android上实现异步http请求_Android_Multithreading_Httpwebrequest_Android Asynctask - Fatal编程技术网

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

使用AsyncTask在Android上实现异步http请求,android,multithreading,httpwebrequest,android-asynctask,Android,Multithreading,Httpwebrequest,Android Asynctask,我正在为web服务构建这个客户端。 几乎所有东西都会向服务器发出请求,现在我要做的是,打开一个新线程,将所有请求放在同一个线程中。这意味着我在线程内以串行方式发出所有请求,这就变成了对用户的大量等待。为了使应用程序更快,我希望以异步方式发出每个服务器请求 我有一个Networking类,它处理我需要的所有HTTP请求,我正在考虑这样做,以便每个请求都启动自己的线程 我正在考虑使用ASyncTask来实现这一点,但我注意到,使用ASyncTask,我的每个http请求都需要一个类(一个用于GET、

我正在为web服务构建这个客户端。 几乎所有东西都会向服务器发出请求,现在我要做的是,打开一个新线程,将所有请求放在同一个线程中。这意味着我在线程内以串行方式发出所有请求,这就变成了对用户的大量等待。为了使应用程序更快,我希望以异步方式发出每个服务器请求

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


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

看起来像是一个设计决策,完全取决于你们在做什么。Android中有多种执行任务的方式,这取决于用户是在等待某些数据,还是在后台任务完成后收到通知

我建议你们看一看比较Android中各种任务机制的帖子。除此之外,还可以查看java.util.concurrent包


很抱歉,这不是一个具体的答案,但请接受我的回答——这主要取决于您如何努力为用户服务。因此,人们只能提出一些想法。希望这能有所帮助。

为什么您认为使用
AsyncTask
时必须为每个http请求创建一个类
AsyncTask
只是将一些工作卸载到一个单独的线程,并不强制执行任何实现模式。。只需从<代码> doiBase调用网络类。丹尼索索罗南科:嗯,这是一个需要考虑的想法。我要试试看怎么做,谢谢!是的,这是一个设计决定,我真的在寻找一个什么样的见解去。那篇文章真的很有趣,我开始读了!