volley使用与解析(一)

1、什么是volley


Volley是google发布的基于Android平台上的网络通信库,能使网络通信更快,更简单,更健壮。
获取地址:git clone https://android.googlesource.com/platform/frameworks/volley 然后自行编译成可用的jar
优点:
JSON,图像等的异步下载;
网络请求的排序(scheduling)
网络请求的优先级处理
缓存
多级别取消请求
和Activity和生命周期的联动(Activity结束时同时取消所有网络请求)

2、简单使用

(创建请求队列==创建请求对象==将请求对象添加到队列)


创建一个请求队列RequestQueue mQueue = Volley.newRequestQueue(context);
然后 创建一个请求对象StringRequest stringRequest = new StringRequest
把请求对象放到请求队列里面 就可以了 StringRequest stringRequest = new StringRequest
// 当需要返回结果是String 的时候 用StringRequest 当需要是json 的时候 使用 JsonObjectRequest
当然了 要加上对应的网络请求权限
<uses-permission android:name="android.permission.INTERNET" />

3、示例

// 创建队列
		RequestQueue rq = Volley.newRequestQueue(getApplicationContext());
		// 创建请求对象 get
		StringRequest sr = new StringRequest(mybaseUrl, new Listener<String>() {
			@Override
			public void onResponse(String response) {
				System.out.println(response);
			}
		}, new ErrorListener() {
			@Override
			public void onErrorResponse(VolleyError error) {
				System.out.println(error.getMessage());
			}
		});
		// 加入队列
		rq.add(sr);

  

	// post 请求
		StringRequest srPost = new StringRequest(Method.POST, mybaseUrl,
				new Listener<String>() {
					@Override
					public void onResponse(String response) {
						// TODO Auto-generated method stub

					}
				}, new ErrorListener() {

					@Override
					public void onErrorResponse(VolleyError error) {
						// TODO Auto-generated method stub
					}
				}) {
			@Override
			protected Map<String, String> getParams() throws AuthFailureError {
				Map<String, String> map = new HashMap<String, String>();
				map.put("abc", "shsh");
				return map;
			}
		};

		rq.add(srPost);
		

  

	// 当需要返回结果是String 的时候 用StringRequest 当需要是json 的时候 使用 JsonObjectRequest
		JsonObjectRequest js = new JsonObjectRequest(mybaseUrl, null,
				new Listener<JSONObject>() {

					@Override
					public void onResponse(JSONObject response) {
						// TODO Auto-generated method stub

					}
				}, new ErrorListener() {

					@Override
					public void onErrorResponse(VolleyError error) {

					}
				});

	}

  

原文地址:https://www.cnblogs.com/kukum/p/android_volley.html