[Android]如何做一个崩溃率少于千分之三噶应用app(14)-Fragment分发module架构

以下是我这个系列的相关文章,有兴趣可以参考一下,可以给个喜欢或者关注我的文章。

[Android]如何做一个崩溃率少于千分之三噶应用app--章节列表


我建立了一个关于Android架构学习的群,里面可以进一步进行组件化学习和架构思想的的交流。

群号是316556016,也可以扫码进群。我在这里期待你们的加入!!!

[Android]如何做一个崩溃率少于千分之三噶应用app(14)-Fragment分发module架构_第1张图片


这个系列的有关架构的概念,适合有大概三年以上Android经验的同学理解。如果你大概一年半以上经验,入门进阶了,我近段时间会开展分析MVP的相关架构章节。到时有兴趣的同学,可以查看一番。

如果没看过上一篇Activity分发功能module,请先移步查看一下。

这一节要介绍的是Framgent分发module的架构。

大部分原理是一样的。

[Android]如何做一个崩溃率少于千分之三噶应用app(14)-Fragment分发module架构_第2张图片
架构图示

ModuleManager用于管理Module的生命周期,FragmentModuleManger都需要继承于ModuleManager。

[Android]如何做一个崩溃率少于千分之三噶应用app(14)-Fragment分发module架构_第3张图片

上一节Activity需要分发saveInstanceState,activty对象到module对象里面,那么如果是fragment对象那么还需要分发它的rootView出来。

你查看fragment里面的onCreateView,都可以看到会产生一个View的对象,来布局整个Fragment。

在Fragment中只能通过rootView来findViewById,而Activity可以通过activity这个对象直接就可以获取。所以需要传入rootView的对象。

和ModuleManageActivity一样,封装了一个基础ModuleManageFragment用来抽象出fragment的主要生命周期,方便懒人们运用。如果需要更多的生命周期你们可以改源码罗。

[Android]如何做一个崩溃率少于千分之三噶应用app(14)-Fragment分发module架构_第4张图片


当然也是有sample的,简单将布局和两个module注册到fragment里面。

[Android]如何做一个崩溃率少于千分之三噶应用app(14)-Fragment分发module架构_第5张图片

而fragment需要Activity来承接的,简单的用一个事务来提交fragment。

[Android]如何做一个崩溃率少于千分之三噶应用app(14)-Fragment分发module架构_第6张图片

以PageBodyBTModule为例,其传递两个ViewGroup到页面,然后听过简单的LayoutInfater来设置其layout,然后接下来的流程就会我们平时的一样。

[Android]如何做一个崩溃率少于千分之三噶应用app(14)-Fragment分发module架构_第7张图片

其最终效果

[Android]如何做一个崩溃率少于千分之三噶应用app(14)-Fragment分发module架构_第8张图片
首页Activity


跳转到Fragment里面

[Android]如何做一个崩溃率少于千分之三噶应用app(14)-Fragment分发module架构_第9张图片
fragment分发module


演示的例子都在ModuleBus源码中可以查看,fragment的分发通信也是使用ModuleBus来实现。


这一节就到这里,你觉得module的架构很沉重,也有好的建议?

下一节将会更加精彩,敬请期待!!!

你可能感兴趣的:([Android]如何做一个崩溃率少于千分之三噶应用app(14)-Fragment分发module架构)