Android菜鸡提升之路---图片加载Glide的学习
2018-03-15 16:35
489 查看
今天主要学习了glide的使用方法并实现了一下,然后就是慢慢地分析源码,学习知识来源主要来自郭神的解析和百度==!目前还是木有能力去自己分析源码,首先我们先实现一下:
1.打开android studio(目前开发的主流 有eclipse的童鞋可以自己去百度一下怎么使用,我没怎么用过eclipse,很绝望,哈哈哈)
2.添加依赖
3.在你的 AndroidManifest.xml的文件添加对网络请求的权限
4.然后就可以愉快的使用glide了 首先在一个空项目中的 main_activity.xml加入了Button控件和ImageView控件
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="加载图片"
android:layout_marginLeft="8dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:layout_marginTop="8dp" />
<ImageView
android:layout_width="300dp"
android:layout_height="300dp"
android:id="@+id/image"
android:layout_marginLeft="54dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:layout_marginTop="105dp" />(这里我主要用的是ConstraintLayout google推荐的布局,蛮好用的,就是电脑不太好的同学有点卡,毕竟ui布局可以拖入,减少代码量)
5.接下来就是使用glide
public void jiazai(View v){
try {
URL url = new URL("http://a.hiphotos.baidu.com/image/pic/item/e850352ac65c10384bfac6d1be119313b07e8918.jpg");
ImageView im = (ImageView) findViewById(R.id.image);
Glide.with(this).load(url).into(im);
}
catch (Exception e){
}
} 这里加载的百度的图片,with()后面可以接收activity,fragment和Appication的context,load()可以加图片的url或者本地的图片或者图片的二进制数据流
Glide.with(this).load(url).placeholder(R.drawable.xx).into(imageview)
当然glide有它的缓存机制,这样的话你的占位图可以会显示不出,只要加上diskCacheStrategy(DiskCacheStrategy.NONE)
Glide.with(this).load(url).placeholder(R.drawable.xx).diskCacheStrategy(DiskCacheStrategy.NONE) .into(imageview)
当你在加载图片的时候可能会有错误,那么错误的时候需要提醒用户,加上error(R.drawable.xx)
Glide.with(this)
.load(url)
.placeholder(R.drawable.xx)//占位图
.diskCacheStrategy(DiskCacheStrategy.NONE) //禁止缓存
.error(R.drawable.xx)//加载失败的占位图
.into(imageview)
7.glide 可以自动帮你判定图片是静态的还是动图,这两种都是可以自行加载的,如果你不需要,那么自己可以设置
Glide.with(this)
.load(url)
.asGif()//值允许加载动图 .asBitmap()//值允许加载静态图片
.placeholder(R.drawable.xx)
.diskCacheStrategy(DiskCacheStrategy.NONE)
.error(R.drawable.xx)
.into(imageview)
8.glide可以设置加载图片大小
Glide.with(this)
.load(url)
.asGif()//值允许加载动图 .asBitmap()//值允许加载静态图片 //位置注意一下
.placeholder(R.drawable.xx)
.diskCacheStrategy(DiskCacheStrategy.NONE)
.error(R.drawable.xx)
.override(200,200)
.into(imageview)
最后,以上这些就是关于glide的使用,学习自郭神,当然自己也实现起来也很方便,菜鸟提升之路在于学习,学习,在学习,天天学一点,总有一天自己也可以成为大神,希望也可以给大家带来一定的帮助!有错误欢迎指导批评!
1.打开android studio(目前开发的主流 有eclipse的童鞋可以自己去百度一下怎么使用,我没怎么用过eclipse,很绝望,哈哈哈)
2.添加依赖
3.在你的 AndroidManifest.xml的文件添加对网络请求的权限
4.然后就可以愉快的使用glide了 首先在一个空项目中的 main_activity.xml加入了Button控件和ImageView控件
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="加载图片"
android:layout_marginLeft="8dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:layout_marginTop="8dp" />
<ImageView
android:layout_width="300dp"
android:layout_height="300dp"
android:id="@+id/image"
android:layout_marginLeft="54dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:layout_marginTop="105dp" />(这里我主要用的是ConstraintLayout google推荐的布局,蛮好用的,就是电脑不太好的同学有点卡,毕竟ui布局可以拖入,减少代码量)
5.接下来就是使用glide
public void jiazai(View v){
try {
URL url = new URL("http://a.hiphotos.baidu.com/image/pic/item/e850352ac65c10384bfac6d1be119313b07e8918.jpg");
ImageView im = (ImageView) findViewById(R.id.image);
Glide.with(this).load(url).into(im);
}
catch (Exception e){
}
} 这里加载的百度的图片,with()后面可以接收activity,fragment和Appication的context,load()可以加图片的url或者本地的图片或者图片的二进制数据流
// 加载本地图片File file = new File(getExternalCacheDir() + "/image.jpg");Glide.with(this).load(file).into(imageView);
// 加载应用资源int resource = R.drawable.image;Glide.with(this).load(resource).into(imageView);
// 加载二进制流byte[] image = getImageBytes();Glide.with(this).load(image).into(imageView);
// 加载Uri对象Uri imageUri = getImageUri();Glide.with(this).load(imageUri).into(imageView);
into()就是你要把图片放到的位置
6.glide占位图(占位图就是在你加载图片未成功之前而显示的图片)
Glide.with(this).load(url).placeholder(R.drawable.xx).into(imageview)
当然glide有它的缓存机制,这样的话你的占位图可以会显示不出,只要加上diskCacheStrategy(DiskCacheStrategy.NONE)
Glide.with(this).load(url).placeholder(R.drawable.xx).diskCacheStrategy(DiskCacheStrategy.NONE) .into(imageview)
当你在加载图片的时候可能会有错误,那么错误的时候需要提醒用户,加上error(R.drawable.xx)
Glide.with(this)
.load(url)
.placeholder(R.drawable.xx)//占位图
.diskCacheStrategy(DiskCacheStrategy.NONE) //禁止缓存
.error(R.drawable.xx)//加载失败的占位图
.into(imageview)
7.glide 可以自动帮你判定图片是静态的还是动图,这两种都是可以自行加载的,如果你不需要,那么自己可以设置
Glide.with(this)
.load(url)
.asGif()//值允许加载动图 .asBitmap()//值允许加载静态图片
.placeholder(R.drawable.xx)
.diskCacheStrategy(DiskCacheStrategy.NONE)
.error(R.drawable.xx)
.into(imageview)
8.glide可以设置加载图片大小
Glide.with(this)
.load(url)
.asGif()//值允许加载动图 .asBitmap()//值允许加载静态图片 //位置注意一下
.placeholder(R.drawable.xx)
.diskCacheStrategy(DiskCacheStrategy.NONE)
.error(R.drawable.xx)
.override(200,200)
.into(imageview)
最后,以上这些就是关于glide的使用,学习自郭神,当然自己也实现起来也很方便,菜鸟提升之路在于学习,学习,在学习,天天学一点,总有一天自己也可以成为大神,希望也可以给大家带来一定的帮助!有错误欢迎指导批评!
相关文章推荐
- Android框架之路——Glide加载图片(结合RecyclerView、CardView)
- 安卓学习笔记---Android图片加载框架最全解析(一),Glide的基本用法
- 学习Glide--Android图片加载框架
- Android学习之图片加载库Glide
- AsyncTask异步加载图片 进度条显示进度 -- Android学习之路
- IOS学习之路二十四(UIImageView 加载gif图片)
- IOS学习之路二十三(EGOImageLoading异步加载图片开源框架使用)
- Android开源客户端之LookAround学习(二) 图片异步加载
- Android开源中国客户端学习 异步加载图片
- Android 异步加载网络图片并缓存到本地 软引用 学习分享
- Android-Universal-Image-Loader异步加载图片框架学习研究
- Android-Universal-Image-Loader异步加载图片框架学习研究
- Aandroid 图片加载库Glide 实战(一),初始,加载进阶到实践
- android 学习四 加载图片
- Android 异步加载网络图片并缓存到本地 软引用 学习分享
- Android学习笔记(二)之异步加载图片
- IOS学习之路二十四(UIImageView 加载gif图片)
- [学习总结]9、Android-Universal-Image-Loader 图片异步加载类库的使用(超详细配置)
- Android学习笔记(二)之异步加载图片
- 菜鸟Android学习之路13——图片按钮