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 com.google.gson.reflect.TypeToken;
import com.socks.jiandan.model.Picture;
import org.json.JSONObject;
import java.util.ArrayList;
/**
* 无聊图数据请求器
*/
public class Request4Picture extends Request<ArrayList<Picture>> {
private Response.Listener<ArrayList<Picture>> listener;
public Request4Picture(String url, Response.Listener<ArrayList<Picture>> listener,
Response.ErrorListener errorListener) {
super(Method.GET, url, errorListener);
this.listener = listener;
}
@Override
protected Response<ArrayList<Picture>> parseNetworkResponse(NetworkResponse response) {
try {
String jsonStr = new String(response.data, HttpHeaderParser.parseCharset(response.headers));
jsonStr = new JSONObject(jsonStr).getJSONArray("comments").toString();
ArrayList<Picture> pictures = (ArrayList<Picture>) JSONParser.toObject(jsonStr,
new TypeToken<ArrayList<Picture>>() {
}.getType());
return Response.success(pictures, HttpHeaderParser.parseCacheHeaders(response));
} catch (Exception e) {
e.printStackTrace();
return Response.error(new ParseError(e));
}
}
@Override
protected void deliverResponse(ArrayList<Picture> response) {
listener.onResponse(response);
}
}