Android Volley框架的使用(1)
在Android开发中,经常要通过HTTP请求访问网络。为了使通过HTTP请求访问网络的过程更加简单,2013年提出了新的HTTP通信框架--Volley。Volley使用起来非常简单,适用于网络访问频繁、通信数据量小的情况。
下载volley.jar文件并导入工程,加上访问网络的权限,就可以使用Volley框架访问网络了。
<uses-permission android:name="android.permission.INTERNET"/>
访问的过程也十分简单:(1)创建一个请求队列;(2)创建请求对象;(3)将请求对象加入请求队列。这三个步骤完成以后,请求队列就可以自动、并发的实现网络访问了。多个请求对象可以加入到同一个请求队列中,因此一个Activity只需要一个请求队列就行了。
1. 创建请求队列
定义请求队列:
private RequestQueue mQueue;
创建请求队列:
mQueue = Volley.newRequestQueue(MainActivity.this);
2. 创建请求对象并加入请求队列
Volley有两种请求对象:StringRequest和JSONRequest。
(1) StringRequest
    private void stringRequest(){
        StringRequest stringRequest = new StringRequest("http://www.126.com",
                new Response.Listener<String>() {
                    @Override
                    public void onResponse(String response) {
                        Log.i("Response:", response);
                    }
                }, new Response.ErrorListener() {
                    @Override
                    public void onErrorResponse(VolleyError error) {
                        Log.i("Error:", error.getMessage(), error);
                    }
                });
        mQueue.add(stringRequest);
    }
