Volley框架学习(1)

Volleygoogle推出的一个用于处理网络的框架。

  1volley的简单功能:

     简单来说,它提供了如下的便利功能:

       •JSON,图像等的异步下载;

       •网络请求的排序(scheduling)

       •网络请求的优先级处理

       •缓存

       •多级别取消请求

       •和Activity和生命周期的联动(Activity结束时同时取消所有网络请求)

 

  2、从git库先克隆一个下来,引入自己的工程

[html]  view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. git clone https://android.googlesource.com/platform/frameworks/volley   

  3、简单使用:volley有StringRequest、JsonRequest、JsonObjectRequest、JsonArrayRequest、ImageRequest等请求,其基本使用都差不多。

    demo:

[java]  view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. //第一步:初始化volley,一般放在onCreate方法里。  
  2.   
  3.   RequestQueue rQueue =Volley.newRequestQueue(this);// 初始化请求队列  
  4.   
  5.   //第二步:向请求队列中添加任务  
  6.   
  7.   mQueue.add(new JsonObjectRequest(  
  8.   
  9.                 Method.GET,//定义方法的类型,volley目前支持  
  10.   
  11.                    GET,POST,PUT,DELETE,HEAD,OPTIONS,TRACE,PATCH等类型  
  12.   
  13.                 url,      //网络请求的地址  
  14.   
  15.                 null,      //JSONObject  
  16.   
  17.                  newListener() {  //当有响应时回调此函数做相应处理  
  18.   
  19.                      @Override    
  20.   
  21.                      public void onResponse(JSONObject response) {   
  22.   
  23.                          Log.d(TAG, "response : " +response.toString());   
  24.   
  25.                      }    
  26.   
  27.                  },  
  28.   
  29.                  null)//错误监听,请求失败时做相应处理);   

  其他几种请求于此类似,但是当有图片请求时建议使用ImageLoader下载图片

  

[java]  view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. //第一步:初始化volley,一般放在onCreate方法里。  
  2.   
  3.   RequestQueue rQueue =Volley.newRequestQueue(this);// 初始化请求队列  
  4.   
  5.   ImageCache imageCache = new ImageCache(){//定义缓存  
  6.   
  7.          @Override  
  8.   
  9.          public void putBitmap(String key, Bitmap value) {  
  10.   
  11.             mImageCache.put(key, value);  
  12.   
  13.          }  
  14.   
  15.          @Override  
  16.   
  17.          public Bitmap getBitmap(String key) {  
  18.   
  19.             return mImageCache.get(key);  
  20.   
  21.          }  
  22.   
  23.      };  
  24.   
  25.   ImageLoader iLoader = new ImageLoader(rQueue, imageCache);  
  26.   
  27.   //第二步:获取图片显示  
  28.   
  29.   iLoader.get(imgurl,//图片在网络中的地址  
  30.   
  31.             ImageLoader.getImageListener(  
  32.   
  33.                        iv,//ImageView实例  
  34.   
  35.                        android.R.drawable.ic_menu_rotate,//默认显示图片  
  36.   
  37.                        android.R.drawable.ic_delete)//请求失败时显示的图片  
  38.   
  39.             );  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值