Android图片加载缓存框架Glide
程序员文章站
2024-02-25 20:13:45
glide开源框架是google推荐的图片加载和缓框架,其在github上的开源地址是:
当然一个google推荐的框架肯定就是volley啦。
目前android主流...
glide开源框架是google推荐的图片加载和缓框架,其在github上的开源地址是:
当然一个google推荐的框架肯定就是volley啦。
目前android主流开发工具是androidstudio,在androidstudio如何使用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" >
以上就是本文的全部内容,希望对大家的学习有所帮助。
下一篇: Java实现的简单画图板示例