框架--NoHttp和OkHttp哪个好用,Volley和NoHttp哪个好用?
NoHttp和OkHttp哪個好用,Volley和NoHttp哪個好用?
?
NoHttp 源碼及Demo托管在Github歡迎大家Star:?https://github.com/Y0LANDA/NoHttp
NoHttp是專門做Android網絡請求與下載的框架,框架直播視頻源碼下載地址。
開這篇博客也是不得已,NoHttp和OkHttp哪個好用?Volley和OkHttp哪個好用?NoHttp和Volley哪個好用?隨著NoHttp的崛起,問這個問題的人是越來越多了,所以干脆來開一篇博客了。
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百度一大推。
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出品,值得信賴。
?
------
?
轉載于:https://www.cnblogs.com/awkflf11/p/5483264.html
總結
以上是生活随笔為你收集整理的框架--NoHttp和OkHttp哪个好用,Volley和NoHttp哪个好用?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Eclipse debug neutro
- 下一篇: 安卓活动间的传值问题