Android 异步截获HTTP请求

Android 异步截获HTTP请求,android,android-volley,Android,Android Volley,由于Volley中的所有请求都是在不同的线程上异步执行的,而不会阻塞“主线程”,因此有没有办法等待请求完成,然后继续主线程执行?您应该设计应用程序,使主线程始终处于活动状态。然后,当使用侦听器或异步任务接收到响应时,可以运行代码块。使用听众查看我的答案。或者查看AsyncTask的onPostExecute 有没有办法等待请求完成,然后继续 主线程执行 另一种方法是在volley工作时显示加载对话框。这样,在请求完成之前,您可以阻止用户与您的应用程序交互(只是别忘了给他取消的机会) 截取意味着与

由于Volley中的所有请求都是在不同的线程上异步执行的,而不会阻塞“主线程”,因此有没有办法等待请求完成,然后继续主线程执行?

您应该设计应用程序,使主线程始终处于活动状态。然后,当使用侦听器或异步任务接收到响应时,可以运行代码块。使用听众查看我的答案。或者查看AsyncTask的onPostExecute

有没有办法等待请求完成,然后继续 主线程执行

另一种方法是在volley工作时显示加载对话框。这样,在请求完成之前,您可以阻止用户与您的应用程序交互(只是别忘了给他取消的机会)


截取意味着与主线程并行工作,并告诉您请求何时完成(所有应用程序都应该做什么),如果您不希望这样做,请不要使用截取。但是您会得到一个NetworkOnMainThreadException,最终会得到一个ANR异常。

等待请求完成,然后继续主线程执行?
您的意思是阻止主线程?这不是推荐的,不。(这就是重点,顺便说一下)实际上我需要在请求之后立即处理响应,否则我会得到空指针异常,或者可能是主线程可以检查是否收到响应,然后继续???不。你不需要依赖于请求的完成,只有在请求完成时,在你开始请求时传递的侦听器中,才做你必须做的事情。好吧,说我不必依赖于请求的完成并不真的很尴尬。您可以在主线程的某个位置启动请求。你不会坐在那里等10秒钟结果出来,阻止任何ui更新,是吗?您将需要完成请求的代码放在侦听器中,瞧。