以下是我這個系列的相關文章方篮,有興趣可以參考一下名秀,可以給個喜歡或者關注我的文章。
[Android]如何做一個崩潰率少于千分之三噶應用app--章節(jié)列表
我建立了一個關于Android架構學習的群藕溅,里面可以進一步進行組件化學習和架構思想的的交流匕得。
群號是316556016,也可以掃碼進群巾表。我在這里期待你們的加入V印!集币!
這個系列的有關架構的概念考阱,適合有大概三年以上Android經(jīng)驗的同學理解电禀。如果你大概一年半以上經(jīng)驗背桐,入門進階了围来,我近段時間會開展分析MVP的相關架構章節(jié)婶恼。到時有興趣的同學,可以查看一番已维。
如果沒看過上一篇Activity分發(fā)功能module斧蜕,請先移步查看一下号显。
這一節(jié)要介紹的是Framgent分發(fā)module的架構跨细。
大部分原理是一樣的鹦倚。
ModuleManager用于管理Module的生命周期,F(xiàn)ragmentModuleManger都需要繼承于ModuleManager扼鞋。
上一節(jié)Activity需要分發(fā)saveInstanceState,activty對象到module對象里面申鱼,那么如果是fragment對象那么還需要分發(fā)它的rootView出來愤诱。
你查看fragment里面的onCreateView云头,都可以看到會產(chǎn)生一個View的對象,來布局整個Fragment淫半。
在Fragment中只能通過rootView來findViewById溃槐,而Activity可以通過activity這個對象直接就可以獲取。所以需要傳入rootView的對象科吭。
和ModuleManageActivity一樣昏滴,封裝了一個基礎ModuleManageFragment用來抽象出fragment的主要生命周期,方便懶人們運用对人。如果需要更多的生命周期你們可以改源碼羅谣殊。
當然也是有sample的,簡單將布局和兩個module注冊到fragment里面牺弄。
而fragment需要Activity來承接的姻几,簡單的用一個事務來提交fragment。
以PageBodyBTModule為例,其傳遞兩個ViewGroup到頁面蛇捌,然后聽過簡單的LayoutInfater來設置其layout抚恒,然后接下來的流程就會我們平時的一樣。
其最終效果
跳轉到Fragment里面
演示的例子都在ModuleBus源碼中可以查看络拌,fragment的分發(fā)通信也是使用ModuleBus來實現(xiàn)俭驮。
這一節(jié)就到這里,你覺得module的架構很沉重春贸,也有好的建議混萝?
下一節(jié)將會更加精彩,敬請期待F妓 F┦ァ!