Volley框架的使用方法

volley框架的使用大都是(1)建立一个RequestQueue请求队列;(2)写一个String类型的Url;(3)新建一个请求,在请求中填入必要的参数,在成功回调的方法中写你要的操作。在失败回调方法中写错误处理操作。(4)将请求加入到请求队列中。然后大功告成。

  下面是几个Volley常用的方法

(1)利用Volley获取Json数据

public void getJsonVolley() {

        RequestQueue requestQueue = Volley.newRequestQueue(this);
        String JSONDateUrl = "http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=218.4.255.255";
        JsonObjectRequest request = new JsonObjectRequest(
                Request.Method.GET, JSONDateUrl, null, new Response.Listener<JSONObject>() {
            @Override
            public void onResponse(JSONObject jsonObject) {

                Toast.makeText(MainActivity.this , jsonObject.toString() , Toast.LENGTH_LONG).show();
            }
        }
                , new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError volleyError) {
                Toast.makeText(MainActivity.this , "有问题" , Toast.LENGTH_LONG).show();
            }
        });
        requestQueue.add(request);}

(2)Volley异步加载图片的方法

public void loadImageVolley()
    {
        RequestQueue queue = Volley.newRequestQueue(this);
        String url = "https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superman/img/logo/bd_logo1_31bdc765.png";
        final LruCache<String , Bitmap> cache = new LruCache<String , Bitmap>(20);
        ImageLoader.ImageCache imageCache = new ImageLoader.ImageCache() {
            @Override
            public Bitmap getBitmap(String key) {
                return cache.get(key);
            }

            @Override
            public void putBitmap(String key, Bitmap bitmap) {

                cache.put(key ,bitmap);
            }
        };

        ImageLoader imageLoader = new ImageLoader(queue , imageCache);
        ImageLoader.ImageListener listener = imageLoader.getImageListener(iv ,0 , 0);
        imageLoader.get(url, listener);

    }


(3)利用Volley中NetWorkImageView加载网络图片

public void NetworkImageViewLoad()
    {
        String imageUrl = "https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superman/img/logo/bd_logo1_31bdc765.png";
        RequestQueue requestQueue = Volley.newRequestQueue(this);
        final LruCache<String, Bitmap> lruCache = new LruCache<String, Bitmap>(20);
        ImageLoader.ImageCache imageCache = new ImageLoader.ImageCache() {

            @Override
            public void putBitmap(String key, Bitmap value) {
                lruCache.put(key, value);
            }

            @Override
            public Bitmap getBitmap(String key) {
                return lruCache.get(key);
            }
        };
        ImageLoader imageLoader = new ImageLoader(requestQueue, imageCache);
        iv2.setTag("url");
        iv2.setImageUrl(imageUrl, imageLoader);

    }
注意:iv2是NetWorkImageView类型的,相当于一个自定义控件。如果不能显示图片,可能是加载的图片太大,需要设置NetWorkImageView的宽和高,它会自动压缩图片显示。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值