最近常常被推荐使用(且用过之后都说好),这里简要作出一个全局总结
为什么使用volley?
实际项目中我们经常需要频繁使用HTTP进行通信时,适当使用通信框架(或自己封装)可提升代码重用率,大大提高开发速度。
而google开发团队也意识到有必要对HTTP操作进一步简化,volley应运而生。
volley被设计为非常适合数据量不大,但通信频繁的网络操作,而这种操作基本可以满足互联网应用90%的要求。
volley基本用法
既然是框架,总要遵守着优雅易用的设计原则。
1)StringRequest
GET方法:
//第一步:创建请求队列对象(一个activity建立一个就够了)
RequestQueue mQueue = Volley.newRequestQueue(context);
//第二步:创建一个请求实例
StringRequest stringRequest = new StringRequest("http://www.baidu.com",
new Response.Listener
() {
@Override
public void onResponse(String response) {
Log.i("TAG", response);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.i("TAG", error);
}
});
//第三步:将请求对象放到队列中(队列会根据一定方式高效并发这些请求)
mQueue.add(stringRequest);
是不是逻辑友好易于使用
但如何使用POST方法呢?
StringRequest stringRequest = new StringRequest(Method.POST, url, listener, errorListener) {
@Override
protected Map
getParams() throws AuthFailureError {
Map
map = new HashMap
();
map.put("param1", "value1");
map.put("param2", "value2");
return map;
}
};
2)JsonRequest
拥有JsonObjectRequest和JsonArrayRequest两个子类,用法与StringRequest相同。
最后volley是开源的,在一个结构严谨的程序上添加功能是一件令人愉快的事。