文档详情

安卓中自定义并使用Volley框架请求网络.doc

发布:2017-06-18约7.4千字共8页下载文档
文本预览下载声明
安卓中自定义并使用Volley框架请求网络   大家好,今天我们讲一下如何使用Volley框架请求网络,为何要使用Volley框架,这就要先说一下使用Volley框架请求网络的优点了,volley是易于定制的,即你可以根据需求来设定volley框架,还有volley框架支持请求的优先级设定,即你可以自主设定网络请求的优先级,还有就是volley框架请求支持取消单个或多个请求,这个一会设置请求的时候会特别说明,还有它可以自动调度网络请求,至于其他的如代码的健壮性、支持多并发等等就不一一列举了,说了那么多下面就介绍如何自定义并使用Volley框架:   第一步:定义netrequest类继承StringRequest类   1、在这个类里首先要自定义三个全局变量, 复制代码 1 private Priority priority; 2 private MapString,String headers ; 3 private MapString,String params; 4 5 /** 6 * 初始化全局变量 7 */ 8 private void init(){ 9 priority = Priority.NORMAL; 10 headers = new HashMap(); 11 params = new HashMap(); 12 } 复制代码   2、实现两个有参构造,在这两个构造方法中并不需要再多些什么,只要初始化自定义的三个全局变量。 复制代码 1 public NetRequest(int method, String url, Response.ListenerString listener, Response.ErrorListener errorListener) { 2 super(method, url, listener, errorListener); 3 init(); 4 } 5 6 public NetRequest(String url, Response.ListenerString listener, Response.ErrorListener errorListener) { 7 super(url, listener, errorListener); 8 init(); 9 } 复制代码   3、重写设置优先级的方法 1 //设置优先级 2 @Override 3 public Priority getPriority() { 4 return priority; 5 }   4、重写为请求添加请求头信息的方法 复制代码 1 //为请求添加头信息的方法 2 @Override 3 public MapString, String getHeaders() throws AuthFailureError { 4 return headers; 5 } 6 7 @Override 8 public MapString, String getParams()throws AuthFailureError{ 9 return params; 10 } 11 12 public NetRequest setPriority(Priority priority){ 13 this.priority = priority; 14 return this; 15 } 16 17 public NetRequest addRequestHeader(String key,String value){ 18 this.headers.put(key,value); 19 return this; 20 } 21 22 public NetRequest addParams(String key,String value){ 23 this.params.put(key, value); 24 return this; 25 } 复制代码   5、自定义一个发送请求的方法,其中VolleyUtil类为一个工具类,是自己定义的下一步就是定义它 1 /** 2 * 发送请求 3 */ 4 public void start(){ 5 VolleyUtil.start(this); 6 }   6、自定义一个静态类Builder为网络请求传参,这也被称作构造者模式 复制代码 1 //构造者模式 2 public static class Builder{ 3 4   private
显示全部
相似文档