可以看见定义了一个StringRequest对象,然后将其加入到RequestQueue就可以了。StringRequest有三个参数:第一个是要访问的URL(这里是http://www.126.com);第二个是收到服务器响应的回调函数;第三个是服务器响应失败的回调函数。运行的结果如下:

(2) JsonObjectRequest
    private void jsonRequest(){
        JsonObjectRequest jsonObjectRequest = new JsonObjectRequest("http://192.168.199.18:8080/MySchool/aclasquery",
                null,
                new Response.Listener<JSONObject>() {
                    @Override
                    public void onResponse(JSONObject response) {
                        Log.i("Response:", response.toString());
                    }
                },
                new Response.ErrorListener() {
                    @Override
                    public void onErrorResponse(VolleyError error) {
                        Log.i("Error:", error.getMessage(), error);
                    }
                });
        mQueue.add(jsonObjectRequest);
    }
可以看见和StringRequest的使用基本上差不多,只不过StringRequest返回的是字符串,而JsonObjectRequest返回的是一个JSONObject。运行结果如下:

Android Volley框架的使用(1)的更多相关文章
- Android Volley 框架的使用(一)
		
为什么要使用Volley框架 开发android应用很多时候都要涉及网络操作,Android SDK中提供了HttpClient 和 HttpUrlConnection两种方式用来处理网络操作,但当应 ...
 - Android Volley框架的使用(三)
		
此博文源码下载地址 https://github.com/Javen205/VolleyDemo.git Image Request 为了更方便的使用Volley中的图片请求,我们同样先在Voll ...
 - Android Volley框架的使用(二)
		
此博文源码下载地址 https://github.com/Javen205/VolleyDemo.git 使用请求队列RequestQueue Volley中的Request都需要添加到Reque ...
 - Android Volley框架的使用(四)图片的三级缓存策略(内存LruCache+磁盘DiskLruCache+网络Volley)
		
在开发安卓应用中避免不了要使用到网络图片,获取网络图片很简单,但是需要付出一定的代价——流量.对于少数的图片而言问题不大,但如果手机应用中包含大量的图片,这势必会耗费用户的一定流量,如果我们不加以处理 ...
 - 035 Android Volley框架进行网络请求
		
1.volley入门介绍 开发Android应用的时候不可避免地都需要用到网络技术,而多数情况下应用程序都会使用HTTP协议来发送和接收网络数据.Android系统中主要提供了两种方式来进行HTTP通 ...
 - Android Volley框架的几种post提交请求方式
		
首先简单描述一下Google的Android开发团队在2013年推出的一个网络通信框架Volley.它的设计目标是进行数据量不大,但通信频繁的网络操作,而对于大数据量的网络操作,比如下载文件等,Vol ...
 - Android Volley框架的使用(3)
		
4. 加载图片 在实际应用中,经常需要从网络上下载并显示图片.Volley也提供了从网络下载图片的几种方法,这里主要介绍两种方法:ImageRequest和ImageLoader. (1) Image ...
 - Android Volley框架的使用(2)
		
3. 设置请求类型和参数 Volley默认的请求类型是GET,如果需要用POST,可以在构造函数中进行设置.设置参数可以通过重写getParams()方法来实现. private void postR ...
 - Android Volley框架的使用(5)
		
6. 设置超时时间 可以为请求设置超时时间.最大重试次数.重试时间增长因子等.其中new DefaultRetryPolicy()的第一个参数是超时时间,第二个参数是最大重试次数.第三个参数是重试时间 ...
 
随机推荐
- 实战使用Axure设计App,使用WebStorm开发(5) – 实现页面功能
			
系列文章 实战使用Axure设计App,使用WebStorm开发(1) – 用Axure描述需求 实战使用Axure设计App,使用WebStorm开发(2) – 创建 Ionic 项目 实战使 ...
 - [Linux]Linux下redis的安装及配置.
			
在上一篇[Linux] linux下安装配置 zookeeper/redis/solr/tomcat/IK分词器 详细实例. 我们已经将redis所需tar包拷贝到了linux下的root 根目录下, ...
 - paip.重装系统需要备份的资料总结..v2.0  cad
			
paip.重装系统需要备份的资料总结..v2.0 cad 这里我的系统装在C盘..所以需要备份C盘的东西就好了.. 作者Attilax 艾龙, EMAIL:1466519819@qq.com ...
 - C#学习系列-类与结构的区别
			
参考:http://www.microsoftvirtualacademy.com/Content/ViewContent.aspx?et=9851&m=9830&ct=31038 如 ...
 - salesforce 零基础学习(三十九) soql函数以及常量
			
在salesforce中,我们做SOQL查询时,往往需要用到计算式,比如求和,求平均值,或者过滤数据时,往往需要通过时间日期过滤,SOQL已经封装了很多的函数,可以更加方便我们的sql查询而不需要自己 ...
 - iOS开发——网络使用技术OC篇&网络爬虫-使用正则表达式抓取网络数据
			
网络爬虫-使用正则表达式抓取网络数据 关于网络数据抓取不仅仅在iOS开发中有,其他开发中也有,也叫网络爬虫,大致分为两种方式实现 1:正则表达 2:利用其他语言的工具包:java/Python 先来看 ...
 - XML学习笔记4——XSD简单数据类型
			
XSD提供了数据类型,并且支持自定义数据类型,但这一切都是建立在XSD内置数据类型和一套扩展内置数据类型的规则基础之上的,在这一篇笔记中,就来看看XSD中的数据类型. 1.XSD数据类型图 先看一下数 ...
 - Html与CSS快速入门03-CSS基础应用
			
这部分是html细节知识的学习. 快速入门系列--HTML-01简介 快速入门系列--HTML-02基础元素 快速入门系列--HTML-03高级元素和布局 快速入门系列--HTML-04进阶概念 边框 ...
 - 理解模板引擎Razor 的原理
			
Razor是ASP.NET MVC 3中新加入的技术,以作为ASPX引擎的一个新的替代项.简洁的语法与.NET Framework 结合,广泛应用于ASP.NET MVC 项目.Razor Pad是一 ...
 - JS面向对象逆向学习法,让难理解的统统一边去(1)~
			
对于面向对象我只能说呵呵了,为什么呢,因为没对象--- 既然你看到了这里,说明你有一定的基础,虽然本系列文章并不会过多的讲述基础部分,请做好心理准备. 本篇比较简单,这篇文章的意义是让你明白学习面向对 ...