一般对于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));
}
}
}

【第七篇】Volley之处理Gzip数据的更多相关文章

  1. 解剖SQLSERVER 第七篇 OrcaMDF 特性概述(译)

    解剖SQLSERVER 第七篇  OrcaMDF 特性概述(译) http://improve.dk/orcamdf-feature-recap/ 时间过得真快,这已经过了大概四个月了自从我最初介绍我 ...

  2. 第七篇 :微信公众平台开发实战Java版之如何获取微信用户基本信息

    在关注者与公众号产生消息交互后,公众号可获得关注者的OpenID(加密后的微信号,每个用户对每个公众号的OpenID是唯一的.对于不同公众号,同一用户的openid不同). 公众号可通过本接口来根据O ...

  3. 第七篇 Replication:合并复制-订阅

    本篇文章是SQL Server Replication系列的第七篇,详细内容请参考原文. 订阅服务器就是复制发布项目的所有变更将传送到的服务器.每一个发布需要至少一个订阅,但是一个发布可以有多个订阅. ...

  4. 第七篇 SQL Server安全跨数据库所有权链接

    本篇文章是SQL Server安全系列的第七篇,详细内容请参考原文. Relational databases are used in an amazing variety of applicatio ...

  5. 第七篇 SQL Server代理作业活动监视器

    本篇文章是SQL Server代理系列的第七篇,详细内容请参考原文 在这一系列的上一篇,你创建并配置SQL Server代理作业.每个作业有一个或多个步骤,可能包含大量的工作流.在这篇文章中,将查看作 ...

  6. Python之路【第七篇】:线程、进程和协程

    Python之路[第七篇]:线程.进程和协程   Python线程 Threading用于提供线程相关的操作,线程是应用程序中工作的最小单元. 1 2 3 4 5 6 7 8 9 10 11 12 1 ...

  7. Python开发【第七篇】:面向对象 和 python面向对象进阶篇(下)

    Python开发[第七篇]:面向对象   详见:<Python之路[第五篇]:面向对象及相关> python 面向对象(进阶篇)   上一篇<Python 面向对象(初级篇)> ...

  8. 【译】第七篇 SQL Server安全跨数据库所有权链接

    本篇文章是SQL Server安全系列的第七篇,详细内容请参考原文. Relational databases are used in an amazing variety of applicatio ...

  9. ElasticSearch入门 第七篇:分词

    这是ElasticSearch 2.4 版本系列的第七篇: ElasticSearch入门 第一篇:Windows下安装ElasticSearch ElasticSearch入门 第二篇:集群配置 E ...

随机推荐

  1. PostScript学习:另一种缩写为PS的技术

    1.前言 PostScript是一种编程语言,直译为"后处理脚本"[相对印刷过程而言],学名为页面描述语言.更为详细的解释见维基百科,以及其翻译版百度百科. 值得一提的是,Post ...

  2. gulp备忘

    // npm install gulp gulp-sourcemaps gulp-name gulp-notify del --save-dev // npm install gulp-ruby-sa ...

  3. redis面试总结

    http://blog.csdn.net/guchuanyun111/article/category/6335900 (1)什么是redis? Redis 是一个基于内存的高性能key-value数 ...

  4. smbaclient

    在linux中通过smbaclient获取windows的共享文件 列出windows的共享目录 $ smbclient -L .xxx -U administrator%password 进入指定共 ...

  5. Tomcat启动时报错:java.net.UnknownHostException

    异常信息如下: INFO: Failed to get local InetAddress for VMID. This is unlikely to matter. At all. We'll ad ...

  6. readonly属性在各浏览器中的区别

    有个项目需求是正常显示时为只读,不可修改: 点击修改按钮后,可修改表单元素. 首先想到的是readonly属性,其用于规定输入字段为只读,不能修改.在javascript中消除readonly值,可将 ...

  7. node-canvas

    1.使用之前需要预先安装  Cairo 本人安装遇到各种各样的坑,可以参考这里来填坑:https://github.com/Automattic/node-canvas/wiki/Installati ...

  8. android studio 程序错误

    一.错误类型: com.android.tools.fd.runtime.BootstrapApplication cannot be cast to 成功修改方式 File --> Setti ...

  9. spring framework - 整体架构

    Spring Framework 3.2 采用分层架构设计,包含一些列的功能要素,总结为以下几个部分 Core Container 该模块是Spring的核心容器,包含有Beans.Core.Cont ...

  10. php 中数据类型

    总体划分 8 中 1基本类型(标量) 整型 int 整型的三种写法 <?php $n1 = 123; //10进制 $n2 = 0123; //8进制 $n3 = 0x123;//16进制 // ...