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);
}
}