GlideUrl glideUrl = new GlideUrl(bigImgUrl, new LazyHeaders.Builder()
.addHeader("User-Agent", "Mozilla/5.0 (android) GoogleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.87 Safari/537.36")
.build());
只需要加header即可
GlideUrl glideUrl = new GlideUrl(bigImgUrl, new LazyHeaders.Builder() .addHeader("User-Agent", "Mozilla/5.0 (android) GoogleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.87 Sa...
今天自己写代码使用Retrofit下载百度搜索出来的
图片
的时候,发现了
报
错了,
403
。然后使用
Glide
却可以
加载
图片
。
然后对
Glide
进行抓包,发现
Glide
请求的时候
http
header 是这种格式的:
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)...
我们知道
Glide
默认使用的是
Http
UrlConnection的方式请求网络获取
图片
,具体实现参见
Http
UrlFetcher 类。
而Ok
Http
的出现就是用于替代
Http
UrlConnection和
Http
Client,它的高效与强大我就不多说了,官方文档如下:
Ok
Http
是一个底层网络库(相较于 Cronet 或 Volley 而言),尽管它也包含了 SPDY 的支持。Ok...
目录导入
Glide
框架使用错误编译错误解决办法使用
Glide
框架显示不出
图片
解决办法
不积跬步,无以至千里;不积小流,无以成江海。要沉下心来,诗和远方的路费真的很贵!
导入
Glide
框架使用错误
这类问题往往和xml文件有关
与其相关的异常:
Duplicate class
android
.support.v4.app.INotificationSideChannel found in modules classes
在gradle.properties加入混淆,加入以下两句代码:
因为
Glide
是一个
图片
加载
库,所以缓存Bitmap
图片
的方法与其他
图片
格式类似。首先,您需要将Bitmap对象转换为可以
加载
的
图片
资源,例如Drawable或File。然后,您可以使用
Glide
的缓存功能来缓存
图片
。
下面是一个使用
Glide
缓存Bitmap
图片
的示例代码:
private void cacheBitmap(Bitmap bitmap) {
// Convert Bitmap to Drawable
Drawable drawable = new BitmapDrawable(getResources(), bitmap);
// Load drawable into
Glide
cache
Glide
.with(this)
.load(drawable)
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(imageView);
这段代码将Bitmap对象转换为Drawable,然后使用
Glide
加载
并缓存
图片
。请注意,您可以使用`diskCacheStrategy`方法来指定缓存策略。在这种情况下,我们使用`DiskCacheStrategy.ALL`来缓存
图片
。
Attribute application@appComponentFactory value=(android.support.v4.app.CoreComponentFactory) from
28631