【第七篇】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) {
                e.printStackTrace();
            }
             return Response.error(new ParseError());
    }
}
时间: 2024-11-10 01:16:38

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

第七篇:经典案例:数据去重

需求 去除掉海量文件中的存在着的重复数据,并将结果输出到单个文件中. 比如有文件1中有以下数据: hello my name 文件2中有以下数据 my name is 文件3中有以下数据 name is fangmeng 那么结果文件的内容应当如下(顺序不保证一致): hello my name is fangmeng 方案制定 Map阶段: 1. 获取到输入后,按照默认原则切分输入. 2. 将切分后的value设置为map中间输出的key,而map中间输出的value为空值. Shuffle阶

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

Python之路[第七篇]:线程.进程和协程 Python线程 Threading用于提供线程相关的操作,线程是应用程序中工作的最小单元. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 #!/usr/bin/env python # -*- coding:utf-8 -*- import threading import time   def show(arg):     time.sleep(1)     print 'thread'+str(arg)   for i in

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

本篇文章是SQL Server Replication系列的第七篇,详细内容请参考原文. 订阅服务器就是复制发布项目的所有变更将传送到的服务器.每一个发布需要至少一个订阅,但是一个发布可以有多个订阅.这一篇假设你遵循了前面六篇,并且你已经配置好合并发布.配置订阅为了能创建订阅,你必须使用一个(能够访问订阅服务器和发布服务器的)登录名连接到数据库.另外,这个登录名至少需要是订阅数据库和发布数据库的db_owner角色的成员.连接到发布服务器首先你需要在对象资源管理器下连接到订阅服务器.打开复制文件

SQL Server索引 - 非聚集索引 &lt;第七篇&gt;

一.非聚集索引维护 非聚集索引的行定位器值保持相同的聚集索引值,即使该聚集索引列物理上重新定位后,也是如此. 为了优化这个维护开销,SQL Server添加一个指向旧数据页的指针,以在页面分割之后指向新的数据页面,而不是更新所有相关非聚集索引的行定位器.这样,虽然降低了非聚集索引的维护开销,但是增加了从非聚集索引行到数据行的导航开销,因为添加了一个旧数据页面和信数据页面之间的连接.因此,将聚集索引作为行定位器降低了非聚集索引相关的开销. 二.定义书签查找 当一个查询请求不是优化器选择的非聚集索引

Android利用Volley异步加载数据完整详细示例(二)

MainActivity如下: package cc.y; import android.app.Activity; import android.content.Context; import android.graphics.Bitmap; import android.graphics.Bitmap.Config; import android.os.Bundle; import android.util.LruCache; import android.widget.ImageView;

Android利用Volley异步加载数据完整详细示例(一)

MainActivity如下: package cc.cn; import java.util.HashMap; import org.json.JSONObject; import android.app.Activity; import android.content.Context; import android.os.Bundle; import com.android.volley.AuthFailureError; import com.android.volley.RequestQ

NHibernate 延迟加载与立即加载 (第七篇)

NHibernate 延迟加载与立即加载 (第七篇) 一.延迟加载 延迟加载可以理解为:当需要用的时候才加载. 假设我们数据库有一个Person对象,一个Country对象,其中Person属于Country,一对多关系.当我们Get()一个 Person对象的时候.并不立即把Country对象也加入来,而是当我们的代码执行到要通过Person调用Country对象的时 候,NHibernate才到数据库去查询对应的Country对象,这就叫延迟加载.相反,如果我们Get()一个Person对象

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

本篇文章是SQL Server代理系列的第七篇,详细内容请参考原文 在这系列的前几篇,你创建并配置SQL Server代理作业.每个作业有一个或多个步骤,可能包含大量的工作流.在这篇文章中,将查看作业活动监视器.作业活动监视器是系统管理工具来运行工作,查看作业历史记录,并启用/禁用作业.本文同样会回顾一些作业活动监视器调用的存储过程,你可以直接调用过程做你自己的自定义任务监控.SQL Server代理作业活动监视器SQL Server代理作业活动监视器的主要机制是监视作业运行,以及查看代理已运行

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

原文:解剖SQLSERVER 第七篇 OrcaMDF 特性概述(译) 解剖SQLSERVER 第七篇  OrcaMDF 特性概述(译) http://improve.dk/orcamdf-feature-recap/ 时间过得真快,这已经过了大概四个月了自从我最初介绍我的宠物项目OrcaMDF. 自从项目开始到现在,OrcaMDF发生了很多变化,功能更强了,因此我想提供一个概述对目前OrcaMDF的功能的概述以及我对OrcaMDF未来的计划 页面类型 OrcaMDF 当前支持以下页面的数据完整解