不积跬步,无以至千里;不积小流,无以成江海。要沉下心来,诗和远方的路费真的很贵!
导入Glide框架使用错误
编译错误
这类问题往往和xml文件有关
与其相关的异常:
Duplicate class android.support.v4.app.INotificationSideChannel found in modules classes
解决办法
在gradle.properties
加入混淆,加入以下两句代码:
android.useAndroidX=true
android.enableJetifier=true
使用Glide框架显示不出图片
由图可见,图中的图片并没有显示出来。
代码如下:
Glide.with(getActivity())
.load(message.getAvatar())
.diskCacheStrategy(DiskCacheStrategy.NONE)
.into(holder.ivAvatar);
本来以为是getActivity
错了,然后就一直在找with
方法的错误。后面回想源码,就是getActivity,返回FragmentActivity对象
。
因为load和into方法使用很简单,所以可以肯定无错。
接下来就想到了是不是数据没有拿到。
以下是测试数据代码:
for(int i=0;i<20;i++){
Message msg = new Message();
msg.setAvatar("https://img-blog.csdnimg.cn/2020061412003655.JPG");
msg.setName("名字" + i);
msg.setCompanyName("公司名" + i);
msg.setState("状态" + i);
msg.setDate("日期" + i);
msg.setContent("内容" + i);
msgList.add(msg);
}
通过debug断点调试,发现每个数据都拿到了。所以并不是这个错误。
百思不得其解,我去寻找博客,最后发现了一个启发。
我没加网络请求权限!!!!!
虽然这个地址写在本地,拿到数据,但是毕竟是一个网址。本地又没有这张图片的缓存,所以最终还是得网络请求数据,但是我没有加网络请求的权限,所以没有拿到图片。
解决办法
加入网络请求权限:
<uses-permission android:name="android.permission.INTERNET"/>
加入权限后,图片显示
这就是为什么使用Glide框架需要网络请求权限!!!!!