Android網絡請求操作Volley框架的使用

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
發佈了21 篇原創文章 · 獲贊 26 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章