AsyncTask 加载图片的工具类

来源:互联网 发布:循迹小车c语言程序 编辑:程序博客网 时间:2024/06/07 07:48
加载图片类:
 
public class GetImage extends AsyncTask<String, Integer, Bitmap> {    private ImageView iv_net;// 图片    private ProgressBar pb_loading;// 加载圈    public GetImage(ImageView iv_net, ProgressBar pb_loading) {        this.iv_net = iv_net;        this.pb_loading = pb_loading;    }    @Override    protected void onPreExecute() {        super.onPreExecute();        pb_loading.setVisibility(View.VISIBLE);// 先将 loading 显示    }    @Override    protected Bitmap doInBackground(String... params) {        String url = params[0];// 从参数中获取网络地址        Bitmap bitmap = null;// 从网络加载的图片        try {            Thread.sleep(3000);// 以下是进行网络获取图片            URLConnection urlConnection = new URL(url).openConnection();            InputStream inputStream = urlConnection.getInputStream();            BufferedInputStream bufferedInputStream = new BufferedInputStream(inputStream);            bitmap = BitmapFactory.decodeStream(bufferedInputStream);            inputStream.close();            bufferedInputStream.close();        } catch (Exception e) {            e.printStackTrace();        }        return bitmap;// 将加载的图片返回    }    @Override    protected void onPostExecute(Bitmap bitmap) {        super.onPostExecute(bitmap);        pb_loading.setVisibility(View.GONE);// 将 loading 隐藏        iv_net.setImageBitmap(bitmap);// 界面上设置显示图片    }}

调用工具类:
 new GetImage(iv_net,pb_loading).execute(imageUrl);

第一个参数是图片,第二个是进度条,第三个是图片的链接
后言:
发现没有具体的说明加载网络的的例子,所以写这个博客。
大神们,萌萌哒!
0 0