android开发(40) 初试 Volley - GoogleI02013上的“快速,简单的网络通讯库”
2024-10-17 21:29:31
什么是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
怎么用?
- 构建一个“请求队列“RequestQueue
- 构建请求Request,支持 StringRequest,JsonRequest,并可以自定义Request
- 构建 回调监听器 ,它将在请求处理完成后被调用。
- 将请求添加到队列
演示代码
简单的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 示例
最新文章
- mac ssh localhost
- HYSBZ 4551 (树状数组) 采花
- win8 vs2010 openni2 配置
- bower 问题
- 跟随标准与Webkit源码探究DOM -- 获取元素之getElementsByName
- gtest功能测试一
- 过程式编程 drawShapes
- UVALive 5111 Soccer Teams (动态规划)
- cflow察看工程函数调用关系+Linux 0.11 内核实验环境
- 基于visual Studio2013解决算法导论之013基数排序
- Xcode使用小结1
- crypto加密
- spring data redis template GenericJackson2JsonRedisSerializer的使用
- [Python数据挖掘]第8章、中医证型关联规则挖掘
- 404.17 - 动态内容通过通配符 MIME 映射映射到静态文件处理程序
- I2C总线协议图解
- 深入理解类成员函数的调用规则(理解成员函数的内存为什么不会反映在sizeof运算符上、类的静态绑定与动态绑定、虚函数表)
- 虚拟机centos 7联网设置之NAT方式
- Vue -- vue-cli(vue脚手架) npm run build打包优化
- 这个不是第一次作业----艰难的安装Android studio历程
热门文章
- Java 8 – Filter a Map examples
- IDEA快捷键收集
- python 元类(metaclass)
- php分享十五:php的数据库操作
- MySql(九):MySQL性能调优——Schema设计的性能优化
- virtualbox和vagrant卸载脚本在macbook
- jquery 获取URL参数并转码的例子
- Push UIViewController with different orientation to previous
- Codeforces Round #Pi (Div. 2)(A,B,C,D)
- 数据库的ACID