显示单个网络图片

/**
 * 显示单个网络图片
 */

public class UrlImageView {
    private ImageView tiv;
    private String image;
    private Handler handler = new Handler(){
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            if (msg.what==2){
                Bitmap bit = (Bitmap) msg.obj;
                tiv.setImageBitmap(bit);
            }
        }
    };

    /**
     * @param tiv   要显示图片的控件
     * @param image 网络路径
     */
    public UrlImageView(ImageView tiv, String image) {
        this.tiv = tiv;
        this.image = image;
    }

    /**
     * 读取服务端返回的String类型图片,并通知主线程显示
     */
    public void ImData() {
        new Thread(){
            @Override
            public void run() {
                super.run();
                try {
                    URL url = new URL(image);
                    HttpURLConnection connection = (HttpURLConnection) url.openConnection();
                    connection.setRequestMethod("GET");//设置请求方式这里的方式必须为大写
                    connection.setConnectTimeout(5000);//设置超时的时间
                    int code = connection.getResponseCode();//获得状态码
                    if (code == 200) {
                        InputStream is = connection.getInputStream();
                        Bitmap bitmap = BitmapFactory.decodeStream(is);//写入一个bitmap                        Message m = new Message();
                        m.what = 2;
                        m.obj = bitmap;
                        handler.sendMessage(m);
                    }
                } catch (MalformedURLException e) {
                    e.printStackTrace();
                }catch (Exception e){
                    e.printStackTrace();
                }
            }
        }.start();
    }


}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值