1. 程式人生 > >Android技術選型:你該選擇哪個網路請求開源庫(Volley、OkHttp、Retrofit)?

Android技術選型:你該選擇哪個網路請求開源庫(Volley、OkHttp、Retrofit)?

前言

  • 網路請求在 Android 開發中非常常見,為了降低開發週期和難度,我們經常會選用網路請求的開源庫
  • 而現在網路請求的開源庫越來越多,我們應該選用哪種呢?
  • 今天我就給大家分別介紹 & 對比現今主流的網路請求庫。

目錄

網路請求開源庫-目錄

1. 為什麼要用網路請求開源庫?

網路請求開源庫是一個將 網路請求的相關功能封裝好的類庫

  • 沒有網路請求框架之前
    App想與伺服器進行網路請求互動是一件很痛苦的事:因為Android的主執行緒不能進行網路請求,需另開1個執行緒請求、考慮到執行緒池,快取等一堆問題

  • 使用網路請求庫後
    實現網路請求的需求同時不需要考慮:

    • 非同步請求
    • 執行緒池
    • 快取
    • blabla

    同時還:

    • 降低開發難度
    • 縮短開發週期
    • 使用方便

2. 儲備知識

2.1 Android實現網路請求的主流方法(SDK自帶)

HttpClientHttpURLConnection

示意圖

