使用volley来json解析

我对网络请求get和post的理解:

  1、get只是从某网址获得固定数据,如我访问百度,返回就是百度的html语句;

  2、post是我在访问的时候加了某些参数,如我访问某个服务器,访问的时候加了一些语句,比如只想的到其中的图片,

此时服务器就返回我需要的数据,而不是整个内容。

   总结:第一种常用来玩玩,如笑话,天气预报那些简单应用;第二种一般公司都用,通过自己的服务器,来得到数据

使用get Volley:

  1. 创建一个RequestQueue对象。

    RequestQueue mQueue = Volley.newRequestQueue(context); 

  2. 创建一个StringRequest对象。

    StringRequest stringRequest = new StringRequest("http://www.baidu.com",  

    new Response.Listener<String>() {  

      @Override  public void onResponse(String response) {  

                                Log.d("TAG", response);  

                  }  

             },

     new Response.ErrorListener() {  

      @Override  public void onErrorResponse(VolleyError error) {  

                               Log.e("TAG", error.getMessage(), error);                             

      }  

             }

         });  

  3. 将StringRequest对象添加到RequestQueue里面。

    mQueue .add(stringRequest);

  

    这里new出了一个StringRequest对象,StringRequest的构造函数需要传入三个参数,第一个参数就是目标服务器的URL地址,第二个参数

    是服务器响应成功的回调,第三个参数是服务器响应失败的回调。其中,目标服务器地址我们填写的是百度的首页,然后在响应成功的回调里打

    印出服务器返回的内容,在响应失败的回调里打印出失败的详细信息。

使用post Volley(json):

   1. 创建一个RequestQueue对象。

      RequestQueue mQueue = Volley.newRequestQueue(context); 

     2. 创建一个JSONObject对象。

      JSONObject js = new JSONObject();//具体怎么通过String变为json对象看另一篇博客   

     3. new一个JsonObjectRequest对象,并将JSONObject对象添加到JsonObjectRequest 里面

     JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST, url,JSONObject js,new Listener,new ErrorListener);

   4、将StringRequest对象添加到RequestQueue里面。

      mQueue .add(stringRequest);

注意:JsonObjectRequest的成功返回回调和错误返回回调一定要写,不能为空,否则程序报错

原文地址:https://www.cnblogs.com/judes/p/5779709.html