以下是我這個系列的相關文章,有興趣可以參考一下,可以給個喜歡或者關注我的文章。
[Android]如何做一個崩潰率少于千分之三噶應用app--章節列表
我建立了一個關于Android架構學習的群,里面可以進一步進行組件化學習和架構思想的的交流。
群號是316556016,也可以掃碼進群。我在這里期待你們的加入!!!
這個系列的有關架構的概念,適合有大概三年以上Android經驗的同學理解。如果你大概一年半以上經驗,入門進階了,我近段時間會開展分析MVP的相關架構章節。到時有興趣的同學,可以查看一番。
如果沒看過上一篇Activity分發功能module,請先移步查看一下。
這一節要介紹的是Framgent分發module的架構。
大部分原理是一樣的。
ModuleManager用于管理Module的生命周期,FragmentModuleManger都需要繼承于ModuleManager。
上一節Activity需要分發saveInstanceState,activty對象到module對象里面,那么如果是fragment對象那么還需要分發它的rootView出來。
你查看fragment里面的onCreateView,都可以看到會產生一個View的對象,來布局整個Fragment。
在Fragment中只能通過rootView來findViewById,而Activity可以通過activity這個對象直接就可以獲取。所以需要傳入rootView的對象。
和ModuleManageActivity一樣,封裝了一個基礎ModuleManageFragment用來抽象出fragment的主要生命周期,方便懶人們運用。如果需要更多的生命周期你們可以改源碼羅。
當然也是有sample的,簡單將布局和兩個module注冊到fragment里面。
而fragment需要Activity來承接的,簡單的用一個事務來提交fragment。
以PageBodyBTModule為例,其傳遞兩個ViewGroup到頁面,然后聽過簡單的LayoutInfater來設置其layout,然后接下來的流程就會我們平時的一樣。
其最終效果
跳轉到Fragment里面
演示的例子都在ModuleBus源碼中可以查看,fragment的分發通信也是使用ModuleBus來實現。
這一節就到這里,你覺得module的架構很沉重,也有好的建議?
下一節將會更加精彩,敬請期待!!!