Android网络请求操作Volley框架的使用

时间:2021-07-17 19:47:30

1.      Volley框架的优缺点

1)     通信更快更简单

2)     Get,Post网络请求及网络图像的高效率异步处理     请求

3)     排序

4)     网络请求的缓存

5)     多级别取消请求

6)     和Activity生命周期的联动

7)     不适合数据的文件上传下载

2.      解析方式的选择


StringRequest(包含) JsonObjectRequest ,JsonArrayRequest         不确定服务器返回数据类型的情况下用上面两个方法提高解析效率                                                                                                                                                                                                                                                                                                                                              

不确定服务器返回数据

类型的情况下用StringRequest

3.      Volley Get请求

1)     StringRequest实现

// apikey是在聚合数据申请的我申请的网址https://www.juhe.cn/docs/api/id/11
String url = "http://apis.juhe.cn/mobile/get?phone=13429667914&key=3a0152ec37d15dee57b380669fe714a2";

// 1.StringRequest实现
StringRequest request = new StringRequest(Method.GET, url, new Listener<String>() {

@Override
public void onResponse(String response) {
// 号码归属地请求正确返回的结果是一个Json数组
Toast.makeText(MainActivity.this, response, Toast.LENGTH_LONG).show();
Log.i("dsadas", response);

}
}, new Response.ErrorListener() {

@Override
public void onErrorResponse(VolleyError error) {
// 号码归属地请求失败返回的结果是一个error.toString()原因
Toast.makeText(MainActivity.this, error.toString(), Toast.LENGTH_LONG).show();
Log.i("11111dsadas", error.toString());
}
});
request.setTag("abcGet");
MyApplication.getHttpQueues().add(request);

2)     JsonObjectRequest实现

JsonObjectRequest request = new JsonObjectRequest(Method.GET, url,
null, new Listener<JSONObject>() {

@Override
public void onResponse(JSONObject response) {
// 号码归属地请求正确返回的结果是一个Json数组
Toast.makeText(MainActivity.this, response.toString(),
Toast.LENGTH_LONG).show();
Log.i("dsadas", response.toString());
}
}, new Response.ErrorListener() {

@Override
public void onErrorResponse(VolleyError error) {
//号码归属地请求失败返回的结果是一个error.toString()原因
Toast.makeText(MainActivity.this, error.toString(),
Toast.LENGTH_LONG).show();
Log.i("1111dsadas", error.toString());
}
});

3)     JsonArrayRequest实现

JsonArrayRequest request = new JsonArrayRequest(url, new
Listener<JSONArray>() {

@Override
public void onResponse(JSONArray response) {
Toast.makeText(MainActivity.this, response.toString(),
Toast.LENGTH_LONG).show();
Log.i("dsadas", response.toString());
}
}, new Response.ErrorListener() {

@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(MainActivity.this, error.toString(),
Toast.LENGTH_LONG).show();
Log.i("11111111dsadas", error.toString());
}
});

request.setTag("abcGet");
MyApplication.getHttpQueues().add(request);

4      剩下的部分楼主就不一一粘贴了,有需要的下载代码链接

使用的开发工具还是eclipse,剩下Volley Post请求,使用VolleyImageReqest加载图片,使用VolleyImageLoader加载图片,使用VolleyNetWorkImageView加载图片,和自定义的Volley请求二次封装,本代码的来源源自慕课网的视频需要的同学不需要再花时间去看视频,直接拷贝楼主的使用即可,是不是很方便呀!

5 代码下载链接

http://download.csdn.net/detail/qq_31546677/9766900
6 Volley框架各个方法请求加载图片的应用

7 代码下载地址

http://download.csdn.net/detail/qq_31546677/9775012