Android学习笔记6 两种下载网络图片的方法

两种方法对应两种常用的图像格式,Drawable和Bitmap,网络侧的操作大同小异都是Http协议的。

第一种:下载Drawable

该方法可以直接使用,参数是图像的下载地址。

    protected Drawable loadImageFromUrl(String imageUrl) {
        try {
            //根据图片的URL,下载图片,并生成一个Drawable对象
            return Drawable.createFromStream(new URL(imageUrl).openStream(), "src");
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }

第二种:下载Bitmap

该方法也是封装好的,可以直接使用,参数同样是下载地址。

	public static Bitmap returnBitMap(String url) {  
		URL myFileUrl = null;  
		Bitmap bitmap = null;  
		try {  
			myFileUrl = new URL(url);  
		} catch (MalformedURLException e) {  
			e.printStackTrace();  
		}  
		try {  
			HttpURLConnection conn = (HttpURLConnection) myFileUrl.openConnection();  
			conn.setDoInput(true);  
			conn.connect();
			conn.setConnectTimeout(2000);
			InputStream is = conn.getInputStream();  
			bitmap = BitmapFactory.decodeStream(is);  
			is.close();  
		} catch (IOException e) {  
			e.printStackTrace();  
		}  
		return bitmap;  
	} 

注:下载这种耗时的操作最好单独启动一个线程或者使用异步任务AsyncTask,多线程需要注意更新UI只能在UI线程中来操作,否则会出错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值