Android图片加载缓存框架Glide
作者:BetterLaterThanNever 时间:2021-11-13 12:43:02
Glide开源框架是Google推荐的图片加载和缓框架,其在Github上的开源地址是:https://github.com/bumptech/glide
当然一个Google推荐的框架肯定就是Volley啦。
目前Android主流开发工具是AndroidStudio,在AndroidStudio如何使用Glide,https://github.com/bumptech/glide上有详细的介绍说明。
因为刚换新工作不久,公司和的还是Eclipse,所以学习Glide我暂时还用的Eclipse开发工具。
步骤:
添加glide.jar包到项目中,jar包可以在网上下载。
编写代码
public class MainActivity extends Activity {
private ImageView glide_iv;
private ListView glide_lv;
private static final String URL ="这里写图片url";
private List<String> urls = new ArrayList<String>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initDatas();
glide_iv = (ImageView) findViewById(R.id.glide_iv);
// 通过下面这句代码把网络图片加载到ImageView中,非常方便
//Glide的with方法不仅接受Context,还接受Activity 和 Fragment等,Context会自动的从他们获取,使用很方便
Glide.with(this).load(URL).into(glide_iv);
glide_lv = (ListView) findViewById(R.id.glide_lv);
glide_lv.setAdapter(new BaseAdapter() {
@Override
public View getView(int arg0, View contentView, ViewGroup arg2) {
ViewHolder holder=null;
if (contentView == null) {
holder=new ViewHolder();
contentView= LayoutInflater.from(
MainActivity.this).inflate(R.layout.my_image_view,
null);
holder.itemIv = contentView.findViewById(R.id.item_iv);
contentView.setTag(holder);
} else {
holder=(ViewHolder) contentView.getTag();
}
String url = urls.get(arg0);
//在ListView中加载列表图片
Glide.with(MainActivity.this).load(url).centerCrop()
.placeholder(R.drawable.ic_launcher).crossFade()
.into(holder.itemIv);
return contentView;
}
@Override
public long getItemId(int arg0) {
// TODO Auto-generated method stub
return arg0;
}
@Override
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return urls.get(arg0);
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return urls.size();
}
class ViewHolder{
ImageView itemIv;
}
});
}
/**
* 添加数据
*/
private void initDatas() {
for (int i = 0; i < 5; i++) {
urls.add(URL);
}
}
}
布局文件:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="20dp" >
<ImageView
android:id="@+id/glide_iv"
android:layout_width="80dp"
android:layout_height="80dp" />
<ListView
android:id="@+id/glide_lv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/glide_iv">
</ListView>
</RelativeLayout>
最后记得在AndroidManifest.xml中添加网络权限:
<uses-permission android:name="android.permission.INTERNET" >
标签:Android,图片加载,图片缓存,框架Glide
0
投稿
猜你喜欢
解析Java的设计模式编程之解释器模式的运用
2022-01-04 04:02:18
java实现随机验证码图片生成
2022-12-08 02:27:00
如何利用JAVA实现走迷宫程序
2022-06-23 10:52:06
ios百度地图的使用(普通定位、反地理编码)
2023-07-03 15:26:17
Java设计模式之单例和原型
2023-11-29 04:14:18
详解如何在Flutter中获取设备标识符
2022-12-18 12:41:26
MyBatis自定义类型转换器实现加解密
2023-09-10 20:18:00
Spark SQL配置及使用教程
2023-02-28 06:02:30
Java缓存池代码实例详解
2021-07-23 07:40:39
C++如何通过ostringstream实现任意类型转string
2022-06-27 16:23:06
java实现微信扫码登录第三方网站功能(原理和代码)
2023-08-04 00:44:11
sublime text3搭建配置c语言编译环境的详细图解教程(小白级)
2021-12-16 09:18:27
Spring Boot集成MyBatis的方法
2021-11-03 23:11:05
Android仿微信照片选择器实现预览查看图片
2022-02-03 12:25:51
java并发编程中ReentrantLock可重入读写锁
2021-12-10 16:06:17
Java中防止数据重复提交超简单的6种方法
2022-03-18 11:03:22
Kotlin实现图片选择器的关键技术点总结
2023-03-05 02:31:57
Spring AOP实现权限检查的功能
2023-08-10 06:51:14
Android 实现全屏和无标题栏的显示
2023-08-23 14:24:23
Java MD5消息摘要算法原理及实现代码
2022-10-22 17:48:03