Volley框架使用笔记
1.初始化请求队列 RequestQueue
RequestQueue queue= Volley.newRequestQueue(context);
2.StringRequest 网络请求
Get请求
StringRequest request = new StringRequest(
"http://www.baidu.com/",
new Response.Listener<String>() {
@Override
public void onResponse(String arg0) { //收到成功应答后会触发这里 }
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) { //出现连接错误会触发这里 }
}
);
Post 请求
StringRequest request = new StringRequest(
Request.Method.POST,
"http://xxx.xxx.xxx",
new Response.Listener<String>() {
@Override
public void onResponse(String s) {
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
}
}
) {
@Override
public Map<String, String> getHeaders() throws AuthFailureError { //设置头信息
Map<String, String> map = new HashMap<String, String>();
map.put("Content-Type", "application/x-www-form-urldecoded");
return map;
}
@Override
protected Map<String, String> getParams() throws AuthFailureError { //设置参数
Map<String, String> map = new HashMap<String, String>();
map.put("name", "王雪猪");
map.put("password", "123456");
return map;
}
/**
* 可以对返回的reponse做处理, NetworkResponse里面包括状态码,头信息,内容数据,是否缓存在本地,花费的时间(ms)等内容
**/
@Override
protected Response<String> parseNetworkResponse(
NetworkResponse response) {
// 比如下面的例子是取头信息里的cookie数据
/*
* String mCookie;
* for (String s : response.headers.keySet()) {
* if (s.contains("Set-Cookie")) { mCookie =
* response.headers.get(s); break; } }
*/
return super.parseNetworkResponse(response);
} };
可以通过复写里面的方法把数据给传进去
3.JsonObjectRequest 基本使用
JsonObjectRequest request = new JsonObjectRequest(
"http://xxx.xxx.xx",
jsonObject,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject jsonObject) {
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
}
}
) {
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
Map<String, String> map = new HashMap<String, String>();
map.put("Cookie", mCookie);
return map;
}
};
最后只要再把成功监听器里拿到的数据处理就能使用了。
post传到服务器上时已经是json格式,接着在服务器里处理,返回的也要是json格式的数据,否则会导致数据错误(无法转化成JSONObject格式)。
4.未完待续
Volley框架使用笔记的更多相关文章
- Android Volley框架的使用(1)
在Android开发中,经常要通过HTTP请求访问网络.为了使通过HTTP请求访问网络的过程更加简单,2013年提出了新的HTTP通信框架--Volley.Volley使用起来非常简单,适用于网络访问 ...
- 框架Hibernate笔记系列 基础Session
标题:框架Hibernate笔记 资料地址: 1. www.icoolxue.com 孔浩 1.背景简介 Hibenate是JBoss公司的产品.它是数据持久化的框架.Usually,我们使用JDBC ...
- 安卓中自定义并使用Volley框架请求网络
大家好,今天我们讲一下如何使用Volley框架请求网络,为何要使用Volley框架,这就要先说一下使用Volley框架请求网络的优点了,volley是易于定制的,即你可以根据需求来设定volley框架 ...
- 技术文档--volley 框架
Volley 框架 参考文档:http://cache.baiducontent.com/c?m=9f65cb4a8c8507ed4fece763105392230e54f73e7e808c027fa ...
- Android Volley 框架的使用(一)
为什么要使用Volley框架 开发android应用很多时候都要涉及网络操作,Android SDK中提供了HttpClient 和 HttpUrlConnection两种方式用来处理网络操作,但当应 ...
- Volley框架的流程图分析
接着上一篇Volley框架的使用,这一篇主要主要讲Volley框架运作的原理.主要使用流程图来叙述,简单的分析了整个流程的过程,具体的请参考源代码或者查看我上一篇在文章末尾添上的链接. 一 ...
- phalcon(费尔康)框架学习笔记
phalcon(费尔康)框架学习笔记 http://www.qixing318.com/article/phalcon-framework-to-study-notes.html 目录结构 pha ...
- Android Volley框架的使用(三)
此博文源码下载地址 https://github.com/Javen205/VolleyDemo.git Image Request 为了更方便的使用Volley中的图片请求,我们同样先在Voll ...
- Android Volley框架的使用(二)
此博文源码下载地址 https://github.com/Javen205/VolleyDemo.git 使用请求队列RequestQueue Volley中的Request都需要添加到Reque ...
随机推荐
- AngularJS入门教程
1. 简介:AngularJS是为了克服HTML在构建应用上的不足而设计的.HTML是一门很好的为静态文本展示设计的声明式语言,但要构建WEB应用的话它就显得乏力了.所以我做了一些工作(你也可以觉得是 ...
- vue.js 第四课
(1).插值:在view层上显示model的资料. (2).绑定表达式:在view层上 执行js命令. (3).指令:在view层上 执行写好的功能. (4).缩写:v-bind 绑定 特性 v-on ...
- CocoaPods的那些坑
CocoaPods的那些坑 文章转自http://blog.csdn.net/zhanniuniu/article/details/52159362#comments 我跟博主的经历超级像!不过自己用 ...
- DataTable ajax分页+删除+查询+修改
这个框架前前后后跳进了很多次坑,也算是本人比较愚笨吧做了很长的时间而积累的经验... dataTable用了很久,今天在此总结一下使用方法以及常用属性的解释. Html代码 : <div cla ...
- 微软 消息队列 MessageQueue 简单使用
1.在服务电脑上打开 消息队列 ①进入控制面板>程序>启用或关闭windows功能 ②将需要的勾选(我自己全选了哈哈哈) ③我的电脑 右键 打开管理 见到消息队列 在专用队列上新建专用队列 ...
- MYSQL远程登录权限设置 ,可以让Navicat远程连接服务器的数据库
Mysql默认关闭远程登录权限,如下操作允许用户在任意地点登录: 1. 进入mysql,GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY ...
- AnjularJS系列2 —— 表单控件功能相关指令
第二篇,表单控件功能相关指令. ng-checked控制radio和checkbox的选中状态 ng-selected控制下拉框的选中状态 ng-disabled控制失效状态 ng-multiple控 ...
- Java虚拟机浅探
简介 对于java开发人员了来说,对java虚拟机肯定有着或多或少的了解.因为有了虚拟机的存在,才会使得java的内存管理变得那么方便,不再像C++那样使用new/delete来直接管理内存.知名的j ...
- mac机快捷键操作
1. 屏幕最大和缩小:command+ctrl +f 2.切换应用:comand+tab, 3.大小写转换:comand + 空格 4.切换到下/上一个标签页:同时按 ⌘-Option 和向右/左箭头 ...
- UITextField set placeholderColor and UITextField set clearButton Image
self.usernameTextField.tintColor = [UIColor whiteColor]; [self.usernameTextField setValue:UIColorFro ...