首页 > 代码库 > [Android] 开源框架 Volley 自定义 Request
[Android] 开源框架 Volley 自定义 Request
今天在看Volley demo (https://github.com/smanikandan14/Volley-demo), 发现自定义GsonRequest那块代码不全, 在这里贴一个全的。
public class GsonRequest<T> extends Request<T> { private Gson mGson; private Class mJavaClass; private Response.Listener<T> mListener; public GsonRequest(int method, String url, Class<T> cls, String requestBody, Response.Listener<T> slistener, Response.ErrorListener listener) { super(method, url, listener); mJavaClass = cls; mListener = slistener; mGson = new Gson(); } @Override protected Response<T> parseNetworkResponse(NetworkResponse response) { try { String jsonString = new String(response.data, HttpHeaderParser.parseCharset(response.headers)); T parsedGSON = (T) mGson.fromJson(jsonString, mJavaClass); return Response.success(parsedGSON, HttpHeaderParser.parseCacheHeaders(response)); } catch (UnsupportedEncodingException e) { return Response.error(new ParseError(e)); } catch (JsonSyntaxException je) { return Response.error(new ParseError(je)); } } @Override protected void deliverResponse(T response) { mListener.onResponse(response); }
简单说明一下几个fields的作用。
mJavaClass是在通过Json反序列化成对象时使用;
mListener里面onResponse是处理正确返回值的回调函数;
具体的实现也可以参考Volley中JsonRequest类。
[Android] 开源框架 Volley 自定义 Request
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。