实现效果: glide加载https图片.
另外,无论是否是动态图片, 都用 Glide.with(this).load(imageUrl).into(imageView);使用该API可以加载动态图.
我并没有原创实现代码, 我和大家一样, 通过谷歌搜索后, 看到别人的帖子, 然后将原创作者的代码拷下来, 测试,解决问题, 再打包, 最后方便供给大家使用的.
代码来源:
https://mrfu.me/2016/02/28/Glide_Module_Example_Accepting_Self-Signed_HTTPS_Certificates/
http://blog.youkuaiyun.com/a3100293282/article/details/52873034
话说回来,无论谷歌,还是百度, 搜索"glide加载https图片", 搜出来的结果很多雷同, 已经找不到原创作者了, 它们复制的大同小异......
从复制出来的的代码可以看到, 他们都是出自一个原创, 因为他们导入的包是一样的,导入的Glide版本一般是glide3.6.0版本之后的,okhttp一般是okhttp3.0之前的, 与现在最新版本配合起来不能正常使用. 我已经解决了这一问题.
请注意一点:
导入的glide版本必须是3.6.0之后的版本, 我使用glide3.5.2版本测试,发现问题,glide3.5.2版本中有一些API没有, 所以不能用在解决glide加载https资源的工具中.
同样一个问题, 原创作者使用了okhttp2.x版本, 而现在最新都是使用3.0版本,所以大家在使用链接一的文章时, 会发现okhttp的部分api没有.这是由于okhttp版本不同所致. 解决方法很简单,原创作者使用okhttp2.x版本调用的API, 使用3.0版本代替即可, 只是调用方式略有不同而已.
其实, 我完全复制了链接一 二 中的代码, 将原创作者中的代码适配了okhttp3.x; 并进行了测试 和打成JAR包,方便大家使用.
测试结果:
1.可以加载https资源图片
2.加载动态图gif图片, 不用在使用 Glide.with(this).load(httpsUrl).asGif().into(mIv1);
所有图片都使用 Glide.with(this).load(imageUrl).into(imageView)
这个结果是测试后发现的, 但原理我并不知道.
如果大家需要使用的话, 可以到这个链接下载JAR包, 导入即可用 Glide加载htttps图片jar包下载链接