android.os.NetworkOnMainThreadException真机无法接收服务端数据

问题描述:服务端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真机无法接收服务端数据,,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。