初试Volley(一)

项目结构图,

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

MainActivity代码:

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mListView  = (ListView) findViewById(R.id.listView);
        initData();
        MListAdapter adapter = new MListAdapter(this,infos);
        mListView.setAdapter(adapter);
    }

private void initData() {
    	infos = new ArrayList<Info>();
		Info info1 = new Info("http://imgstatic.baidu.com/img/image/shouye/fanbingbing.jpg");
		Info info2 = new Info("http://imgstatic.baidu.com/img/image/shouye/liuyifei.jpg");
		Info info3 = new Info("http://imgstatic.baidu.com/img/image/shouye/wanglihong.jpg");
		Info info4 = new Info("http://imgstatic.baidu.com/img/image/shouye/gaoyuanyuan.jpg");
		Info info5 = new Info("http://imgstatic.baidu.com/img/image/shouye/yaodi.jpg");
		Info info6 = new Info("http://imgstatic.baidu.com/img/image/shouye/zhonghanliang.jpg");
		Info info7 = new Info("http://imgstatic.baidu.com/img/image/shouye/xiezhen.jpg");
		Info info8 = new Info("http://imgstatic.baidu.com/img/image/shouye/yiping3.jpg");
		Info info9 = new Info("http://imgstatic.baidu.com/img/image/shouye/erping4.jpg");
		Info info10 = new Info("http://imgstatic.baidu.com/img/image/shouye/hangeng.jpg");
		Info info11 = new Info("http://imgstatic.baidu.com/img/image/shouye/liuyan1.jpg");
		Info info12 = new Info("http://imgstatic.baidu.com/img/image/shouye/liushishi1.jpg");
		Info info13 = new Info("http://imgstatic.baidu.com/img/image/shouye/sunli1.jpg");
		Info info14 = new Info("http://imgstatic.baidu.com/img/image/shouye/tangyan1.jpg");
		Info info15 = new Info("http://imgstatic.baidu.com/img/image/shouye/zhanggenshuo1.jpg");
		Info info16 = new Info("http://imgstatic.baidu.com/img/image/shouye/xiaohua0605.jpg");
		infos.add(info1);
		infos.add(info2);
		infos.add(info3);
		infos.add(info4);
		infos.add(info5);
		infos.add(info6);
		infos.add(info7);
		infos.add(info8);
		infos.add(info9);
		infos.add(info10);
		infos.add(info11);
		infos.add(info12);
		infos.add(info13);
		infos.add(info14);
		infos.add(info15);
		infos.add(info16);
	}

MListAdapter:

public MListAdapter(Context ctx, ArrayList<Info> infos) {
		this.ctx = ctx;
		this.infos = infos;
		mQueue = Volley.newRequestQueue(ctx);
		mImageLoader = new ImageLoader(mQueue, new BitmapCache());
	}

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

BitmapCache

public class BitmapCache implements ImageCache {
	private LruCache<String, Bitmap> mCache;
	
	public BitmapCache() {
		int maxSize = 10 * 1024 * 1024;
		mCache = new LruCache<String, Bitmap>(maxSize) {
			@Override
			protected int sizeOf(String key, Bitmap value) {
				return value.getRowBytes() * value.getHeight();
			}
			
		};
	}

	@Override
	public Bitmap getBitmap(String url) {
		return mCache.get(url);
	}

	@Override
	public void putBitmap(String url, Bitmap bitmap) {
		mCache.put(url, bitmap);
	}

}


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


使用后感觉:

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


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

评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值