Android Volley的简单使用

①首先添加依赖
dependencies {
    //项目依赖添加
    implementation 'com.android.volley:volley:1.1.1'
}
②加载数据实现代码
final TextView textView = findViewById(R.id.textView);
        String url = "https://www.baidu.com";
        //1.创建一个volley队列
        RequestQueue queue = Volley.newRequestQueue(this);
        //2.创建一个请求,请求有三个参数:
            //Method:请求的方式
            //Response.Listener:正确响应处理操作
            //Response.ErrorListener:错误响应处理操作
        StringRequest stringRequest = new StringRequest(
                StringRequest.Method.GET,
                url,
                new Response.Listener<String>() {
                    @Override
                    public void onResponse(String response) {
                        textView.setText(response);
                    }
                },
                new Response.ErrorListener() {
                    @Override
                    public void onErrorResponse(VolleyError error) {
                        Log.e(TAG,"onErrorResponse",error);
                    }
                }
        );
        //把请求添加到队列中处理,Volley执行的是异步操作.
        queue.add(stringRequest);
③加载图片实现代码
final ImageView imageView = findViewById(R.id.imageView);
        String url = "https://www.baidu.com/img/superlogo_c4d7df0a003d3db9b65e9ef0fe6da1ec.png";
        //1.创建一个volley队列
        RequestQueue queue = Volley.newRequestQueue(this);
        //2.创建imageLoader对象,管理图片 ,imageLoader对象有两个参数:
            //RequestQueue:请求的队列
            //ImageLoader.ImageCache: 缓存设置
        ImageLoader imageLoader = new ImageLoader(queue, new ImageLoader.ImageCache() {
            //3.Lru–>(Least recent used)最少最近使用算法 设置图片的缓冲对象为50个.
            private LruCache<String,Bitmap> cache = new LruCache<>(50);
            @Override
            public Bitmap getBitmap(String url) {
                //得到缓冲图片地址
                return cache.get(url);
            }
            @Override
            public void putBitmap(String url, Bitmap bitmap) {
                //放进缓存,图片的URL地址和图片
                cache.put(url,bitmap);
            }
        });
        //4.通过imageLoader.get()方法设置图片,get方法有两个参数:
            //url:图片地址
            //ImageLoader.ImageListener 监听对象
                    //Response.Listener:正确响应处理操作
                    //Response.ErrorListener:错误响应处理操作
        imageLoader.get(url, new ImageLoader.ImageListener() {
            @Override
            public void onResponse(ImageLoader.ImageContainer response, boolean isImmediate) {
                imageView.setImageBitmap(response.getBitmap());
            }
            @Override
            public void onErrorResponse(VolleyError error) {
                Log.e(TAG, "onErrorResponse: ",error );
            }
        });

GitHub参考代码:https://github.com/Mrlove133481/GalleryDemo
LruCache缓存类源码解析:https://blog.csdn.net/qq_23547831/article/details/50971968
Volley的基本用法:https://blog.csdn.net/u010356768/article/details/87720280

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值