网络框架-volley
来源:互联网 发布:floyd算法 路径 编辑:程序博客网 时间:2024/06/05 05:36
- volley介绍
2013年Google I/O大会上推出了一个新的网络通信框架——Volley。Volley可是说是把AsyncHttpClient和Universal-Image-Loader的优点集于了一身,既可以像AsyncHttpClient一样非常简单地进行HTTP通信,也可以像Universal-Image-Loader一样轻松加载网络上的图片。除了简单易用之外,Volley在性能方面也进行了大幅度的调整,它的设计目标就是非常适合去进行数据量不大,但通信频繁的网络操作,而对于大数据量的网络操作,比如说下载文件等,Volley的表现就会非常糟糕。 StringRequest的用法
`RequestQueue mQueue = Volley.newRequestQueue(context);StringRequest stringRequest = new StringRequest("http://www.baidu.com", new Response.Listener<String>() { @Override public void onResponse(String response) { Log.d("TAG", response); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { Log.e("TAG", error.getMessage(), error); } });
mQueue.add(stringRequest);
//将StringRequest对象添加到RequestQueue里面
`
new出了一个StringRequest对象,StringRequest的构造函数需要传入三个参数,第一个参数就是目标服务器的URL地址,第二个参数是服务器响应成功的回调,第三个参数是服务器响应失败的回调。其中,目标服务器地址我们填写的是百度的首页,然后在响应成功的回调里打印出服务器返回的内容,在响应失败的回调里打印出失败的详细信息。
post的用法
String url="http://www.baidu.com"; Listener<String> listener=new Listener<String>() { @Override public void onResponse(String response) { Log.d("TAG", response); } }; ErrorListener errorListener=new ErrorListener() { @Override public void onErrorResponse(VolleyError error) { Log.e("TAG", error.getMessage(), error); } }; StringRequest stringRequest = new StringRequest(Method.POST, url, listener, errorListener) { @Override protected Map<String, String> getParams() throws AuthFailureError { Map<String, String> map = new HashMap<String, String>(); map.put("params1", "value1"); map.put("params2", "value2"); return map; } }; }
3.JsonRequest的用法。类似于StringRequest,JsonRequest也是继承自Request类的,不过由于JsonRequest是一个抽象类,因此我们无法直接创建它的实例,那么只能从它的子类入手了。JsonRequest有两个直接的子类,JsonObjectRequest和JsonArrayRequest,从名字上你应该能就看出它们的区别了吧?一个是用于请求一段JSON数据的,一个是用于请求一段JSON数组的。
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest("http://m.weather.com.cn/data/101010100.html", null, new Response.Listener<JSONObject>() { @Override public void onResponse(JSONObject response) { Log.d("TAG", response.toString()); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { Log.e("TAG", error.getMessage(), error); } });
可以看到,这里我们填写的URL地址是http://m.weather.com.cn/data/101010100.html,这是中国天气网提供的一个查询天气信息的接口,响应的数据就是以JSON格式返回的,然后我们在onResponse()方法中将返回的数据打印出来。
最后再将这个JsonObjectRequest对象添加到RequestQueue里就可以了务器返回给我们的数据确实是JSON格式的,并且onResponse()方法中携带的参数也正是一个JSONObject对象,之后只需要从JSONObject对象取出我们想要得到的那部分数据就可以了。
你应该发现了吧,JsonObjectRequest的用法和StringRequest的用法基本上是完全一样的
- 网络请求框架---Volley
- 网络通信框架Volley
- Volley网络框架详解
- Android网络框架Volley
- Android网络框架Volley
- Android网络框架Volley
- Andoid 网络框架--Volley
- 网络框架Volley
- android 网络框架 volley
- android Volley网络框架
- 12.网络框架volley
- Volley网络请求框架
- Android网络框架Volley
- 网络请求框架---Volley
- 网络请求框架-Volley
- Android网络框架Volley
- volley网络框架
- Volley-----网络请求框架
- Mysql常见sql
- 【usaco 2013 feb Bronze】信息传递
- 以下是C++的不同数据类型值的比较语句,请问这些判断语句中作为条件部分的语句编写有问题的有:
- 什么是html5
- 《Windows程序设计》读书笔十 菜单和其他资源
- 网络框架-volley
- 7.2 相关向量机
- sql中的触发器
- Longest Valid Parentheses
- 句子逆序
- 阿里云反欺诈——风险识别
- 【python学习笔记】函数式编程:返回函数
- Flask总结(二):URL映射
- Hello World