Volley的基本使用_移动开发_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > 移动开发 > Volley的基本使用

Volley的基本使用

 2014/8/10 11:05:56  liu37130  程序员俱乐部  我要评论(0)
  • 摘要:本人初学,如有纰缪,望指正~Volley是Google在2003年的I/O大会上推出的通信框架,结合了AsyncHttpClient和Universal-Image-Loader的优点——简化了http的使用+异步加载图片的神奇能力。Android中的Http实现主要有HttpUrlConnection和HttpClient两种,关于二者的选择Google在Blog中表示推荐在姜饼小人(APIlevel=9
  • 标签:使用
本人初学,如有纰缪,望指正~       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);

 

上一篇: iPhone 6发布倒计时! 下一篇: 没有下一篇了!
发表评论
用户名: 匿名