1.volley入门介绍
开发Android应用的时候不可避免地都需要用到网络技术,而多数情况下应用程序都会使用HTTP协议来发送和接收网络数据。Android系统中主要提供了两种方式来进行HTTP通信,HttpURLConnection和HttpClient,几乎在任何项目的代码中我们都能看到这两个类的身影,使用率非常高。
Volley可是说是把AsyncHttpClient和Universal-Image-Loader的优点集于了一身,既可以像AsyncHttpClient一样非常简单地进行HTTP通信,也可以像Universal-Image-Loader一样轻松加载网络上的图片。除了简单易用之外,Volley在性能方面也进行了大幅度的调整,它的设计目标就是非常适合去进行数据量不大,但通信频繁的网络操作,而对于大数据量的网络操作,比如说下载文件等,Volley的表现就会非常糟糕。
下图所示的这些应用都是属于数据量不大,但网络通信频繁的,因此非常适合使用Volley。
2.volley的使用环境配置
(1)添加volley的依赖
github地址:https://github.com/mcxiaoke/android-volley
implementation ‘com.mcxiaoke.volley:library:1.0.19‘
(2)声明网络权限
//网络权限,当禁用后,无法进行检索等相关业务 <uses-permission android:name="android.permission.INTERNET" />
3.StringRequest的用法
(1)获取到一个RequestQueue对象
//取得请求队列 RequestQueue requestQueue = Volley.newRequestQueue(getActivity());
RequestQueue是一个请求队列对象,它可以缓存所有的HTTP请求,然后按照一定的算法并发地发出这些请求。RequestQueue内部的设计就是非常合适高并发的,因此我们不必为每一次HTTP请求都创建一个RequestQueue对象,这是非常浪费资源的,基本上在每一个需要和网络交互的Activity中创建一个RequestQueue对象就足够了。
(2)创建一个StringRequest对象
(3)将这个StringRequest对象添加到RequestQueue里面就可以了
//将请求添加到队列中 requestQueue.add(request);