Android网络通信请求框架——Volley

         我们在开发程序的时候,网络请求是必不可少的一项操作。然而我们使用HttpClient等进行直接开发时,会发现我们所写的程序的网络请求会出现各种各样的问题,这时候,就会去寻找网络上的开源网络请求框架。

       Volley框架是谷歌公司在2013年发布的一个开源框架。能使网络通信更快,更简单,更健壮。Volley特别适用于那些数据量不大但是通信频繁的网络请求操作。首先我们来介绍下Volley的适用方法。

      1.引入jar包

         Volley框架需要引入他的jar包,这个大家可以在网上自行搜索下载并导入。

      2.建立请求队列

        Volley框架有着自己的请求队列管理机制,可以控制每一个请求的建立和取消,非常方便和安全。这样就可以随时控制指定的请求在指定的时间结束。防止一些无谓的请求发生浪费资源。

       请求队列需要全局存在的,这样才能管理。所以我们一般把请求队列建立在Application里面。

public static RequestQueue queue=Volley.newRequestQueue(getApplicationContext);
  public static RequestQueue getHttpQueue(){
        return queue;
    }

   
 
    
    3.get请求的实现 
  

        直接通过队列添加JsonObjectRequest对象,第一个参数为请求模式,第二个参数为URL地址,第三个参数为请求成功返回监听器,第四个参数为返回失败的监听器。当然最后别忘了把我们的请求加入到请求队列。

StringRequest request=new StringRequest(Request.Method.GET, "url", new Response.Listener() {
        @Override
        public void onResponse(String s) {

        }
    }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError volleyError) {
            
        }
    });
request.setTag("request");
AppContext.getHttpQueue().add(request);


 
  
 
  
后面的加入表示是位置在取消请求时根据这个标记来取消该请求。


4.post请求

    post请求和get的请求基本类似,但是需要在方法体内要重写getParams方法来将我们需要传递的数据存入到Map集合中来进行传递。

StringRequest requestPost=new StringRequest(Request.Method.GET, "url", new Response.Listener() {
            @Override
            public void onResponse(String s) {

            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError volleyError) {

            }
        }){
            @Override
            protected Map getParams() throws AuthFailureError {

                HashMap map=new HashMap<>();
                map.put("aaa","aaaaa");

                return map;
            }
        };


        request.setTag("requestPost");
        AppContext.getHttpQueue().add(requestPost);




Volley的简单介绍将到这里~如果发现什么好的地方 会再来补充的~

   


你可能感兴趣的:(Android开源框架)