只需
GsonRequest按以下步骤创建一个类(取自Android Developer
Docs)
public class GsonRequest<T> extends Request<T> {private final Gson gson = new Gson();private final Class<T> clazz;private final Map<String, String> headers;private final Listener<T> listener;public GsonRequest(String url, Class<T> clazz, Map<String, String> headers, Listener<T> listener, ErrorListener errorListener) { super(Method.GET, url, errorListener); this.clazz = clazz; this.headers = headers; this.listener = listener;}@Overridepublic Map<String, String> getHeaders() throws AuthFailureError { return headers != null ? headers : super.getHeaders();}@Overrideprotected void deliverResponse(T response) { listener.onResponse(response);}@Overrideprotected Response<T> parseNetworkResponse(NetworkResponse response) { try { String json = new String( response.data, HttpHeaderParser.parseCharset(response.headers)); return Response.success( gson.fromJson(json, clazz), HttpHeaderParser.parseCacheHeaders(response)); } catch (UnsupportedEncodingException e) { return Response.error(new ParseError(e)); } catch (JsonSyntaxException e) { return Response.error(new ParseError(e)); }}}现在,在您的类文件(活动)中,只需按如下所示调用此类:
RequestQueue queue = MyVolley.getRequestQueue();GsonRequest<MyClass> myReq = new GsonRequest<MyClass>(Method.GET, "http://JSONURL/", TagList.class, createMyReqSuccessListener(), createMyReqErrorListener()); queue.add(myReq);
我们还需要创建两种方法-
createMyReqSuccessListener()
-收到来自的回复GsonRequest
createMyReqErrorListener()
-处理任何错误
如下:
private Response.Listener<MyClass> createMyReqSuccessListener() { return new Response.Listener<MyClass>() { @Override public void onResponse(MyClass response) {// Do whatever you want to do with response;// Like response.tags.getListing_count(); etc. etc. } };}和
private Response.ErrorListener createMyReqErrorListener() { return new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { // Do whatever you want to do with error.getMessage(); } };}我希望这会有意义。



