1. Volley框架的優缺點
1) 通信更快更簡單
2) Get,Post網絡請求及網絡圖像的高效率異步處理 請求
3) 排序
4) 網絡請求的緩存
5) 多級別取消請求
6) 和Activity生命週期的聯動
7) 不適合數據的文件上傳下載
2. 解析方式的選擇
StringRequest(包含)
JsonObjectRequest ,JsonArrayRequest 不確定服務器返回數據類型的情況下用上面兩個方法提高解析效率
不確定服務器返回數據
類型的情況下用StringRequest3. 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請求,使用Volley的ImageReqest加載圖片,使用Volley的ImageLoader加載圖片,使用Volley的NetWorkImageView加載圖片,和自定義的Volley請求二次封裝,本代碼的來源源自慕課網的視頻需要的同學不需要再花時間去看視頻,直接拷貝樓主的使用即可,是不是很方便呀!
5 代碼下載鏈接http://download.csdn.net/detail/qq_31546677/9766900
6 Volley框架各個方法請求加載圖片的應用
7 代碼下載地址
http://download.csdn.net/detail/qq_31546677/9775012