package com.socks.jiandan.net; import com.android.volley.NetworkResponse; import com.android.volley.ParseError; import com.android.volley.Request; import com.android.volley.Response; import com.android.volley.toolbox.HttpHeaderParser; import org.json.JSONObject; /** * 段子数据请求器 * Created by zhaokaiqiang on 15/4/8. */ public class Request4FreshNewsDetail extends Request<String> { private Response.Listener<String> listener; public Request4FreshNewsDetail(String url, Response.Listener<String> listener, Response.ErrorListener errorListener) { super(Method.GET, url, errorListener); this.listener = listener; } @Override protected Response<String> parseNetworkResponse(NetworkResponse response) { try { String resultStr = new String(response.data, HttpHeaderParser.parseCharset(response .headers)); JSONObject jsonObject = new JSONObject(resultStr); if (jsonObject.opt("status").equals("ok")) { JSONObject contentObject = jsonObject.optJSONObject("post"); return Response.success(contentObject.optString("content"), HttpHeaderParser.parseCacheHeaders (response)); } else { return Response.success("error", HttpHeaderParser.parseCacheHeaders(response)); } } catch (Exception e) { e.printStackTrace(); return Response.error(new ParseError(e)); } } @Override protected void deliverResponse(String response) { listener.onResponse(response); } }