简单描述一下问题情况
经再三确认我的Glide配置及使用都没有问题,但是仍然不能显示网络图片,在换了其他的安卓模拟器后显示网络图片成功。
一、确保正确的Glide配置(使用Gradle构建)
1.在项目的build.gradle添加有以下代码:
repositories {
mavenCentral()
}
dependencies {
implementation 'com.github.bumptech.glide:glide:4.0.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.0.0'
}
ps:我使用的是Glide4.0.0版本,其他版本只是版本号不一样。
2.添加有访问网络权限,在项目的AndroidManifest.xml文件中有以下代码:
<uses-permission android:name="android.permission.INTERNET" />
注意添加位置是否正确,要放在<manifest></manifest>标记里
使用Glide加载网络图片
以我加载百度的logo为例
Glide.with(this).load("https://dss0.baidu.com/6ONWsjip0QIZ8tyhnq/it/u=2246271396,3843662332&fm=85&app=79&f=JPG?w=121&h=75&s=39C718720E8EBE011B398BAC0300F024").into(你的imageView id);
链接:一些基本的使用方法
注意:如果加载的url是http协议而非https,需要在AndroidManifest.xml文件中的<application>标签添加属性android:usesCleartextTraffic="true"
二、尝试多种安卓模拟器(推荐上真机运行)
一开始我使用的是Genymotion,不能正常显示。灵机一动换个模拟器试试,我换上了Android Studio自带的AVD,竟然能显示了!我的安卓模拟机都是Android 9.0 api28,附上对比图:
总结
虽然现在看是一个小问题,但是在当时不知道问题出在哪里的情况下,还是挺浪费时间的,希望以此为例,能让大家避免这个坑。不过有条件的最好还是上真机运行(暗示我没真机…)。