Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/210.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
BufferedReader获取错误android.os.NetworkOnMainThreadException_Android - Fatal编程技术网

BufferedReader获取错误android.os.NetworkOnMainThreadException

BufferedReader获取错误android.os.NetworkOnMainThreadException,android,Android,无法从服务器读取响应,出现“android.os.NetworkOnMainThreadException”错误 BufferedReader in=新的BufferedReader(新的 InputStreamReader(socket.getInputStream());字符串服务器响应= in.readLine() 当您从Internet获取数据时,将此代码移动到AsyncTask或Thread的doInBackground方法,对Internet进行的任何调用都需要在后台线程中完成,而不

无法从服务器读取响应,出现“android.os.NetworkOnMainThreadException”错误

BufferedReader in=新的BufferedReader(新的 InputStreamReader(socket.getInputStream());字符串服务器响应= in.readLine()


当您从Internet获取数据时,将此代码移动到
AsyncTask
Thread
doInBackground
方法,对Internet进行的任何调用都需要在后台线程中完成,而不是在UI线程上,否则会出现错误。

根据android文档,所有网络处理代码都应该不能放在主线程中。它适用于旧版本,不适用于新版本。因此,请使用线程或异步任务

使用
线程
异步任务
可能重复的
 W/System.err(1212):        android.os.NetworkOnMainThreadException                                                
 W/System.err(1212):    at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1133)       
 W/System.err(1212):    at libcore.io.BlockGuardOs.recvfrom(BlockGuardOs.java:163)                             
 W/System.err(1212):    at libcore.io.IoBridge.recvfrom(IoBridge.java:506)                                     
 W/System.err(1212):    at java.net.PlainSocketImpl.read(PlainSocketImpl.java:488)                             
 W/System.err(1212):    at java.net.PlainSocketImpl.access$000(PlainSocketImpl.java:46)                        
 W/System.err(1212):    at java.net.PlainSocketImpl$PlainSocketInputStream.read(PlainSocketImpl.java:240)