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
投稿

猜你喜欢

  • 基于rocketmq的有序消费模式和并发消费模式的区别说明

    2021-10-29 08:41:02
  • Java面向对象基础知识之封装,继承,多态和抽象

    2022-11-18 07:35:59
  • 一文详解如何在控制台显示MyBatis的SQL语句

    2023-01-09 06:43:38
  • maven继承父工程统一版本号的实现

    2023-01-27 09:19:49
  • SpringBoot与Postman实现REST模拟请求的操作

    2022-12-22 04:06:14
  • Java中常见死锁与活锁的实例详解

    2023-06-26 13:17:00
  • 解决Springboot启动报错:类文件具有错误的版本61.0,应为 52.0

    2023-03-13 02:16:11
  • android 点击EditText始终不弹出软件键盘实现代码

    2022-05-23 06:37:19
  • java精度计算代码 java指定精确小数位

    2023-07-31 03:03:58
  • C#网络爬虫代码分享 C#简单的爬取工具

    2023-10-12 15:03:41
  • springboot web项目打jar或者war包并运行的实现

    2022-11-20 03:01:59
  • Android仿腾讯视频实现悬浮窗效果

    2021-06-16 00:49:23
  • swing分割窗口控件JSplitPane使用方法详解

    2021-07-28 14:15:20
  • web打印 window.print()介绍

    2022-10-22 23:50:59
  • vue+springboot前后端分离工程跨域问题解决方案解析

    2023-08-06 06:51:10
  • Android应用App更新实例详解

    2023-06-26 21:27:44
  • 一文梳理Java 8后的新功能

    2023-07-13 07:41:43
  • SpringBoot从yml配置文件中读常用参数值实例方法

    2021-07-01 11:12:04
  • Java完美实现2048小游戏

    2023-06-14 12:59:25
  • Java多线程Future松获取异步任务结果轻松实现

    2022-11-22 15:49:38
  • asp之家 软件编程 m.aspxhome.com