2.2 網路請求庫 與 Android網路請求方法的關係

  • 網路請求庫的本質 = 封裝了 網路請求 + 非同步 + 資料處理功能的庫
  • 其中,網路請求功能則是採用Android網路請求的原生方法(HttpClientHttpURLConnection

  • 具體如下圖

示意圖

3. 主流的網路請求庫 簡介

如今Android中主流的網路請求框架有:

  • Android-Async-Http
  • Volley
  • OkHttp
  • Retrofit

下面是簡單介紹:

示意圖

4. 網路請求庫- 對比

一圖讓你瞭解全部的網路請求庫和他們之間的區別!

示意圖

5. 主流網路請求庫的Github地址

6. 總結

  • 本文全面的介紹 & 對比 Android的主流網路請求庫
  • 總的來說:網路請求庫沒有最好,只有最合適,只有真的瞭解其使用場景才能很好的選擇網路請求庫

7. 下篇預告

下面,我將逐個介紹各個主流網路請求庫的使用方法 & 原始碼分析

  • Volley
  • Okhttp
  • Retrofit

請幫頂 / 評論點贊!因為你的鼓勵是我寫作的最大動力!

相關推薦

Android技術選型選擇哪個網路請求開源VolleyOkHttpRetrofit

前言 網路請求在 Android 開發中非常常見,為了降低開發週期和難度,我們經常會選用網路請求的開源庫 而現在網路請求的開源庫越來越多,我們應該選用哪種呢? 今天我就給大家分別介紹 & 對比現今主流的網路請求庫。 目錄 1

Bean Validation完結篇必須關注的邊邊角角約束級聯自定義約束自定義校驗器國際化失敗訊息...

每篇一句 沒有任何技術方案會是一種銀彈,任何東西都是有利弊的 相關閱讀 【小家Java】深入瞭解資料校驗:Java Bean Validation 2.0(JSR303、JSR349、JSR380)Hibernate-Validation 6.x使用案例 【小家Spring】Spring方法級別資料校驗:

React還是Vue如何選擇

2016年React鞏固了它作為前端框架之王的地位,這一年中可以看到它在Web端和移動端的快速成長,同時穩穩領先於它的主要競爭對手Angular。 但是2016對Vue來說也是同樣令人印象深刻的一年,它釋出了Vue 2.0版本並且在JavaScript社群引起了巨大反響,

Android實用技能應該掌握的APK反編譯技巧以及重新打包釋出

需要的工具 1,apktool: 反編譯獲取資原始檔的工具,包括圖片資源和佈局檔案等的獲取 下載地址:https://bitbucket.org/iBotPeaches/apktool/downloads 2,dex2jar:反編譯獲取原始碼的工具,將classes.dex 轉化為jar

android技術選型(持續更新中...)

log列印 網路請求 我希望達到的目標是,對著介面文件,api鏈式呼叫著配置一下,一個請求就完成了. 懶得去記具體框架裡的類啊註解啊什麼的, 甚至,http協議的一些複雜內容我也不想涉及,比如快取控制->把常用的那些快

Android技術架構之網路請求心路歷程可收藏

前言 Android架構 Android架構技術介紹 架構與設計 設計模式 重構 網路程式設計框架 TCP格式三次握手與四次揮手 HttpClient HttpURLConnection Volley OkHttp Retr

面試題為什麼選擇python?

你為什麼選擇python? 答題路線:python的優點(python優缺點),python的應用領域廣(python應用領域) python優點: 1、簡單: Python的語法非常優雅,沒有大括號,分號等特殊符號,一種極簡主義的設計思想。適合人類閱讀,

Arduino與樹莓派到底選擇哪個?

的人來說,它們可能看起來非常類似:它們都是帶有電阻、電容的電路板,ICU焊接在頂部,介面從側面引出。 然而,如果我們仔細看一看的話,Arduino和樹莓派在架構和設計目的上各有不同。我們編寫了本篇文章以闡明這些差異,並幫助您決定哪個才適合您的想法。 什麼

為什麼下一個5年java後臺開發選擇Spring Boot?

我們先來看看以前我們是怎麼寫Spring的 以前的Spring 整合複雜 相信大家學SSM(Spring+Spring MVC+MyBatis)結構的時候, 最痛苦的莫過於整合了..  既然要整合三者, 那麼需要做哪些配置呢? 選擇各種依賴的版本,spring核心的

限流熔斷技術選型從Hystrix到Sentinel

文章概要 高可用架構:Hystrix作為大家熟知的容錯元件,最近宣佈停止開發,很多人對其背景可能瞭解不多。作為Spring Cloud官方預設的熔斷元件,您覺得Hystrix是出於哪些原因停止開發呢? 子衿/宿何:這個事情,我也是之前看媒體報道才瞭解到的。Hystrix是Netfli

技術人生故事之十 網路是什麼?

故事之十 網路是什麼? 我做網路到第五個年頭的時候,發現問題了,使用者們並不清楚網路是什麼,我在報刊上詳細介紹了NT構造網路的方案,並用了一段被同事們常重複的話:網路,網路,網路到底是什麼。 說起來可笑,我也糊塗網路是什麼了,因為它太抽象又太具體。於是

Android技術選型

軟體架構 MVC MVP MVVM 介紹 Model:資料結構相關的類View:XML檔案 Controller:Activity view:Activity

Android 技術選型

提示性UI toast: Toasty : https://github.com/hss01248/Toasty 帶有狀態的toast,有succes.error,warn,info,normal 五種,以及debug一種(只在debug模式下彈出). dialog : notification 必用的

資料中心網路技術新貴VXLAN與園區網路虛擬化

摘要:為了應對傳統資料中心網路對伺服器虛擬化技術的限制,VXLAN技術應運而生。 1 概述 傳統資料中心網路面臨的問題 虛擬機器規模受裝置表項規格限制 在傳統二層網路中,交換機通過查詢MAC地址表來轉發資料幀,虛擬機器的數量受限於MAC地址表的容量。 伺服器虛擬化後,VM的數量比原有的物理機發生了數量

Android RxJava操作符的學習---功能性操作符--網路請求出錯重連結合Retrofit

1. 需求場景   2. 功能說明 功能需求說明     功能邏輯  例項說明 在本例子中:採用Get方法對 金山詞霸API 傳送網路請求 通過 斷開網路連線 模擬 網路異常錯誤(恢復網路即可

Android RxJava操作符的學習---功能性操作符--有條件網路請求輪詢結合Retrofit

1. 需求場景   2. 功能說明 採用Get方法對 金山詞霸API 按規定時間重複傳送網路請求,從而模擬 輪詢 需求實現 停止輪詢的條件 = 當輪詢到第4次時 採用 Gson 進行資料解析   3.

Android RxJava操作符的學習---變換操作符---網路請求巢狀回撥

變換操作符的主要開發需求場景 = 巢狀回撥(Callback hell) 下面,我將採用一個實際應用場景例項來講解巢狀回撥(Callback hell) 1. 需求場景 1.1 背景 需要進行巢狀網路請求:即在第1個網路請求成功後,繼續再進行一次網路請求 如

日記俠想開始寫文章嗎?可以賺錢的

你好,我是王剛,行走於網路江湖的“日記俠”。每天分享我的思考和經驗,希望身邊的人可以和我一樣天天寫日記,今天是王剛日記第674天。 八月十五月兒圓,祝你中秋團團圓圓! 昨天,一位微友想分享傳播我的文章,我就告訴他不如轉發一些大咖的文章,畢竟我的只是無名之輩的日記,含金

10年hr經驗教如何選擇合適的行業職業應屆生

    轉自某論壇,然後內容排版小改動了一點,覺得挺好的,放上來給自己MARK一下。     選擇工作最重要的三個因素:薪水、行業、興趣。作者阿乾以自己周圍的例子,對行業的重要性做了詳細解說。 《未來十年熱門行業》     社會上絕大部分人,都不是自己當老闆。無論你是否承認

Fiddler抓取Android app網路請求資料包by 星空武哥

     說到抓取網路請求資料包,很多人可能會想到的是Wireshark,沒錯他用它抓包確實很不錯,但是我們要想抓取手機上的網路請求資訊,卻不是很方便,今天我就給大家推薦一個款特別好用的抓包軟體F