zoukankan      html  css  js  c++  java
  • Volley使用

    Volley是常用的网络请求框架,主要的用法如下:

    获取字符串:

        public static void volleyTest1(final Context context){
            RequestQueue queue = Volley.newRequestQueue(context);
            final String url = "http://www.baidu.com";
            StringRequest request = new StringRequest(url,
                    new Response.Listener<String>() {
                        @Override
                        public void onResponse(String s) {
                            Toast.makeText(context, s, Toast.LENGTH_SHORT).show();
                        }
                    },
                    new Response.ErrorListener() {
                        @Override
                        public void onErrorResponse(VolleyError volleyError) {
                            Toast.makeText(context, volleyError.getMessage(), Toast.LENGTH_SHORT).show();
                        }
                    }
            );
            queue.add(request);
        }

    获取图片:

        public static void volleyImageTest1(final Context context, final ImageView imgView){
            final String url = "//img-my.csdn.net/uploads/201404/13/1397393290_5765.jpeg";
            ImageRequest request = new ImageRequest(url,
                    new Response.Listener<Bitmap>() {
                        @Override
                        public void onResponse(Bitmap bitmap) {
                            Toast.makeText(context, "get image success!", Toast.LENGTH_SHORT).show();
                            imgView.setImageBitmap(bitmap);
                        }
                    },
                    0, 0, ScaleType.FIT_XY, Config.RGB_565,
                    new Response.ErrorListener(){
                        @Override
                        public void onErrorResponse(VolleyError volleyError) {
                            Toast.makeText(context, "get image failed!", Toast.LENGTH_SHORT).show();
                        }
                    }
            );
    
            RequestQueue queue = Volley.newRequestQueue(context);
            queue.add(request);
        }

    异步加载图片:

        public static void volleyImageTest2(final Context context, final ImageView imgView){
    
    
            final BitmapCache bitmapCache = new BitmapCache();
            RequestQueue queue = Volley.newRequestQueue(context);
            ImageLoader imgLoader = new ImageLoader(queue, bitmapCache);
            ImageLoader.ImageListener listener = imgLoader.getImageListener(imgView, R.mipmap.ic_launcher, R.mipmap.ic_launcher);
    
    //        final String url = "//img-my.csdn.net/uploads/201404/13/1397393290_5765.jpeg";
            final String url = "http://img1.skqkw.cn:888/2014/12/06/08/21ofdtyslqn-62877.jpg";
            imgLoader.get(url, listener);
        }

    BitmapCache类:

        private static class BitmapCache implements ImageCache{
            private LruCache<String, Bitmap> lruCache;
    
            public BitmapCache(){
                int maxSize = 8*1024*1024;
                lruCache = new LruCache<String, Bitmap>(maxSize){
                    @Override
                    protected int sizeOf(String key, Bitmap bitmap) {
                        return bitmap.getRowBytes()*bitmap.getHeight();
                    }
                };
            }
    
            @Override
            public Bitmap getBitmap(String s) {
                return lruCache.get(s);
            }
    
            @Override
            public void putBitmap(String s, Bitmap bitmap) {
                lruCache.put(s, bitmap);
            }

    Volley功能强大,能够对网络请求进行缓存,能够有效减少CPU消耗和减少网络请求。

  • 相关阅读:
    Spring Boot (五): Redis缓存使用姿势盘点
    跟我学SpringCloud | 第二十章:Spring Cloud 之 okhttp
    Spring Boot (四): Druid 连接池密码加密与监控
    跟我学SpringCloud | 第十九章:Spring Cloud 组件 Docker 化
    跟我学SpringCloud | 第十八篇:微服务 Docker 化之基础环境
    Spring Boot (三): ORM 框架 JPA 与连接池 Hikari
    Spring Cloud Alibaba | Dubbo Spring Cloud 之 HTTP 实战
    Spring Cloud Alibaba | Dubbo 与 Spring Cloud 完美结合
    Spring Boot (二):模版引擎 Thymeleaf 渲染 Web 页面
    可以穿梭时空的实时计算框架——Flink对时间的处理
  • 原文地址:https://www.cnblogs.com/MiniHouse/p/7100413.html
Copyright © 2011-2022 走看看