Android 没有异步任务的主线程上的网络

Android 没有异步任务的主线程上的网络,android,android-asynctask,return-value,Android,Android Asynctask,Return Value,在我的Android应用程序中,我有时需要等待连接到网络的异步任务结束,才能得到结果,然后根据结果的值继续! 这就是我们所说的同步任务,在同步之前不使用A。但我该怎么做:我的意思是,如果我没有在异步任务中执行,它会返回一个android.os.NetworkOnMainThreadException(而这正是我想要做的),而异步任务不能返回结果 每个人都有答案 多谢各位 我的意思是,如果我没有在AsyncTask中执行此操作,它将返回一个android.os.NetworkOnMainThrea

在我的Android应用程序中,我有时需要等待连接到网络的异步任务结束,才能得到结果,然后根据结果的值继续! 这就是我们所说的同步任务,在同步之前不使用A。但我该怎么做:我的意思是,如果我没有在异步任务中执行,它会返回一个android.os.NetworkOnMainThreadException(而这正是我想要做的),而异步任务不能返回结果

每个人都有答案

多谢各位

我的意思是,如果我没有在AsyncTask中执行此操作,它将返回一个android.os.NetworkOnMainThreadException

否。如果不在后台线程中执行此操作(AsyncTask是执行此操作的一种方式),它将返回异常

异步任务不能返回结果

不对。AsyncTask可以通过
onPostExecute()
返回结果。这一点在本文中得到了很好的解释

有时,我需要等待连接到网络的异步任务结束,才能得到结果,然后根据结果的值继续执行

好的,如果没有UI工作要做,在获取结果时显示ProgressDialog。然后使用
onPostExecute()
根据结果处理下一个任务

说明任务完成后如何获得结果

而且

每个人都有答案

对。不要在主线程上进行网络连接。句号

使用异步任务和异步任务的
onPostExecute()
正是为了在
doInBackground()
完成后做工作。另外,
onPostExecute()
正在UI线程上运行。所有这些。

有一个
onPostExecute(Result)
正是为了这个。