volley

  • volley简介
    Volley请求网络都是基于请求队列的,开发者只要把请求放在请求队列中就可以了,请求队列会依次进行请求,一般情况下,
    一个应用程序如果网络请求没有特别频繁则完全可以只有一个请求队列(对应Application),如果非常多或其他情况,
    则可以是一个Activity对应一个网络请求队列,这就要看具体情况了,首先创建队列:
    RequestQueue mQueue = Volley.newRequestQueue(getApplicationContext());
    这里写图片描述

示例

1. StringRequest用法

//创建请求队列
RequestQueue mQueue = Volley.newRequestQueue(getApplicationContext());
StringRequest mStringRequest = new StringRequest(Request.Method.GET, "http://www.baidu.com",
        new Response.Listener<String>() {
            @Override
            public void onResponse(String response) {
                Log.i("wangshu", response);
            }
        }, new Response.ErrorListener() {
    @Override
    public void onErrorResponse(VolleyError error) {
        Log.e("wangshu", error.getMessage(), error);
    }
});
//将请求添加在请求队列中
mQueue.add(mStringRequest);

2.JsonRequest的用法

RequestQueue mQueue = Volley.newRequestQueue(getApplicationContext());
      JsonObjectRequest mJsonObjectRequest = new JsonObjectRequest(Request.Method.POST,"http://api.1-blog.com/biz/bizserver/article/list.do",
              new Response.Listener<JSONObject>() {
                  @Override
                  public void onResponse(JSONObject response) {
                      Log.d("wangshu", response.toString());
                  }
              }, new Response.ErrorListener() {
          @Override
          public void onErrorResponse(VolleyError error) {
              Log.e("wangshu", error.getMessage(), error);
          }
      }
      );
      mQueue.add(mJsonObjectRequest);

3.使用ImageRequest加载图片

RequestQueue mQueue = Volley.newRequestQueue(getApplicationContext());
     ImageRequest imageRequest = new ImageRequest(
"https://img-my.youkuaiyun.com/uploads/201603/26/1458988468_5804.jpg",
             new Response.Listener<Bitmap>() {
                 @Override
                 public void onResponse(Bitmap response) {
                     iv_image.setImageBitmap(response);
                 }
             }, 0, 0, Bitmap.Config.RGB_565, new Response.ErrorListener() {
         @Override
         public void onErrorResponse(VolleyError error) {
             iv_image.setImageResource(R.drawable.ico_default);
         }
     });
     mQueue.add(imageRequest);

ImageLoader的内部使用ImageRequest来实现,它的构造器可以传入一个ImageCache缓存形参,实现了图片缓存的功能,同时还可以过滤重复链接,避免重复发送请求。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值