Android 开源框架Universal-Image-Loader加载https图片

解决方案就是

  需要 android https HttpsURLConnection 这个类忽略证书

1,找到 Universal-Image-Loader的library依赖包下面com.nostra13.universalimageloader.core.download下面的BaseImageDownloader这个类

里面的createConnection这个方法,添加如下:

 1 protected HttpURLConnection createConnection(String url, Object extra)
 2             throws IOException {
 3
 4         try {
 5             HttpsURLConnection
 6                     .setDefaultHostnameVerifier(new NullHostNameVerifier());
 7             SSLContext sc = SSLContext.getInstance("TLS");
 8             sc.init(null, trustAllCerts, new SecureRandom());
 9             HttpsURLConnection
10                     .setDefaultSSLSocketFactory(sc.getSocketFactory());
11         } catch (KeyManagementException e) {
12             e.printStackTrace();
13         } catch (NoSuchAlgorithmException e) {
14             e.printStackTrace();
15         }
16
17         String encodedUrl = Uri.encode(url, ALLOWED_URI_CHARS);
18         HttpURLConnection conn = (HttpURLConnection) new URL(encodedUrl)
19                 .openConnection();
20         conn.setConnectTimeout(connectTimeout);
21         conn.setReadTimeout(readTimeout);
22         return conn;
23     }
1 public class NullHostNameVerifier implements HostnameVerifier {
2
3         @Override
4         public boolean verify(String hostname, SSLSession session) {
5             Log.i("RestUtilImpl", "Approving certificate for " + hostname);
6             return true;
7         }
8
9     }
// Create a trust manager that does not validate certificate chains
    TrustManager[] trustAllCerts = new TrustManager[] { new X509TrustManager() {
        public X509Certificate[] getAcceptedIssuers() {
            return null;
        }

        public void checkClientTrusted(X509Certificate[] certs, String authType) {
        }

        public void checkServerTrusted(X509Certificate[] certs, String authType) {
        }
    } };

参考博客:http://blog.csdn.net/a102111/article/details/44311059

需要直接用改好jar包的下载地址:http://download.csdn.net/detail/yang7162082/8915429

  

时间: 2024-11-06 20:08:01

Android 开源框架Universal-Image-Loader加载https图片的相关文章

Android 开源框架Universal-Image-Loader完全解析(二)--- 图片缓存策略详解

本篇文章继续为大家介绍Universal-Image-Loader这个开源的图片加载框架,介绍的是图片缓存策略方面的,如果大家对这个开源框架的使用还不了解,大家可以看看我之前写的一篇文章Android 开源框架Universal-Image-Loader完全解析(一)--- 基本介绍及使用,我们一般去加载大量的图片的时候,都会做缓存策略,缓存又分为内存缓存和硬盘缓存,我之前也写了几篇异步加载大量图片的文章,使用的内存缓存是LruCache这个类,LRU是Least Recently Used 近

android --- Afianl框架里面的FinalBitmap加载网络图片

Afinal里面FinalBitmap:用于显示bitmap图片,而无需考虑线程并发和oom等问题. 1.测试请求 使用网页打开http://avatar.csdn.net/C/6/8/1_bz419927089.jpg"可以看到一张图片. 2.新建FinalBitmap对象 FinalBitmap bitmap = FinalBitmap.create(this); 3.设置图片的uri地址 String uri = "http://avatar.csdn.net/C/6/8/1_b

解决ImageLoader加载HTTPS图片证书校验异常问题

在某个项目开发过程中发现使用Universal-Image-Loader无法加载Https图片资源,查看日志发现原来是证书校验失败. 查看源码发现,ImageLoader中可以通过继承BaseImageDownloader重写下载部分逻辑,实现如下 1 public class AuthImageDownloader extends BaseImageDownloader { 2 3 public static final String TAG = AuthImageDownloader.cla

Android loading界面的一种加载动态图片的方式

效果图:(方框从左到右进行显示) 图片资源: 原理介绍: 第一步:将三张图片按位置放好.此时图片资源是全部显示.(目的是坚持位置的正确性) 第二步:编写 shader.通过纹理s坐标进行判断,大于某个值时discard.当值为0时,全部不显示,当值为1时全部显示,中间显示的分段由值得大小决定. 顶点着色器: uniform mat4 uMVPMatrix; attribute vec3 aPosition; attribute vec2 aTexCoor; varying vec2 vTextu

Android 开源框架Universal-Image-Loader完全解析(三)---源代码解读

本篇文章主要是带大家从源码的角度上面去解读这个强大的图片加载框架,自己很久没有写文章了,感觉生疏了许多,距离上一篇文章三个月多了,确实是自己平常忙,换了工作很多东西都要去看去理解,然后加上自己也懒了,没有以前那么有激情了,我感觉这节奏不对,我要继续保持以前的激情,正所谓好记性不如烂笔头,有时候自己也会去翻看下之前写的东西,我觉得知识写下来比在脑海中留存的更久,今天就给大家来读一读这个框架的源码,我感觉这个图片加载框架确实写的很不错,读完代码自己也学到了很多.我希望大家可以先去看下Android

Android——开源框架Universal-Image-Loader + Fragment使用+轮播广告

原文地址: Android 开源框架Universal-Image-Loader完全解析(一)--- 基本介绍及使用 Android 开源框架Universal-Image-Loader完全解析(二)--- 图片缓存策略详解 Android Fragment使用(一) 基础篇 温故知新 Android Fragment使用(二) 嵌套Fragments (Nested Fragments) 的使用及常见错误 Android Fragment使用(三) Activity, Fragment, We

Android图片异步加载框架Universal Image Loader的源码分析

项目地址:https://github.com/nostra13/android-universal-image-loader 1. 功能介绍 1.1 Android Universal Image Loader Android Universal Image Loader 是一个强大的.可高度定制的图片缓存,本文简称为UIL. 简单的说 UIL 就做了一件事--获取图片并显示在相应的控件上. 1.2 基本使用 1.2.1 初始化 添加完依赖后在Application或Activity中初始化I

Android 开源框架 ( 九 ) 图片加载框架---ImageLoader

一.引言 Android的每一个App通常只拥有有限的系统资源,Android设备为每个App分配的内存大小是也是有上限的,并且,针对不同的设备配置所分配的内存大小也是不一样的,最小为16MB.图片会占用大量的内存,尤其是那些超清照片.所以图片加载时做容易造成安卓内存溢出的原因,而要解决这些问题还需要很多相关知识: 1.多线程下载,线程管理. 2.多级缓存架构设计和策略,内存缓存,磁盘缓存,缓存有效性处理. 3.图片压缩,特效处理,动画处理. 4.复杂网络情况下下载图片策略,例如弱网络等. 5.

开源项目Universal Image Loader for Android 说明文档 (1) 简介

 When developing applications for Android, one often facesthe problem of displaying some graphical content from the Internet. So, youshould provide image loading from the Web in an Android app, their processingand displaying with limited memory aga