什么是Volley

Google I/O 2013上,Volley发布了。Volley是Android平台上的网络通信库,能使网络通信更快,更简单,更健壮。
这是Volley名称的由来: a burst or emission of many things or a large amount at once

特点

支持JSON,图片,二进制文本,内存和磁盘缓存,强力的自定义能力,debug和跟踪工具

如何获得?

我在 云盘 放了编译好的 http://yunpan.cn/cg7S8awftBsmp 访问密码 b1bf

怎么用?

  1. 构建一个“请求队列“RequestQueue
  2. 构建请求Request,支持 StringRequest,JsonRequest,并可以自定义Request
  3. 构建 回调监听器 ,它将在请求处理完成后被调用。
  4. 将请求添加到队列

演示代码

简单的http方式的GET 演示:

public class SimpleGetActivity extends Activity {
RequestQueue mRequestQueue;
TextView txt_msg; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.simple_get);
txt_msg = (TextView) findViewById(R.id.txt_msg); mRequestQueue = Volley.newRequestQueue(this);
} public void btn1OnClick(View v) {
String url = "http://www.baidu.com"; StringRequest req = new StringRequest(Method.GET, url,
responseListener, mErrorListener); mRequestQueue.add(req);
} Listener<String> responseListener =new Listener<String>() { @Override
public void onResponse(String str1) {
txt_msg.setText(str1);
}
}; ErrorListener mErrorListener = new ErrorListener() { @Override
public void onErrorResponse(VolleyError volleyError) { Toast.makeText(getBaseContext(), volleyError.getMessage(), 0).show();
}
}; }

使用POST方式发送参数

public class ParasPostActivity extends Activity {
RequestQueue mRequestQueue;
TextView txt_msg; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_paras_post);
txt_msg = (TextView) findViewById(R.id.txt_msg); mRequestQueue = Volley.newRequestQueue(this);
} public void btn1OnClick(View v) {
String url = Constants.URL_FOR_DEMO1; StringRequest req = new StringRequest(Method.POST, url,
responseListener, mErrorListener){
@Override
protected Map<String, String> getParams()
throws AuthFailureError {
return new ApiParams().with("key1", "v1").with("key2", "v2");
}
};
mRequestQueue.add(req);
} Listener<String> responseListener =new Listener<String>() { @Override
public void onResponse(String str1) {
txt_msg.setText(str1);
}
}; ErrorListener mErrorListener = new ErrorListener() { @Override
public void onErrorResponse(VolleyError volleyError) { Toast.makeText(getBaseContext(), volleyError.getMessage(), 0).show();
}
}; }

注意传参时,是通过匿名类实现的,重载了getParams 方法

参考:

http://blog.csdn.net/t12x3456/article/details/9221611

me.storm.volley 示例

android开发(40) 初试 Volley - GoogleI02013上的“快速,简单的网络通讯库”的更多相关文章

  1. Android开发笔记——以Volley图片加载、缓存、请求及展示为例理解Volley架构设计

    Volley是由Google开源的.用于Android平台上的网络通信库.Volley通过优化Android的网络请求流程,形成了以Request-RequestQueue-Response为主线的网 ...

  2. Android开发学习了这些,上帝都淘汰不了你

    曾听过很多人说Android学习很简单,做个App就上手了,工作机会多,毕业后也比较容易找工作.这种观点可能是很多Android开发者最开始入行的原因之一. 在工作初期,工作主要是按照业务需求实现Ap ...

  3. 《android开发进阶从小工到专家》读书笔记--HTTP网络请求

    No1: 客户端与服务器的交互流程: 1)客户端执行网络请求,从URL中解析出服务器的主机名 2)将服务器的主机名转换成服务器的IP地址 3)将端口号从URL中解析出来 4)建立一条从客户端与Web服 ...

  4. android开发笔记之Volley (1)

    1. volley的简介 Volley is an HTTP library that makes networking for Android apps easier and most import ...

  5. Android 开发 框架系列 OkHttp文件上传功能实现(含断点续传)

    前言 此篇博客只是上传功能的记录demo,如果你还不太了解okhttp可以参考我的另一篇博客https://www.cnblogs.com/guanxinjing/p/9708575.html 代码部 ...

  6. 5.21学习总结——android开发实现用户头像的上传

    最近在做个人头像的上传,具体是能调用摄像头和从相册进行选择.本篇文章参考的我的同学的博客,大家有兴趣可以去原作者那里去看看: Hi(.・∀・)ノ (cnblogs.com) 1.使用glide进行图片 ...

  7. android开发工具类之获得WIFI IP地址或者手机网络IP

    有的时候我们需要获得WIFI的IP地址获得手机网络的IP地址,这是一个工具类,专门解决这个问题,这里需要两个权限: <uses-permission android:name="and ...

  8. 【Android】Android开发实现进度条效果,SeekBar的简单使用。音量,音乐播放进度,视频播放进度等

    作者:程序员小冰,GitHub主页:https://github.com/QQ986945193 新浪微博:http://weibo.com/mcxiaobing 首先给大家看一下我们今天这个最终实现 ...

  9. 我的Android进阶之旅】GitHub 上排名前 100 的 Android 开源库进行简单的介绍

    GitHub Android Libraries Top 100 简介 本文转载于:https://github.com/Freelander/Android_Data/blob/master/And ...

