package com.tiger.quicknews.http; import android.content.Context; import android.util.Log; import com.android.volley.NetworkResponse; import com.android.volley.ParseError; import com.android.volley.RequestQueue; import com.android.volley.Response; import com.android.volley.VolleyError; import com.android.volley.toolbox.HttpHeaderParser; import com.android.volley.toolbox.JsonObjectRequest; import com.android.volley.toolbox.Volley; import org.json.JSONObject; import java.io.UnsupportedEncodingException; public class VolleyUtils { public static void getVolleyData(String mUrl, Context context, final ResponseData responseData) { RequestQueue requestQueue = Volley.newRequestQueue(context); JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(mUrl, null, new Response.Listener<JSONObject>() { @Override public void onResponse(final JSONObject response) { // 成功获取数据后将数据显示在屏幕上 String info; try { // info = response.toString(); info = response.getString("UTF-8"); System.out.println(info); } catch (Exception e) { e.printStackTrace(); } } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { Log.d("TAG", error.getMessage(), error); } }) { @Override protected Response<JSONObject> parseNetworkResponse( NetworkResponse response) { try { JSONObject jsonObject = new JSONObject( new String(response.data, "UTF-8")); responseData.getResponseData(0, jsonObject.toString()); return Response.success(jsonObject, HttpHeaderParser.parseCacheHeaders(response)); } catch (UnsupportedEncodingException e) { return Response.error(new ParseError(e)); } catch (Exception je) { return Response.error(new ParseError(je)); } } }; requestQueue.add(jsonObjectRequest); } }