前言
大概半年前开始接触并使用Volley吧, 到现在它的高端玩法也没去研究。 最近几天把这个库封装了下VolleyUtils,帮助大家简化步骤,也少踩坑。既然是封装,那就是用起来顺手!
准备
- 添加Volley库 compile ‘com.mcxiaoke.volley:library:1.0.19’
- 把utils和io复制到工程里(以后我会放到maven中)
- 如果你在用demo测试我的工具,不要忘了在manifest中添加网络权限
注意
该工具使用的是单例,方便起见,请在application中添加如下代码以创建请求队列的老大哥
VolleyUtils.getInstance().init(this);
目前支持
- 最基本的四种请求:get, post, delete, put
- 添加header
- 取消请求
- DIY封装Callback
用法示例
简单的 Get
VolleyUtils.getInstance()
.get()
.url("http://www.baidu.com")
.tag("MainActivity")
.addParam("username","bigflower")
.addHeader("Charset", "UTF-8")
.addHeader("content-type", "application/x-www-form-urlencoded")
.Go(new Callback<String>() {
@Override
public void onSuccess(String response) {
// 可以在此更新UI
}
@Override
public void onError(String errorInfo) {
}
});
具体参数
- url(String var1); // 网址
- tag(Object var1); // TAG,用于取消请求
- params(Map< String, String> var1); // 添加所有请求参数
- addParam(String var1, String var2); // 添加一个请求参数key:value
- headers(Map< String, String> var1); // 添加所有的请求头
- addHeader(String var1, String var2); // 添加一个请求头
- setTimes(int timeoutMs); // 设置请求超时时间