Android 使用 Volley 傳輸網(wǎng)絡(luò)數(shù)據(jù)

2018-08-02 17:44 更新

編寫:kesenhoo - 原文:http://developer.android.com/training/volley/index.html

Volley 是一個 HTTP 庫,它能夠幫助 Android app 更方便地執(zhí)行網(wǎng)絡(luò)操作,最重要的是,它更快速高效。我們可以通過開源的 AOSP 倉庫獲取到 Volley 。

YOU SHOULD ALSO SEE

使用 Volley 來編寫一個 app,請參考2013 Google I/O schedule app。另外需要特別關(guān)注下面2個部分:

VIDEO - Volley: Easy,Fast Networking for Android


Volley 有如下的優(yōu)點:

  • 自動調(diào)度網(wǎng)絡(luò)請求。
  • 高并發(fā)網(wǎng)絡(luò)連接。
  • 通過標(biāo)準(zhǔn)的 HTTP cache coherence(高速緩存一致性)緩存磁盤和內(nèi)存透明的響應(yīng)。
  • 支持指定請求的優(yōu)先級。
  • 撤銷請求 API。我們可以取消單個請求,或者指定取消請求隊列中的一個區(qū)域。
  • 框架容易被定制,例如,定制重試或者回退功能。
  • 強大的指令(Strong ordering)可以使得異步加載網(wǎng)絡(luò)數(shù)據(jù)并正確地顯示到 UI 的操作更加簡單。
  • 包含了調(diào)試與追蹤工具。

Volley 擅長執(zhí)行用來顯示 UI 的 RPC 類型操作,例如獲取搜索結(jié)果的數(shù)據(jù)。它輕松的整合了任何協(xié)議,并輸出操作結(jié)果的數(shù)據(jù),可以是原始的字符串,也可以是圖片,或者是 JSON。通過提供內(nèi)置的我們可能使用到的功能,Volley 可以使得我們免去重復(fù)編寫樣板代碼,使我們可以把關(guān)注點放在 app 的功能邏輯上。

Volley 不適合用來下載大的數(shù)據(jù)文件。因為 Volley 會保持在解析的過程中所有的響應(yīng)。對于下載大量的數(shù)據(jù)操作,請考慮使用 DownloadManager。

Volley 框架的核心代碼是托管在 AOSP 倉庫的 frameworks/volley 中,相關(guān)的工具放在 toolbox 下。把 Volley 添加到項目中最簡便的方法是 Clone 倉庫,然后把它設(shè)置為一個 library project:

  1. 通過下面的命令來Clone倉庫:

     git clone https://android.googlesource.com/platform/frameworks/volley
    
  2. 以一個 Android library project 的方式導(dǎo)入下載的源代碼到你的項目中。(如果你使用 Eclipse,請參考 Managing Projects from Eclipse with ADT,或者編譯成一個 .jar 文件。

Lessons

發(fā)送一個簡單的網(wǎng)絡(luò)請求(Sending a Simple Request)

學(xué)習(xí)如何通過 Volley 默認(rèn)的行為發(fā)送一個簡單的請求,以及如何取消一個請求。

建立一個請求隊列(Setting Up a RequestQueue)

學(xué)習(xí)如何建立一個請求隊列(RequestQueue),以及如何實現(xiàn)一個單例模式來創(chuàng)建一個請求隊列,使 RequestQueue 能夠持續(xù)保持在我們 app 的生命周期中。

生成一個標(biāo)準(zhǔn)的請求(Making a Standard Request)

學(xué)習(xí)如何使用 Volley 的 out-of-the-box(可直接使用、無需配置)請求類型(原始字符串、圖片和 JSON)來發(fā)送一個請求。

實現(xiàn)自定義的請求(Implementing a Custom Request)

學(xué)習(xí)如何實現(xiàn)一個自定義的請求。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號