您的位置:首页 > 移动开发 > Android开发

Android学习笔记(四):Volley的使用

2015-11-27 10:42 441 查看
转自:/content/2286405.html

使用Volley以Http get的方式请求JSONObject对象,我们需要使用JsonObjectRequest类的构造方法。

new JsonObjectRequest(url,jsonObject,listener)去构造一个请求request。

url:请求的地址。

jsonObject:需要传递的数据,如果是以get方式传递,则为null,如果是以post方式传递,则需要设置数据。

listener:reponse.listener()的实例。

RequestQueue queue = Volley.newRequestQueue(this);
String url = "http://m.weather.com.cn/data/101201401.html";
JsonObjectRequest objRequest = new JsonObjectRequest(url, null,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject obj) {
System.out.println("----------:" + obj);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
error.getMessage();
}

});
objRequest.setTag("obj");
queue.add(objRequest);


如果是以Post方式去请求,需要设置post的数据。

Map<String,String> map=new HashMap<String,String>();
map.put("token", "AbCdEfGh123456");
JSONObject params=new JSONObject(map);

RequestQueue queue = Volley.newRequestQueue(this);
String url = "http://m.weather.com.cn/data/101201401.html";
JsonObjectRequest objRequest = new JsonObjectRequest(url, params,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject obj) {
System.out.println("----------:" + obj);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
error.getMessage();
}

});


在添加当前的request到队列中的时候,我们可以指定优先级,具体是要重写request的getPriority()方法

JsonObjectRequest objRequest = new JsonObjectRequest(url, params,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject obj) {
System.out.println("----------:" + obj);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
error.getMessage();
}

}) {
@Override
public com.android.volley.Request.Priority getPriority() {
return Priority.HIGH;
}
};


如果想要取消当前队列中的request,可以调用cancelAll()。

objRequest.setTag("obj");
queue.add(objRequest);
//取消请求
queue.cancelAll("obj");
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: