Glide是现在安卓开发比较流行的一个网络图片加载库,用起来也比较方便。
那怎么用呐?(这里给出最最最基础的方法,属于入门)
首先,导入依赖:在gradle添加(这里是4.11.0版本)
implementation 'com.github.bumptech.glide:glide:4.11.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0'
添加了之后,右上角,会跳出同步,点了同步就会自动帮你下载并且导入,非常方便。
接下来,添加权限:(读取硬盘缓存,请求网络等权限)
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
//用于硬盘缓存和读取
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
//它可以监听用户的连接状态并在用户重新连接到网络时重启之前失败的请求
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
现在你就可以从网络上加载你想要的图片到你的项目里了。
ImageView imageView = findViewByID(R.id.imageview);
String
url="http://tiebapic.baidu.com/forum/w%3D580%3B/sign=c4a505ae54166d223877159c761808f7/3bf33a87e950352a5702a76d4443fbf2b2118b70.jpg";
Glide.with(this).load(url).into(imageView);
url就是网络图片的地址,一张网图右键就可以拿到它的地址。imageView是拿到控件的一个对象.
load方法还可以从本地传入图片文件File,resource,图片的byte数组等。
Glide.with(this).load(file).into(imageView);
int resource = R.drawable.ic_launcher;
Glide.with(this).load(resource).into(imageView);
byte[] image = getImageBytes();
Glide.with(this).load(image).into(imageView);
比较基础的入门差不多就是这些了。Glide拓展性也很强,用起来也方便。
如果做完这些,图片没有加载出来,不要慌,可能是模拟器没有联网。可以参考这个解决Android模拟器不能联网问题