重拾Android之路(二十三)組件化和路由

網上關於組件化和路由的文章非常多,自己看了之後最大的感覺都是好深奧,好難懂。特別是對於新手來說,是特別難入手。但是我們現在的項目有比較大,如果繼續使用原有的項目結構,每次編譯和執行都要耗費很多的時間,所以使用組件化是重中之重,沒辦法,硬着頭皮硬上。

爲什麼使用組件化

使用組件化之前,我們必須要知道是什麼樣的情況讓我們想要去使用組件化,而放棄了我們使用了很久的原有操作。

  1. 通常情況下,我們寫一個或者幾個依賴庫,那麼當我們需要使用的時候,直接引入即可。這些引入的依賴庫一般都是與業務邏輯無關,相對而言比較獨立的。那麼我們會在app這個module中寫大量的業務邏輯代碼,這時候,隨着業務邏輯的增多,不可避免的會造成包的增加,管理起來很麻煩
  2. 我們在發現一個bug的時候,往往修復一下,就需要將整個項目都build一遍,浪費時間
  3. 在多人合作開發的時候,會有代碼衝突,因爲畢竟大家有可能修改的是同一個文件

那麼組件化就是要求在開發的過程中,除了將一些業務無關的代碼提取出成爲依賴庫之外,還可以將各個不同的業務邏輯提取出一個個的module。舉個例子來說,像微信一樣,整個應用的主邏輯代碼放在app模塊下,而除了主邏輯代碼之後,還有聊天模塊,聯繫人模塊,發現模塊,我的模塊。那麼這四個部分就可以分爲四個不同的module,然後讓這四個module在分別依賴於依賴庫,這樣可以將app模塊的代碼大量減少。其中的依賴關係如圖所示
在這裏插入圖片描述
大致就是這個意思。
那麼實現組件化最終會幫我們解決的兩個問題就是

  1. 設置模塊之間的依賴,且使得業務模塊可單獨編譯–通過配置gradle即可解決
  2. 業務模塊之間的頁面跳轉以及通信–使用阿里開源的ARouter即可解決

ARouter

ARouter是由阿里巴巴提供的一套Android路由框架,使用這個路由框架可以很大程度上解決不同模塊之間的傳遞消息,項目跳轉等問題。這個是網址,裏面有各種各樣的使用方法和使用技巧。例子也有,這裏就不再一一贅述

參考資料

一篇文章搞懂Android組件化
Android組件化最佳路由ARetrofit
Android組件化方案

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