问题描述:服务端JSP,客户端android。将服务端发布后,客户端在模拟器上可以调试接收到服务端传回的数据,真机上却接收不了,报异常:android.os.NetworkOnMainThreadException。
问题原因:程序在主线程上执行网络访问,在4.0中,访问网络不能在主程序中进行,网络连接时 3.0版本以上都会出现这样的问题 。这些都是在网上看到的说法。总之,感谢大家的分享啊~~~
参考文章:1、http://blog.csdn.net/dcl8261425/article/details/9181545
/AndroidRuntime(1185): android.os.NetworkOnMainThreadException
是因为程序在主线程上执行网络访问,所以产生的。 可以降低
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="8" />
不报异常。但是最好的解决方法还是写线程
2、http://my.eoe.cn/iceskysl/archive/4382.html
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.setContentView(R.layout.share_mblog_view);
//调用 new Thread(runnable).start(); } Handler handler = new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); Bundle data = msg.getData(); String val = data.getString("value"); Log.i("mylog","请求结果-->" + val); } } Runnable runnable = new Runnable(){ @Override public void run() {
//这里写我的请求数据代码
//传值 Message msg = new Message(); Bundle data = new Bundle(); data.putString("value","请求结果"); msg.setData(data); handler.sendMessage(msg); } }
android.os.NetworkOnMainThreadException真机无法接收服务端数据,布布扣,bubuko.com