Volley总结

2013 google I/O大会上
用于访问量比较小,并且访问比较频繁的网络请求,最好不要进行大文件的上传和下载。

volley:
1.StringRequest.<字符串请求>
2.JSONObjectRequest/JSONArrayRequest - JSONRequest

// 实例化StringRequest对象
        mRequest = new StringRequest(
                Method.POST, // 请求方法
                url, // 请求的URL地址
                new Listener<String>()
                    {
                    // 请求成功后的回调方法
                        @Override
                        public void onResponse(String response)
                        {
                            Log.i(TAG, response);
                            // 处理数据
                        }
                    }, // 请求成功后的回调监听
                    new Response.ErrorListener()
                    {

                        @Override
                        public void onErrorResponse(VolleyError arg0)
                        {
                            // 失败处理
                        }
                    }
                    ){
            //复写getParams方法传递参数
            @Override
            protected Map<String, String> getParams() throws AuthFailureError {
                Map<String, String> params = new HashMap<>();
                //?page=0&pageSize=9&sortOrder=0&sortType=1
                params.put("page", "0");
                params.put("pageSize", "9");
                params.put("sortOrder", "0");
                params.put("sortType", "1");
                return params;
            }
        };
c) 添加请求到队列中
    mQueue.add(request);

b) 取消请求

 // 取消请求
 // 1, 取消当个请求
 // mRequest.cancel();

 // 2,取消队列中所有的请求
 mQueue.cancelAll(this);

 // 3,取消对应
 //mQueue.cancelAll(100);

ImageLoder使用:

//ImageLoader使用
ImageLoader imageLoader = new ImageLoader(mqueue,getImageCache());
        ImageLoader.ImageListener mListener = ImageLoader.getImageListener(pic2, R.mipmap.ic_launcher,R.mipmap.ic_launcher);
        imageLoader.get(Constans.URL.TEST_PIC, mListener, 300, 300);
//NetworkImageView使用
//NetworkImageView imageView
imageView.setErrorImageResId(R.mipmap.ic_launcher);
        imageView.setDefaultImageResId(R.mipmap.ic_launcher);
        imageView.setImageUrl(Constans.URL.TEST_PIC,new ImageLoader(mqueue,getImageCache()));

//获取ImageCache
 public ImageLoader.ImageCache getImageCache()
    {
        if (imageCache == null)
        {
            synchronized (this)
            {
                int cacheSize = (int) (Runtime.getRuntime().maxMemory()/8);
                final LruCache<String ,Bitmap> mlruCache = new LruCache<>(cacheSize);
                imageCache = new ImageLoader.ImageCache()
                {
                    @Override
                    public Bitmap getBitmap(String url)
                    {
                        return mlruCache.get(url);
                    }

                    @Override
                    public void putBitmap(String url, Bitmap bitmap)
                    {
                        mlruCache.put(url,bitmap);
                    }
                };
            }
        }
        return imageCache;
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值