原文鏈接:Transmitting Network Data Using Volley
依賴和先決條件:Android 1.6 (API Level 4)或者更高
Volley是一個(gè)HTTP庫(kù)蔑鹦,它使得在Android應(yīng)用上訪問(wèn)網(wǎng)絡(luò)更簡(jiǎn)單,更重要的是途样,更快褐望。
Volley可以通過(guò)Android開(kāi)放源代碼項(xiàng)目(AOSP)倉(cāng)庫(kù)取得憾赁。
Volley提供了一下的便利:
- 自動(dòng)的網(wǎng)絡(luò)請(qǐng)求調(diào)度袖扛。
- 多并發(fā)網(wǎng)絡(luò)連接拦耐。
- 透明的磁盤和內(nèi)存響應(yīng)婶希,使用標(biāo)準(zhǔn)的HTTP高速緩存一致性榕暇。
- 支持請(qǐng)求優(yōu)化
- 取消請(qǐng)求的API。你可以取消單個(gè)請(qǐng)求喻杈,或者取消一些請(qǐng)求彤枢。
- 易于定制,比如筒饰,重試和回退缴啡。
- 強(qiáng)大的排序功能,使的從網(wǎng)絡(luò)異步獲取數(shù)據(jù)并正確填入U(xiǎn)I變得容易瓷们。
- 調(diào)試和跟蹤工具业栅。
Volley擅長(zhǎng)遠(yuǎn)程程序調(diào)用(RPC,remote procedure call)類型操作,來(lái)填入U(xiǎn)I,比如抓取一頁(yè)搜索數(shù)據(jù)并結(jié)構(gòu)化谬晕。它易于與任何協(xié)議先結(jié)合碘裕,然后提供原始的字符串、圖片和JSON支持攒钳。通過(guò)提供內(nèi)建的支持你需要的特性帮孔,Volley使得你從樣板代碼中解放,專注于app的邏輯實(shí)現(xiàn)不撑。
Volley不適合繁重的下載或者流的操作文兢,因?yàn)閂olley會(huì)把解析到的響應(yīng)數(shù)據(jù)保持在內(nèi)存中。對(duì)于繁重的下載操作燎孟,考慮使用替代品禽作,比如DownloadManager尸昧。
Volley的核心庫(kù)揩页,在Android開(kāi)放源代碼項(xiàng)目(AOSP)倉(cāng)庫(kù)的frameworks/volley
中開(kāi)發(fā),并且
contains the main request dispatch pipeline as well as a set of commonly applicable utilities, available in the Volley "toolbox."(沒(méi)理解烹俗,暫時(shí)不翻譯)添加Volley最簡(jiǎn)單的方式是克隆Volley倉(cāng)庫(kù)到你的項(xiàng)目中并設(shè)置為庫(kù)工程爆侣。
- 輸入下面的命令,使用git克隆倉(cāng)庫(kù)
git clone https://android.googlesource.com/platform/frameworks/volley
- 導(dǎo)入下載好的源文件到你的app項(xiàng)目中幢妄,并設(shè)為Android庫(kù)模塊(module)(如果你使用Android Studio兔仰,可以在 Managing Projects from Android Studio看到該名詞module的描述)或者打包成.jar文件。
教程
發(fā)送一個(gè)簡(jiǎn)單的請(qǐng)求
學(xué)完如何通過(guò)Volley的默認(rèn)行為來(lái)發(fā)送一個(gè)簡(jiǎn)單的請(qǐng)求蕉鸳,并知道如何取消一個(gè)請(qǐng)求乎赴。
建立一個(gè)請(qǐng)求隊(duì)列(RequestQueue)
學(xué)習(xí)如何建立一個(gè)RequestQueue
忍法,和如何使用單例模式創(chuàng)建一個(gè)伴隨app而存在的RequestQueue
。
發(fā)起一個(gè)標(biāo)準(zhǔn)的請(qǐng)求
學(xué)習(xí)如何使用Volley現(xiàn)成的請(qǐng)求類型(原始字符串榕吼、圖片和JSON)發(fā)送一個(gè)請(qǐng)求饿序。
實(shí)現(xiàn)自定義的請(qǐng)求
學(xué)習(xí)如何實(shí)現(xiàn)自定義的請(qǐng)求。
項(xiàng)目源碼下載 :點(diǎn)擊下載
系列索引
- 【譯】Volley官方文檔五:實(shí)現(xiàn)一個(gè)自定義的Request
- 【譯】Volley官方文檔四:構(gòu)建一個(gè)標(biāo)準(zhǔn)的Request
- 【譯】Volley官方文檔三:建立一個(gè)RequestQueue
- 【譯】Volley官方文檔二:發(fā)送一個(gè)簡(jiǎn)單的request
- 【譯】Volley官方文檔一:使用Volley傳遞網(wǎng)絡(luò)數(shù)據(jù)
更新日志:
- 2016年03月21日:添加了系列索引
- 2016年03月20日:添加項(xiàng)目源碼