框架--NoHttp和OkHttp哪一個好用,Volley和NoHttp哪一個好用?

NoHttp和OkHttp哪一個好用,Volley和NoHttp哪一個好用?java

 



NoHttp 源碼及Demo託管在Github歡迎你們Star: https://github.com/Y0LANDA/NoHttpgit

NoHttp是專門作Android網絡請求與下載的框架,框架直播視頻源碼下載地址github


開這篇博客也是不得已,NoHttp和OkHttp哪一個好用?Volley和OkHttp哪一個好用?NoHttp和Volley哪一個好用?隨着NoHttp的崛起,問這個問題的人是愈來愈多了,因此乾脆來開一篇博客了。api

OkHttp, HttpURLConnection, HttpClient

OkHttp、HttpConnection、HttpClient這三個傢伙是對java來講的,三者的api是Java和Android均可以用的(隨着Android6.0刪除了HttpClient後,Android也不能使用HttpClient封裝的框架了)。它們都是在作socket層的事情,作Android的都知道,Android請求網絡須要的子線程發起,而後用handler把結果發送到主線程。用這三個傢伙必須在子線程請求,還要本身封裝參數、請求頭、下載、傳文件云云。瀏覽器

NoHttp、Volley、AsyncHttp、xUtil

NoHttp、Volley、Async-Http、xUtil的http模塊,這幾個傢伙纔是Android專用的,是不能用在Java的,它們不是在socket層作事情,不用去理睬socket,而是在上面三個傢伙的基礎上衍生的框架。不論傳參數,傳文件,等都作了不一樣程度的封裝。均可以在主線程直接調用,拿到結果後也能夠直接更新UI。緩存

區別

那麼最後再來講說前面說的區別。 
NoHttp、Volley、Async-Http、xUtil是一個平面的,OkHttp、HttpClient、HttpClient是一個平面的,對比的時候應該是說NoHttp和Volley哪一個好用,OkHttp和HttpClient哪一個好用。服務器

到底哪一個好用?

  • 若是要問NoHttp和Volley哪一個好用,我推薦NoHttp,緣由是NoHttp封裝了:文件下載、斷點續傳、304緩存、302/303傳參數、傳文件、請求頭、多文件上傳、大文件上傳、Cookie自動管理等多種功能,這些是Volley而沒有,並且使用Volley須要咱們去寫不少代碼作封裝,而NoHttp直接能夠用,不需再作二次開發,固然NoHttp的架構設計上是很方便開發作本身的封裝的。網絡

  • OkHttp和HttpURLConnection(HttpClient在Android6.0已徹底棄用)之間,若是開發者本身封裝本身的框架,我推薦OkHttp,這個框架也是Google官方推薦的。理由不在贅述,Google百度一大推。session


NoHttp 源碼及Demo託管在Github歡迎你們Star: https://github.com/Y0LANDA/NoHttp架構

 -------

做者:嚴振杰
連接:https://www.zhihu.com/question/41736156/answer/111278791
好吧,我是NoHttp的做者,對於你們說的推廣怎麼怎麼滴,好比在個人CSDN博客寫教程啦,個人Github/NoHttp寫ReadMe啦,我也建了關於Android QQ羣供你們交流,這些都無可厚非吧。至於百度貼吧這個,當時就是提供一個供你們交流的平臺,我後來也以爲確實沒有必要,讓你們不舒服的地方還清你們多多諒解下。整體上多是由於本身作的確實不夠好,在這裏也給你們道個歉,sorry。
看到你們的支持了,感謝你們。同時也感謝全部不理解個人人,正是由於大家的指點我才能給你們帶來更好的東西。從大家身上學到了不少,也確實成長了很多,之後我會更加努力分享好的內容給你們,但願能繼續和你們交流。

NoHttp好像是國內 嚴振杰寫的網絡請求框架,google上除了一個基本的使用文檔http://www.oschina.net/p/nohttp 基本上找不到完整api和說明文檔。

我用使用了NoHttp是由於以前用的Volley不支持session的持久化,因此用了Nohttp,
整體上仍是能夠的,知足基本需求沒問題,可是應該就技術支持上來講,比不了OkHttp。

NoHttp已經作得很不錯了.我也是偶然機會看到了NoHttp而後調研了段時間以後在項目中使用了,我直接使用源碼依賴,暫且不說 square公司 的那些產品,NoHttp已經足夠足夠知足平常的需求了,也沒有很必要爲了逼格去用什麼Retrofit,
最重要的一點是,NoHttp的源碼寫的很清晰,從發起請求到響應回調都很清晰,一看就明瞭,這裏要爲做者點個贊,這個做品做者確定花了不少時間迭代,學習NoHttp的源碼還能學到一些其餘的乾貨,好比隊列啊,線程同步之類的知識,最後仍是那句,你喜歡你就用,不喜歡也別亂抨擊別人的做品。

 

NoHttp的源碼在這裏:GitHub - Y0LANDA/NoHttp:
支持HTTP/HTTPS, 自動維持Cookie, 異步/同步請求, 大文件/多文件上傳, 文件下載; 支持304緩存, 302/303重定向, 支持代理服務器.
兩者的區別以下:OkHttp、HttpURLConnection、HttpClient都是Java通用的,而且它們在作Socket相關的事。
而NoHttp、Volley、AsyncHttp是在前面三者的基礎上作的封裝,支持異步請求,
是隻有Android才能夠用的(若是有人非說不是,那就要修改很多源碼在別的平臺才能用)。
而NoHttp同時支持異步和同步,大文件、多文件上傳;Cookie的自動管理,實現了和瀏覽器同樣的標準的Cookie協議;還有Http緩存,好比304緩存,NoHttp還提供了幾種緩存模式,好比1 緩存使用緩存沒緩存才請求網絡,2 有網絡請求網絡沒有網絡就使用緩存,3 僅僅使用網絡,4 僅僅使用緩存等等。支持隊列,支持和Activity、Fragment聲明週期聯動取消請求,支持請求String、Bitmap、Json、JavaBean,可自定義擴展請求類型。

至於發展前景很明瞭了,
NoHttp專門來作網絡請求,不綁架開發者。NoHttp的Jar只有130k左右,沒有使用第三方依賴,純Android原生實現。
NoHttp的底層默認使用的URLConnection,可是Android4.4以後系統不是內置了OkHttp嗎?
而後看源碼後發現4.4之後的URLConnection使用OkHttp的接口去實現的,
因此NoHttp想固然的就是很不錯的選擇。
OkHttp還用說嗎?大牛團隊square出品,值得信賴。

 

------

相關文章
相關標籤/搜索