简单的网络图片加载工具类

简单的网络图片加载工具类

根据图片url网址解生成图片,首先解析图片的流信息,然后通过bitmapfactory工具类生成bitmap图片,设置到图片控件上即可,详情看代码

import android.app.Activity;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.widget.ImageView;

import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;

/**
 * 创 建 者:下一页5(轻飞扬)
 * 创建时间:2017/12/20.12:53
 * 个人小站:http://wap.yhsh.ai
 * 联系作者:企鹅 13343401268
 * 博客地址:http://blog.csdn.net/xiayiye5
 * 应用包名:com.xiayiye.yhsh.yhsh.tools
 * 项目名称: QingFeiYang
 */

public class GetNetworkImage {
    /**
     * 自己写的加载网络图片的方法
     * img_url 图片的网址
     *
     * @param welcomeImg 图片要显示在这个控件上面
     */
    public static void initNetWorkImage(final ImageView welcomeImg, final String img_url, final Activity context) {
        new Thread() {
            @Override
            public void run() {
                try {
                    URL url = new URL(img_url);
                    HttpURLConnection uct = (HttpURLConnection) url.openConnection();
                    uct.setRequestMethod("GET");
//                    uct.setReadTimeout(10000);
                    uct.setConnectTimeout(10000);
                    int responseCode = uct.getResponseCode();
                    if (responseCode == 200) {
                        //子线程更新UI(设置显示网络图片)?是否会阻塞线程?出现ANR??
                        InputStream inputStream = uct.getInputStream();
                        final Bitmap bitmap = BitmapFactory.decodeStream(inputStream);
                        context.runOnUiThread(new Runnable() {
                            @Override
                            public void run() {
                                welcomeImg.setImageBitmap(bitmap);
                            }
                        });
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }.start();

    }
}


记得添加网络权限:

 
<uses-permission android:name="android.permission.INTERNET" />



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值