zoukankan      html  css  js  c++  java
  • [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类。

  • 相关阅读:
    练习2
    练习1
    如何生成添加前缀的顺序DIV
    mysql5.7 版本中 timestamp 不能为零日期 以及sql_mode合理设置
    MIME类型大全
    Intel Xeon E5-2620 v4参数
    webgl开发中添加IIS的mime类型
    jquery.validate动态更改校验规则
    mvc4
    asp.net防SQL/JS注入攻击:过滤标记
  • 原文地址:https://www.cnblogs.com/lemonbar/p/3965903.html
Copyright © 2011-2022 走看看