2015-11-25 122 views
0

我想從互聯網上拉下JSON對象。我見過很多HTTP Client的例子,但我從documentation讀到我應該使用哪個API或庫來獲取JSON對象

Android 6.0版本刪除了對Apache HTTP客戶端的支持。如果您的應用正在使用此客戶端並且目標爲Android 2.3(API級別9)或更高,請改爲使用HttpURLConnection類。此API更高效,因爲它通過透明壓縮和響應緩存減少了網絡使用,並最大限度地降低了功耗。要繼續使用Apache HTTP API,您必須首先聲明以下編譯時依賴於你的build.gradle文件:

所以我應該使用HttpURLConnection,因爲我發現,有些人是用一種叫做Volley庫。

+0

如果關於向棄用,其實,你可以很容易地找到排球仍然使用過時的Apache庫:) – BNK

回答

0

如果你真的沒有在你的應用中做任何繁重的工作,比如下載視頻等,google android volley現在是你的最佳選擇。

Volley是谷歌開發並在Google I/O 2013期間推出的網絡庫。它的開發是因爲Android SDK中缺少一個能夠在不干擾用戶體驗的情況下工作的網絡類。

WHY VOLLEY?

  • 避免HttpUrlConnectionHttpClient。這些類真的很難使用,並且沒有真正的缺陷。
  • 避免AsyncTask
  • 它提供取消的API
  • 它的速度要快得多
  • 它緩存一切
  • 它具有體積小元數據操作

而且如果你已經使用了AsyncTask,你會找到volley真的很相似,甚至更容易。 Volley有助於避免致命的NullPointerException

前一段時間,Google+團隊對可用於在Android上發出網絡請求的各種不同方法進行了一系列性能測試。在RESTful應用程序中使用Volley時,得分比其他備選方案高10倍。

然而,當用於流操作和大量下載時,它並不是那麼好。

+0

這是我正在等待的答案。非常感謝。 –

0

是的,您必須使用HttpUrlConnection。毫無疑問,你可以使用任何庫,如Volley,Retrofit等,但他們也使用相同的東西。

HttpUrlConnection的文檔。

+0

它值得使用一個庫嗎?當我使用Picasso Image Library時,我意識到有些事情只是用庫來完成。這是這種情況嗎? –

+0

圖書館是爲我們的輕鬆而製作的。畢加索是圖像庫,將圖像存儲在緩存中,圖像不會一遍又一遍地下載圖像。所以,如果你想使用庫,你可以使用它。 –

0

我已經使用了改進與GSON「作爲一個分析器」爲我節省了很多時間凌空是太偉大

相關問題