android.os.NetworkOnMainThreadException android线程 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 hanlder 是在主线程中执行的,所以当你执行 handler.post 的时候,就是在主线程执行,你可以使用 new Thread(runnable).start()来执行 handler.post(runnable)的意思是在handler所在的线程环境中执行runnable。而handler所在的线程环境就是执行new Handler()所在的线程环境。你是在主线程也就是UI线程里执行Handler handler = new Handler(),所以结果就是你在UI线程里去访问网络了。你的代码只要改成这样就可以了:private View.OnClickListener listener = new View.OnClickListener() { @Override public void onClick(View view) { new Thread(runnable).start(); }}; 原来如此,这样可以了,多谢,看来还是得多了解了解handler和message的机制啊。 关于seekbar和textview结合 急急急!! 关于Absolutelayout adb logcat 过滤打印信息 类似wifi设置页面的实现 在android中如何在Activity和普通类之间跳转??? 关于surfaceview的一些疑问 继承activity的类如何调用继承ListActivity? android访问wcf服务传递 类对象 参数出错 二次开发界面调整 android 自定义view实现放大和缩小 AlertDialog的标题栏 我用action Provider创建了内建的分享功能,现在想将edittext长按后复制的文字,进行分享
而handler所在的线程环境就是执行new Handler()所在的线程环境。
你是在主线程也就是UI线程里执行Handler handler = new Handler(),所以结果就是你在UI线程里去访问网络了。你的代码只要改成这样就可以了:private View.OnClickListener listener = new View.OnClickListener() {
@Override
public void onClick(View view) {
new Thread(runnable).start();
}
};
原来如此,这样可以了,多谢,看来还是得多了解了解handler和message的机制啊。