package com.dangzhongyang.zuoye.data.utils; import com.android.volley.NetworkResponse; import com.android.volley.Request; import com.android.volley.Response; import com.android.volley.toolbox.HttpHeaderParser; import com.google.gson.Gson; import java.io.UnsupportedEncodingException; public class GsonRequest<T> extends Request<T> { private Class<T> calzz; private Response.Listener<T> mListener; public GsonRequest(String url, Class<T> calzz, Response.Listener<T> mListener,Response.ErrorListener listener) { this(Method.GET,url,calzz, mListener,listener); } public GsonRequest(int method, String url,Class<T> calzz, Response.Listener<T> mListener,Response.ErrorListener listener) { super(method, url, listener); this.mListener=mListener; this.calzz=calzz; } @Override protected void deliverResponse(T response) { if (mListener != null) { mListener.onResponse(response); } } @Override protected Response<T> parseNetworkResponse(NetworkResponse response) { String parsed; try { parsed = new String(response.data, HttpHeaderParser.parseCharset(response.headers)); } catch (UnsupportedEncodingException e) { parsed = new String(response.data); } Gson gson=new Gson(); T t = gson.fromJson(parsed, calzz); return Response.success(t, HttpHeaderParser.parseCacheHeaders(response)); } }
Volley自定义Request之Goson
猜你喜欢
转载自blog.csdn.net/zeyu_rensheng/article/details/80548270
今日推荐
周排行