使用AsyncTask 加载网络图片

来源:互联网 发布:淘宝客服聊天技巧 编辑:程序博客网 时间:2024/05/05 20:18
public class ImageTest extends Activity {    private ImageView imageView;    private ProgressBar progressBar;    private static String URL = "";    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        imageView = (ImageView) findViewById(R.id.image);        progressBar = (ProgressBar) findViewById(R.id.progressbar);        new MyAsyncTask().execute(URL);//传递进入参数    }    @Override    protected void onPause() {        super.onPause();    }    class MyAsyncTask extends AsyncTask<String, Void, Bitmap> {        @Override        protected void onPreExecute() {            super.onPreExecute();            progressBar.setVisibility(View.VISIBLE);        }        @Override        protected void onPostExecute(Bitmap bitmap) {            super.onPostExecute(bitmap);            progressBar.setVisibility(View.GONE);            imageView.setImageBitmap(bitmap);        }        @Override        protected Bitmap doInBackground(String... params) {            // 取出参数 params            String url = params[0];            Bitmap bitmap = null;            URLConnection connection;            InputStream is;            try {                //访问网络的操作                connection = new URL(url).openConnection();                is = connection.getInputStream();                BufferedInputStream bis = new BufferedInputStream(is);                //解析输入流                bitmap = BitmapFactory.decodeStream(bis);                is.close();                bis.close();            } catch (IOException e) {                e.printStackTrace();            }            //返回 bitmap            return bitmap;        }    }}

0 0
原创粉丝点击