初试Volley(一)

转http://blog.csdn.net/cj6585256/article/category/1443591


项目结构图,

xml机构图 :main中只包含一个ListView item中只包含一个ImageView

MainActivity代码:

  1. @Override  
  2.     protected void onCreate(Bundle savedInstanceState) {  
  3.         super.onCreate(savedInstanceState);  
  4.         setContentView(R.layout.activity_main);  
  5.         mListView  = (ListView) findViewById(R.id.listView);  
  6.         initData();  
  7.         MListAdapter adapter = new MListAdapter(this,infos);  
  8.         mListView.setAdapter(adapter);  
  9.     }  
  1. private void initData() {  
  2.         infos = new ArrayList<Info>();  
  3.         Info info1 = new Info("http://imgstatic.baidu.com/img/image/shouye/fanbingbing.jpg");  
  4.         Info info2 = new Info("http://imgstatic.baidu.com/img/image/shouye/liuyifei.jpg");  
  5.         Info info3 = new Info("http://imgstatic.baidu.com/img/image/shouye/wanglihong.jpg");  
  6.         Info info4 = new Info("http://imgstatic.baidu.com/img/image/shouye/gaoyuanyuan.jpg");  
  7.         Info info5 = new Info("http://imgstatic.baidu.com/img/image/shouye/yaodi.jpg");  
  8.         Info info6 = new Info("http://imgstatic.baidu.com/img/image/shouye/zhonghanliang.jpg");  
  9.         Info info7 = new Info("http://imgstatic.baidu.com/img/image/shouye/xiezhen.jpg");  
  10.         Info info8 = new Info("http://imgstatic.baidu.com/img/image/shouye/yiping3.jpg");  
  11.         Info info9 = new Info("http://imgstatic.baidu.com/img/image/shouye/erping4.jpg");  
  12.         Info info10 = new Info("http://imgstatic.baidu.com/img/image/shouye/hangeng.jpg");  
  13.         Info info11 = new Info("http://imgstatic.baidu.com/img/image/shouye/liuyan1.jpg");  
  14.         Info info12 = new Info("http://imgstatic.baidu.com/img/image/shouye/liushishi1.jpg");  
  15.         Info info13 = new Info("http://imgstatic.baidu.com/img/image/shouye/sunli1.jpg");  
  16.         Info info14 = new Info("http://imgstatic.baidu.com/img/image/shouye/tangyan1.jpg");  
  17.         Info info15 = new Info("http://imgstatic.baidu.com/img/image/shouye/zhanggenshuo1.jpg");  
  18.         Info info16 = new Info("http://imgstatic.baidu.com/img/image/shouye/xiaohua0605.jpg");  
  19.         infos.add(info1);  
  20.         infos.add(info2);  
  21.         infos.add(info3);  
  22.         infos.add(info4);  
  23.         infos.add(info5);  
  24.         infos.add(info6);  
  25.         infos.add(info7);  
  26.         infos.add(info8);  
  27.         infos.add(info9);  
  28.         infos.add(info10);  
  29.         infos.add(info11);  
  30.         infos.add(info12);  
  31.         infos.add(info13);  
  32.         infos.add(info14);  
  33.         infos.add(info15);  
  34.         infos.add(info16);  
  35.     }  

MListAdapter:
  1. public MListAdapter(Context ctx, ArrayList<Info> infos) {  
  2.         this.ctx = ctx;  
  3.         this.infos = infos;  
  4.         mQueue = Volley.newRequestQueue(ctx);  
  5.         mImageLoader = new ImageLoader(mQueue, new BitmapCache());  
  6.     }  

  1. @Override  
  2.     public View getView(int position, View convertView, ViewGroup parent) {  
  3.         convertView = LayoutInflater.from(ctx).inflate(R.layout.item, null);  
  1. //特意不使用Holder  
  2.         ImageView imageView  = (ImageView) convertView.findViewById(R.id.item);  
  3.         ImageListener listener = ImageLoader.getImageListener(imageView, android.R.drawable.ic_menu_rotate, android.R.drawable.ic_delete);  
  4.         mImageLoader.get(getItem(position).getUrl(), listener);  
  5.         return convertView;  
  6.     }  

BitmapCache
  1. public class BitmapCache implements ImageCache {  
  2.     private LruCache<String, Bitmap> mCache;  
  3.       
  4.     public BitmapCache() {  
  5.         int maxSize = 10 * 1024 * 1024;  
  6.         mCache = new LruCache<String, Bitmap>(maxSize) {  
  7.             @Override  
  8.             protected int sizeOf(String key, Bitmap value) {  
  9.                 return value.getRowBytes() * value.getHeight();  
  10.             }  
  11.               
  12.         };  
  13.     }  
  14.   
  15.     @Override  
  16.     public Bitmap getBitmap(String url) {  
  17.         return mCache.get(url);  
  18.     }  
  19.   
  20.     @Override  
  21.     public void putBitmap(String url, Bitmap bitmap) {  
  22.         mCache.put(url, bitmap);  
  23.     }  
  24.   
  25. }  


源码地址: http://download.csdn.net/detail/cj6585256/5532845


使用后感觉:

滑动非常流畅,图片加载非常快,图片不错位


有人说下载缺少文件,把Volley源文件地址给上: http://download.csdn.net/detail/cj6585256/6407971
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值