Android图片加载缓存框架Glide

来源:互联网 发布:在淘宝买薄荷种子 编辑:程序博客网 时间:2024/06/05 15:09
Glide开源框架是Google推荐的图片加载和缓框架,其在Github上的开源地址是:https://github.com/bumptech/glide当然一个Google推荐的框架肯定就是Volley啦。目前Android主流开发工具是AndroidStudio,在AndroidStudio如何使用Glide,https://github.com/bumptech/glide上有详细的介绍说明。因为刚换新工作不久,公司和的还是Eclipse,所以学习Glide我暂时还用的Eclipse开发工具。步骤:
  1. 添加glide.jar包到项目中,jar包可以在网上下载。
  2. 编写代码
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" >
0 0
原创粉丝点击