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框架使用笔记的更多相关文章

  1. Android Volley框架的使用(1)

    在Android开发中,经常要通过HTTP请求访问网络.为了使通过HTTP请求访问网络的过程更加简单,2013年提出了新的HTTP通信框架--Volley.Volley使用起来非常简单,适用于网络访问 ...

  2. 框架Hibernate笔记系列 基础Session

    标题:框架Hibernate笔记 资料地址: 1. www.icoolxue.com 孔浩 1.背景简介 Hibenate是JBoss公司的产品.它是数据持久化的框架.Usually,我们使用JDBC ...

  3. 安卓中自定义并使用Volley框架请求网络

    大家好,今天我们讲一下如何使用Volley框架请求网络,为何要使用Volley框架,这就要先说一下使用Volley框架请求网络的优点了,volley是易于定制的,即你可以根据需求来设定volley框架 ...

  4. 技术文档--volley 框架

    Volley 框架 参考文档:http://cache.baiducontent.com/c?m=9f65cb4a8c8507ed4fece763105392230e54f73e7e808c027fa ...

  5. Android Volley 框架的使用(一)

    为什么要使用Volley框架 开发android应用很多时候都要涉及网络操作,Android SDK中提供了HttpClient 和 HttpUrlConnection两种方式用来处理网络操作,但当应 ...

  6. Volley框架的流程图分析

          接着上一篇Volley框架的使用,这一篇主要主要讲Volley框架运作的原理.主要使用流程图来叙述,简单的分析了整个流程的过程,具体的请参考源代码或者查看我上一篇在文章末尾添上的链接. 一 ...

  7. phalcon(费尔康)框架学习笔记

    phalcon(费尔康)框架学习笔记 http://www.qixing318.com/article/phalcon-framework-to-study-notes.html 目录结构   pha ...

  8. Android Volley框架的使用(三)

     此博文源码下载地址  https://github.com/Javen205/VolleyDemo.git Image Request 为了更方便的使用Volley中的图片请求,我们同样先在Voll ...

  9. Android Volley框架的使用(二)

     此博文源码下载地址  https://github.com/Javen205/VolleyDemo.git 使用请求队列RequestQueue Volley中的Request都需要添加到Reque ...

随机推荐

  1. codevs 2879 堆的判断

    codevs 2879 堆的判断 http://codevs.cn/problem/2879/ 题目描述 Description 堆是一种常用的数据结构.二叉堆是一个特殊的二叉树,他的父亲节点比两个儿 ...

  2. [LeetCode] K-th Smallest in Lexicographical Order 字典顺序的第K小数字

    Given integers n and k, find the lexicographically k-th smallest integer in the range from 1 to n. N ...

  3. [LeetCode] Largest Number 最大组合数

    Given a list of non negative integers, arrange them such that they form the largest number. For exam ...

  4. 数据集偏斜 - class skew problem - 以SVM松弛变量为例

    原文 接下来要说的东西其实不是松弛变量本身,但由于是为了使用松弛变量才引入的,因此放在这里也算合适,那就是惩罚因子C.回头看一眼引入了松弛变量以后的优化问题: 注意其中C的位置,也可以回想一下C所起的 ...

  5. java 过滤器

    1.什么是过滤器?  过滤信息,执行的优先级高于 servlet 2.自定义过滤器的步骤 写一个普通java类,实现Filter接口 2.配置过滤器  web.xm中 import java.io.I ...

  6. supervisor的安装与简单介绍

    1,介绍 Supervisor是一个进程管理工具,官方的说法 用途就是有一个进程需要每时每刻不断的跑,但是这个进程又有可能由于各种原因有可能中断.当进程中断的时候我希望能自动重新启动它,此时,我就需要 ...

  7. Android基础测试题(四)

    看了前两道题大家有没有发现,测试题少了(一),大家猜猜测试题(一)是什么? Android基础测试题(四): 需求: 建一个方法,格式化输出2016-11-14 10:15:26格式的当前时间,然后截 ...

  8. hibernate- Hibernate中多对多的annotation的写法(中间表可以有多个字段)

    http://blog.csdn.net/liuxianbing119/article/details/7283769

  9. JavaScript 中 onload 事件绑定多个方法

    当需要调用的方法较多时,我们可以进一步优化,编写一个专门用于绑定 onload事件的方法: function addLoadEvent(func) { //把现有的 window.onload 事件处 ...

  10. Hive : UDFArgumentTypeException Exactly one argument is expected.

    Hive执行时Failed.. 分段执行发现排除一些聚合函数或者内置函数后可以正常执行.. 因为Hive-Sql语句比较长..有很多的case when then 排除后发现是聚合函数的用法问题.. ...