随机推荐

  1. Logstash+ElasticSearch+Kibana处理nginx访问日志(转)

    ELK似乎是当前最为流行的日志收集-存储-分析的全套解决方案. 去年年初, 公司里已经在用, 当时自己还山寨了一个统计系统(postgresql-echarts, 日志无结构化, json形式存储到p ...

  2. application配置和profile隔离配置(转)

    前言 github: https://github.com/vergilyn/SpringBootDemo 说明:我代码的结构是用profile来区分/激活要加载的配置,从而在一个project中写各 ...

  3. Macos mysql 8.0.11 添加配置文件

    mac 安装mysql 后,没有配置文件,如果需要添加配置文件,需要在/etc 目录下面添加 my.cnf 文件. 添加方法 打开文件命令:sudo vi  /etc/my.cnf 文件添加内容: [ ...

  4. 如何在PHP项目中使用phinx进行数据迁移和建表

    建表 phinx\bin\phinx.bat migrate -e production 建设 phinx.yml文件 paths: migrations: %%PHINX_CONFIG_DIR%%\ ...

  5. centos 7 下图形验证码乱码

    工作中遇到一个问题:同样的代码在centos 6.5下图形验证码是正常的 但是在centos 7下面是乱码 centos 6.5 的系统字体库目录 [wwwad@P2P-test2 fonts]$ p ...

  6. php分享二十二:php面向对象

    1:static访问符 在类中使用static有两种主要用途.定义静态成员和定义静态方法.静态成员只保留一个变量的值,这个值对所有实例都是有效的 类的方法是static的,他所访问的属性也必须是sta ...

  7. Tomcat7环境下面MySQL 56/Oracle数据库连接池的配置

    环境: Tomcat7 MySQL56 mysql-connector-java-3.1.10-bin.jar 步骤: 1. 配置context.xml 此文件位于~\tomcat7\conf目录下面 ...

  8. C++/C课程设计(2)工资管理系统功能说明

    原文取自个人博客:www.jycoder.com欢迎訪问 百度网盘下载源码:Demo.zip 百度网盘下载软件文档:软件文档.zip 工资管理系统 一,     基本功能要求: 1)以password ...

  9. 【Unity】12.4 通过网格分层选择行进路线

    开发环境:Win10.Unity5.3.4.C#.VS2015 创建日期:2016-05-09 一.简介 在具体的游戏情景中,通过分层可以控制物体的行进路线,比如哪些物体只能住水面上行进,哪些物体只能 ...

  10. 【Unity】2.6 游戏视图(Game)

    分类:Unity.C#.VS2015 创建日期:2016-03-29 一.简介 游戏视图 (Game View) 从游戏的相机 ((Camera(s)) 中呈现,代表所发布游戏的最终版.你将需要一台或 ...