zoukankan      html  css  js  c++  java
  • 【第七篇】Volley之处理Gzip数据

     一般对于API请求需带上GZip压缩,因为API返回数据大都是Json串之类字符串,GZip压缩后内容大小大幅降低.

    public class GZipRequest extends StringRequest {
        public GZipRequest(int paramInt, String paramString,
                Response.Listener<String> paramListener,
                Response.ErrorListener paramErrorListener) {
            super(paramInt, paramString, paramListener, paramErrorListener);
        }
    
        public GZipRequest(String paramString,
                Response.Listener<String> paramListener,
                Response.ErrorListener paramErrorListener) {
            super(paramString, paramListener, paramErrorListener);
        }
    
        protected Response<String> parseNetworkResponse(
                NetworkResponse paramNetworkResponse) {
            String str1 = "";
    
            try {
                GZIPInputStream gzipInputStream = new GZIPInputStream(
                        new ByteArrayInputStream(paramNetworkResponse.data));
                InputStreamReader inputStreamReader = new InputStreamReader(
                        gzipInputStream);
                BufferedReader bufferedReader = new BufferedReader(
                        inputStreamReader);
                while (true) {
                    String str2 = bufferedReader.readLine();
                    if (str2 == null)
                        break;
                    str1 = str1 + str2;
                }
                inputStreamReader.close();
                bufferedReader.close();
                gzipInputStream.close();
                return Response.success(str1,
                        HttpHeaderParser.parseCacheHeaders(paramNetworkResponse),
                        false);
            } catch (IOException e) {
                return Response.error(new ParseError(e));
            }
        }
    }
  • 相关阅读:
    线程私有关键字配合static使用
    对定义局部变量位置的思考
    获取文件的md5值
    JNI接口的整理
    数兔子问题
    使用XML布局文件和java代码混合控制UI界面
    应用程序类型
    android组成
    封装
    接口
  • 原文地址:https://www.cnblogs.com/androidsuperman/p/4815037.html
Copyright © 2011-2022 走看看