Android知識點——Retrofit+RxJava+OkHttp(上)閒扯

先扯兩句

很久不扯了,剛敲出來這四個字的時候,還真把自己弄得愣了一下。
首先對這段時間關注我的博客的說聲抱歉,前段時間有點事,斷了一段時間,今後會盡量避免的,嘿嘿。
當然原本的套路今天應該寫的是RecyclerView.Adapter的封裝,不過因爲又踏上了找工作的征程,所只好把這個相對更重要一些的部分拿到前面了。
這篇主要是分析一下我用過的一些框架,藉機傳達一些個人在開發中的一些小意見,沒有興趣的可以直接跳過。
還是先上我的Git庫。
MyBaseApplication (https://github.com/BanShouWeng/MyBaseApplication)
並給大家展示個神器,叫Android知識點——目錄,好了,閒言少敘,下面進入正題。

正文

看到今天的題目大多數人應該能看出來,這部分主要是網絡請求的封裝,雖然說我的工作經驗到現在纔不到兩年時間,卻也算接觸了兩種網絡框架,分別是Afinal的FinalHttp,以及Google的Volley。

Afinal

首先關於Afinal框架,還是比較強大的,其中包含了FinalActivity、FinalHTTP、FinalBitmap、FinalDb的封裝,對於一個懶人來說,集成一個框架,就可以輕鬆實現這些功能,簡單是最幸福不過的事了!
不過在看看標題,不對啊,這篇文章的主角是“Retrofit+RxJava+OkHttp”,目測跟Afinal框架好像沒什麼太大的關係,這又是爲什麼呢?
說到這裏,我也很無奈啊,作爲一個一直標榜自己是懶人的懶人,竟然在這應該偷懶的地方退縮了,說起來還是很丟人的一件事。可存在即合理,所以逼迫我這麼一個懶漢放棄偷懶的原因究竟是什麼呢?
大家自己上網查一下Afinal框架就會發現,其相關的文檔最近的也是在2016的(至少我查的結果是這樣的),而再去git查一下Afinal

這裏寫圖片描述

我框出的部分,翻譯過來,是最近一次更新的是見竟然是2015年3月15日,但現在已經兩年多沒有更新新的內容了(如果誰發現Afinal像xUtils一樣只是換了,也可以指出來。至少從我得到的信息來看,Afinal框架應該是停止維護了)。
所以,當這個時候,不知道別人作何感想,可如果是我爲了一時的偷懶,使用了Afinal框架,得到它停止維護的消息,絕對想死的心都有了。
這個時候只能有兩個選擇,要麼就是將整個工程推翻了重寫,可是看到Afinal的覆蓋的範圍,FinalActivity(Activity基類)、FinalHTTP(網絡訪問)、FinalBitmap(圖片顯示)、FinalDb(數據庫),這些都做修改,與重寫整個項目也相差不多了。
當然,我們開發也不是說所有的都要使用最新的,框架哪怕就一些也可以選擇繼續忍受,可是

這裏寫圖片描述

以上就是FinalHttp中的各種過時方法,我們或許可以圖一時舒服,選擇了忍受這些內容,可是當隨着Android的很多技術的進步,當有一天他們不只是單純的過時,安全性更威脅我們已經成熟的工程的時候,那將是災難性的打擊。而如果這個時候我們再更換的時候,整個工程的複雜程度,大家加油,我在這裏爲他(她)鼓掌掌。
(當然,上述內容有危言聳聽的嫌疑,畢竟Afinal框架的其他部分暫時還是可以用的,而且我們也可以在框架的基礎上自己進行維護,這裏只是說明一種可能性。)
所以,爲了避免上述的尷尬,至少我個人,在開發的時候,寧可多花些時間,去找各個模塊比較優秀的框架或者SDK,而不是使用這種複合的框架。(以上只是個人的一點小建議,而且如果領導圖省事,以上言論也一點用沒有)。
上面一大段總結起來實際上就是兩句話:

  1. Afinal已經不適用了;
  2. 開發中在框架和SDK的運用上,注意解耦合,減小因爲對方放棄維護損失

Retrofit vs Volley

說實化,去年的這個時候,讓我寫博客的話,我寫的可能就是Volley與OkHttp了,不過現在Retrofit成功的擠掉了OkHttp的位置,不過從我角度理解,他們兩個其實也不用區分得特別明確,畢竟看題目也知道,這裏也沒逃了使用OkHttp,原因嘛,上鍊接Retrofit2 完全解析 探索與okhttp之間的關係
而Volley,也算是我使用過的比較多的網絡框架,上面說的FinalHttp過時之後,我就是在項目中使用的Volley進行的替代,其後開發的一直也是使用的Volley,原因嗎?OkHttp還需要自己封裝一下,我懶。
只是爲什麼我這麼一個懶人,今天一而再再而三轉性,明知OkHttp麻煩,這裏卻還要去使用它呢?這就要歸功於我們的Retrofit了,他們之間也有什麼區別呢?老規矩,上鍊接Android主流網絡請求框架
所以趁現在閒下來的時間,就先玩一玩Retrofit,有興趣的大家,一起哦!

附錄

《一個Android工程的從零開始》- 目錄

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章