今天下午看到一些元件化資料,於是想學習並粗劣的列一下整個專案的model目標及作用,專案。
以下為各model
basiclib
- 此模組,放入一些基礎的工具庫,比如網路庫,圖片載入庫
- 引用外掛
apply plugin: 'com.android.library'
無需做特殊處理
basicres
- 模組內直接basiclibs
compile project(':basiclib')
- 加入一些共用的圖片資源,layout,logo等資源
- 引用外掛
apply plugin: 'com.android.library'
無需做特殊處理
- 模組內直接basiclibs
componentlib
- 引用外掛
apply plugin: 'com.android.library'
無需做特殊處理 - build檔案中宣告兩個task,目前不太懂,仍需進一步去學習
- 此模組,稱之為,各元件模組的基類模組
- 頁面跳轉路由,自定義URL(SCHME,HOST)
- 服務路由,提供view或者資料服務
- 宣告週期定義AppLike:其中需要完成,服務註冊,或者UI跳轉註冊
- 引用外掛
componentservice
- 引入componentlib及basicres
- 引用外掛
apply plugin: 'com.android.library'
無需做特殊處理 - 宣告各模組服務介面,具體實現需業務元件實現
readercomponent
- 讀書業務元件
- 引入componentservice
- 引用外掛
apply plugin: 'com.dd.comgradle'
- 在componentservice包中宣告瞭一個需要提供Fragment的服務,完成實現
- 實現生命週期管理,並將完成的服務註冊到路由
- 其中還呼叫了分享業務模組的頁面,通過UI路由,根據URL進行跳轉
sharecomponent
- 分享業務元件
- 引入componentservice
- 引用外掛
apply plugin: 'com.dd.comgradle'
- 實現頁面跳轉URL定義
- 實現宣告週期,並註冊頁面跳轉路由
build-gradle
- 配置載入,並不能完全讀懂,暫不敢言論