Volley使用
volley是進行HTTP通信的庫,volley封裝了HTTP請求過程和響應過程,用Request作為HTTP的請求對象,Response作為HTTP的響應對象,Volley既可以使用StringRequest、JsonRequest發送HTTP請求獲取字符串數據,也可以使用ImageRequest、ImageLoader、NetworkImageView加載圖片。
使用:使用StringRequest,首先要新建一個請求隊列對象RequestQueue,請求隊列緩存所有的HTTP請求,然后新建StringRequest對象,StringRequest對象中包含了服務器的URL地址、服務器響應成功的回調接口,服務器響應失敗的回調接口,也可以指定發送方式,默認是GET請求,如果要發送POST請求的話,StringRequest要重寫父類(Request)的getParams(),在其中添加POST包體,最后把StringRequest對象添加到RequestQueue中,RequestQueue會按照一定的算法并發地發出這些請求。JsonRequest(它是抽象類,子類有JsonObjectRequest和JsonArrayRequest)和StringRequest類似,同樣繼承了Request類,把JsonRequest添加進請求隊列后,請求成功的話,可以獲取到服務器返回的json數據。ImageRequest同樣繼承了Request類,用于請求網絡上的一張圖片,用法和獲取字符串的請求類似,ImageLoader、NetworkImageView也可以加載網絡上的圖片。
Volley庫主要靠三種線程實現,包括主線程、緩存線程、網絡線程,我們一般在主線程中調用RequestQueue的add()方法來添加一條網絡請求,這條請求會先被加入到緩存隊列當中,如果發現有相應的緩存結果就直接讀取緩存并解析,然后回調給主線程。如果在緩存中沒有找到結果,就將這條請求加入到網絡請求隊列當中,然后發送HTTP請求,再解析響應結果,然后把響應結果寫入緩存,之后回調給主線程。
參考鏈接:
http://blog.csdn.net/ysh06201418/article/details/46443235
總結
- 上一篇: 我的世界合成表
- 下一篇: 一文了解AUTOSAR网络管理