自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 资源 (1)
  • 收藏
  • 关注

原创 Android中的volley_12_请求重试策略RetryPolicy和DefaultRetryPolicy

面相接口的编程思想已经深入到volley的骨髓中了,当学习完volley,就算没有别的收货,但面相接口的编程思想必定深深印在脑海中,从HttpStack、到Network、再到Request等都是利用的接口思想。今天所说的请求重试策略RetryPolicy依然遵循了此思想,不得不令人感叹!!!其实,直到现在这一刻,才忽然意识到,似乎volley就是利用接口来搭建其骨架的,之前的时候知道voll

2015-06-06 08:31:20 5549 1

原创 Android中的volley_11_Request

Request也是volley的核心类之一,是一个抽象类。volley中所有的请求都是由Request的子类来完成的,它定义了一些公共性的内容,并抽象出来,其子类只需要继承该类并实现其预留的抽象方法即可。比如volley默认实现的请求如StringRequest、JsonRequest、JsonObjectRequest等都是继承自Request。再比如在Google的官方文档中定义的GsonRe

2015-06-05 20:07:45 540

原创 Android中的volley_10_Response和NetworkResponse

每次在文章的开头,都会感叹volley的面向接口的编程思想。当刚刚写本篇文章时,对这种思想突然有了更深一层的理解,在volley的核心流程中,往往都是接口在冲锋陷阵,这样的话,扩展性是极强的,因为你可以使用volley默认的实现类,也可以自己定义自己的实现类。非常优秀的框架设计,得好好研究研究怎么应用在自己的项目中。嘿嘿,就不感叹volley了。这里主要说下volley中的响应Respon

2015-06-04 20:45:59 2670

原创 Android中的volley_9_ResponseDelivery和ExecutorDelivery

ResponseDelivery定义为一个接口,这是volley中最为有特色的定义方式,无论是Request Network还是HttpStack,每一个小模块都是用一个接口来对接的,大大降低了模块之间的耦合性,同时由于模块之间对接是接口,这样扩展性极佳。ResponseDelivery,从字面也可以理解,其主要的作用就是传递响应。内部定义了三个方法:/** * Parses a

2015-06-04 20:01:51 1011

原创 Android中的volley_8_缓存调度线程CacheDispatcher

CacheDispatcher也是volley的核心类之一。跟NetworkDispatcher一样,CacheDispatcher也是一个线程,该线程的作用就是从缓存队列中获取request,根据request的cacheKey从缓存Cache内获取该request的响应。在RequestQueue内,会对所有的request进行分发,如果一个request是可以被缓存的,那么就会分发到缓存

2015-06-04 19:17:26 619

原创 Android中的volley_7_网络调度线程NetworkDispatcher

NetworkDispatcher也是volley中的核心类,该类的作用就是从发送网络请求获取响应。要知道,在定义该类的时候public class NetworkDispatcher extends Thread {}    ,很明显这是一个线程。则必然有run()方法,因此从队列中获取request并执行都是在run()方法内执行的。所以在RequestQueue类中的start()方法内

2015-06-04 18:09:59 510

原创 Android中的volley_6_volley的核心RequestQueue类

可以说RequestQueue是volley最为核心的类了,其他一切都是围绕着该类进行运转的。之前讲述的Volley类,其主要工作就是创建RequestQueue的实例并start()。用最概括的话来描述RequestQueue就是:汇集所有Request并分发给缓存和网络调度线程。RequestQueue的工作流程是这样的:1.创建RequestQueue实例后,调用start()方

2015-06-04 09:05:33 579

原创 Android中的volley_5_字节数组缓冲池ByteArrayPool 和使用缓冲池技术的自定义的PoolingByteArrayOutputStream

在对响应的实体进行操作的时候,使用到了byte[]   ,由于volley是轻量级频次高的网络请求框架,因此会大量使用到byte[] ,这样的话会频繁创建和销毁byte[]。为了提高性能,volley定义了一个byte[]缓冲池,即ByteArrayPool 。在ByteArrayPool 内,定义了 两个集合,分别是存储按大小顺序排列byte[]的list  和 按使用先后顺序排列byte[

2015-06-03 18:12:49 2795 1

原创 Android中的volley_4_执行网络请求的接口Network及其实现类BasicNetwork

在volley中执行网络请求的接口是Network,其实现类是BasicNetwork。需要注意的是,将Network与HttpStack、HttpClientStack 、HurlStack进行区别。HttpStack是定义网络请求的,是使用HttpClient或者HttpURLConnection来连接网络。Network则是使用HttpStack来执行网络请求。Network接口内定

2015-06-03 17:43:32 1039

原创 Android中的volley_3_网络请求HttpStack、HttpClientStack和HurlStack

在volley中真正的网络请求是由HttpStack定义的,这是一个接口,它唯一的一个方法就是执行网路请求获取响应。而HttpClientStack和HurlStack是该接口的实现类,对应不同的网络请求的底层实现,HttpClientStack是基于HttpClient的,HurlStack是基于HttpURLConnection的。先看HttpStack的源码:package com.

2015-06-02 08:44:43 1570

原创 Android中的volley_2_类Volley

类Volley分析

2015-05-28 18:04:52 498

原创 Android中的volley_1_几篇值得参考的文章

volley出来已经有一段时间,这是一个轻量级的、非常优秀的网络请求框架。有许多文章介绍volley的使用和源码分析。我在学习Volley过程中主要参考了下面的几篇文章,这些文章对我启发很大,并在自己的文章和demo中借鉴了很多。

2015-05-28 11:41:00 499

volley的demo(包括volley源码)

一共两个demo: 1.使用volley.jar进行开发的demo 2.将volley源码添加到工程中,进行演示的demo。最重要的是在源码中添加了很多中文注释。

2015-05-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除