码迷,mamicode.com
首页 > 其他好文 > 详细

Volley的基本使用

时间:2014-08-10 10:15:30      阅读:298      评论:0      收藏:0      [点我收藏+]

标签:android   style   blog   http   color   java   使用   io   

本人初学,如有纰缪,望指正~
 
    Volley是Google在2003年的I/O大会上推出的通信框架,结合了AsyncHttpClient和Universal-Image-Loader的优点——简化了http的使用 + 异步加载图片的神奇能力。Android中的Http实现主要有HttpUrlConnection和HttpClient两种,关于二者的选择Google在Blog中表示推荐在姜饼小人(API level = 9)及以上的版本中使用Java的HttpUrlConnection而在之前的版本使用Apache的HttpClient,这在Volley这个框架中也有明确的体现。
 
获取Volley
git clone https://android.googlesource.com/platform/frameworks/volley
把它编译成jar文件就可以加入libs了
 
简单的请求(以StringRequest为例)
    Http的通信最主要的部分应该就是发出请求和接收响应了,所以Volley的比较核心的一个类就是RequestQueue,一个请求队列。它负责管理工作线程,读写缓存,和解析、分发响应(具体操作还是由具体的类实现),即将发出的Http请求都会首先聚集在这里等待工作线程来实现请求。RequestQueue可以被看成一艘载满Http请求的航空母舰,而工作线程就是弹射器喽。
所以按照航母起飞飞机的步骤,我们可以猜到利用Volley进行Http通信的简单步骤:
1.获取RequestQueue(得到一艘航母,可以是自己造的,也可以是委托别人造的,下面会提到)
2.实例化一个Request(得到一架飞机,你也知道飞机又很多类型啦)
3.将Request加入RequestQueue,等待工作线程将其发送出去(把飞机从机库升上起飞甲板,等待弹射器把它扔出去)
 
起飞侦察机-发出GET请求
 
按照上面的步骤,第一步就是建立一个请求队列,最简单的方法就是用Volley.newRequestQueue(),这是一个特别方便的静态方法,替我们默认实现了所有需要的东西(网络、缓存等,这些在Volley中都有默认实现),它会返回一个已经开始运行的RequestQueue(相当于别人帮忙造了艘航母)。之后我们需要的只是设置好请求的响应监听接口,把请求加入到这个队列中就可以等着响应数据来敲门了。下面是Google文档中的示例代码:
 1 //初始化一个请求队列
 2 RequestQueue queue = Volley.newRequestQueue(this);
 3 String url ="http://www.google.com";
 4 
 5 //根据给定的URL新建一个请求
 6 StringRequest stringRequest = new StringRequest(Request.Method.GET, url,
 7             new Response.Listener() {
 8     @Override
 9     public void onResponse(String response) {
10         // 在这里尽情蹂躏String类型的响应。
11     }
12 }, new Response.ErrorListener() {
13     @Override
14     public void onErrorResponse(VolleyError error) {
15         // 出错了怎么办?凉拌!并且在这里拌。
16     }
17 });
18 // 把这个请求加入请求队列
19 queue.add(stringRequest);

 

Volley的基本使用,布布扣,bubuko.com

Volley的基本使用

标签:android   style   blog   http   color   java   使用   io   

原文地址:http://www.cnblogs.com/liu37130/p/3902390.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!