android 网络读取图片 带进度条

package com.android;

import java.io.BufferedInputStream;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;
import android.app.Activity;
import android.app.ProgressDialog;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.widget.ImageView;
public class Loding extends Activity {
        private static final int MESSAGETYPE_01 = 0x0001;
        private ProgressDialog progressDialog = null;
       private String strurl;
       private ImageView imageView;
       private Bitmap img;
        @Override
        public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                this.setContentView(R.layout.image);    
                imageView  = (ImageView) findViewById(R.id.image);
               
                strurl = "http://hiphotos.baidu.com/huyangdiy/pic/item/46dae2d2cac8796006088b3a.jpg";
                progressDialog = ProgressDialog.show(Loding.this, "下载", "正在下载,请稍候!");                               
               
                new Thread() {
                        public void run() {                       
                                try {
                              img = getImg(strurl);
                          
                                } catch (Exception e) {
                                       
                                }
                               
                                Message msg_listData = new Message();
                                msg_listData.what = MESSAGETYPE_01;
                                handler.sendMessage(msg_listData);
                        }
                }.start();
        }

        private Handler handler = new Handler() {               

                public void handleMessage(Message message) {
                        switch (message.what) {
                        case MESSAGETYPE_01:                                       
                                progressDialog.dismiss(); //关闭进度条
                                imageView.setImageBitmap(img);
                                break;
                        }
                }
        };

        public Bitmap getImg(String strurl){
   try{
               URL url = new URL(strurl);
               URLConnection conn = url.openConnection();
               conn.connect();
               InputStream in = conn.getInputStream();
               BufferedInputStream bis= new BufferedInputStream(in);
               Bitmap bitmap = BitmapFactory.decodeStream(bis);
               in.close();
               return bitmap;
           }catch(Exception e){
           return null;
           }  
   }

}

你可能感兴趣的:(java,thread,android,.net,OS)