Android显示网络中的图片
效果图:
代码:
private Handler handler=new Handler(){
public void handleMessage(android.os.Message msg){
switch (msg.what) {
case 1:
Bitmap bitmap=(Bitmap) msg.obj;
ivName.setImageBitmap(bitmap);
break;
default:
break;
}
}
};
public void viewImage(View view){
final String path=etUrl.getText().toString();
if(TextUtils.isEmpty(path)){
Toast.makeText(this, "内容为空", Toast.LENGTH_LONG).show();
}else{
new Thread(){
public void run(){
try {
URL url=new URL(path);
HttpURLConnection httpURLConnection=(HttpURLConnection) url.openConnection();
httpURLConnection.setRequestMethod("GET");
httpURLConnection.setReadTimeout(5000);
int op=httpURLConnection.getResponseCode();
if(op==200){
InputStream in=url.openStream();
Bitmap bitmap=BitmapFactory.decodeStream(in);
Message msg=new Message();
msg.what=1;
msg.obj=bitmap;
handler.sendMessage(msg);
}else{
Toast.makeText(MainActivity.this, "获取失败", Toast.LENGTH_LONG).show();
}
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
};
}.start();
}
}