我在做一个下载网络上的图片的程序。
我使用Handler开启一个子线程来执行读取图片的操作。
handler.post(new Runnable(){
@Override
public void run() {
//这里下载数据
try{
URL url = new URL(params);
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
conn.setDoInput(true);
conn.connect();
InputStream inputStream=conn.getInputStream();
bitmap = BitmapFactory.decodeStream(inputStream);
Message msg=new Message();
msg.what=1;
handler.sendMessage(msg);
} catch (MalformedURLException e1) {
e1.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
程序运行到connect这一句就报错了。
logcat中还有NetworkOnMainThreadException。
我明明是在子线程中运行的,怎么还会报这个错?
android线程
我使用Handler开启一个子线程来执行读取图片的操作。
handler.post(new Runnable(){
@Override
public void run() {
//这里下载数据
try{
URL url = new URL(params);
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
conn.setDoInput(true);
conn.connect();
InputStream inputStream=conn.getInputStream();
bitmap = BitmapFactory.decodeStream(inputStream);
Message msg=new Message();
msg.what=1;
handler.sendMessage(msg);
} catch (MalformedURLException e1) {
e1.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
程序运行到connect这一句就报错了。
logcat中还有NetworkOnMainThreadException。
我明明是在子线程中运行的,怎么还会报这个错?
android线程
解决方案 »
- android中 listView中的某一行被选中时,这一行中的内容全都被背景色覆盖了,只有背景色,没有文字内容了
- 求救!!Android的listview对其他activity的背景色的影响
- Android h.264解码
- activity跳转时会黑屏,模拟器会显示程序无响应
- 给actionBar添加tab有两种 一种是固定的 一种是滚动的 问下滚动的是怎么添加的
- webView.loadUrl("http://www.baidu.com");后调用js自动输入文本并百度如何实现
- 真机测试android客户端可以发送却不能接收服务器的信息,模拟器测试是成功的
- 关于Android中的R.java
- 在eclipse上的2.2的模拟器运行程序正常,可是在4.4.2的S4手机上运行停止,logcat提示添加INTERACT_ACROSS_USERS_FULL
- 大神求教
- Android上手机QQ如何自动发送消息
- 零基础Android入门到精通培训视频分享
你应该new Thread(new runnable).start();
new Thread(){
public void run(){
}
}.start();