文档章节

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

Cang_Wang
 Cang_Wang
发布于 2017/01/17 12:43
字数 616
阅读 14
收藏 0

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

[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,然后接下来的流程就会我们平时的一样。

其最终效果

首页Activity

 

跳转到Fragment里面

fragment分发module

 

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

 

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

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

© 著作权归作者所有

共有 人打赏支持
Cang_Wang
粉丝 0
博文 3
码字总数 3137
作品 1
深圳
私信 提问
Material过渡+Glide显示问题踩坑

大家好,我系苍王。 以下是我这个系列的相关文章,有兴趣可以参考一下,可以给个喜欢或者关注我的文章。 [Android]如何做一个崩溃率少于千分之三噶应用app--章节列表 这里说的坑的情况是使用...

CangWang
2018/07/12
0
0
[Android]你不知道的Android进程化(2)--创建进程

大家好,我系苍王。 以下是我这个系列的相关文章,有兴趣可以参考一下,可以给个喜欢或者关注我的文章。 [Android]如何做一个崩溃率少于千分之三噶应用app--章节列表 [Android]你不知道的And...

CangWang
2018/01/04
0
0
Android优秀项目

2017 春季最酷的 30 个 Android 库 【已翻译 100%】 原文翻译自 freecodecamp 的一篇文章《The 30 Coolest Android Libraries from Spring 2017》 Android2017 这些技术 —— 你都了解过吗 ...

掘金官方
2017/12/21
0
1
Android-Lifecycle超能解析-生命周期的那些事儿

版权声明:本文已授权微信公众号:Android必修课,转载请申明出处 众所周知,Android凡是需要展示给用户看的,都包含着生命周期这个概念,例如Activity、Fragment、View等都与生命周期息息相...

亭子happy
03/05
0
0
【翻译】安卓架构组件(3)-处理生命周期

相关文章: 【翻译】安卓架构组件(1)-App架构指导 【翻译】安卓架构组件(2)-添加组件到你的项目中 【翻译】安卓架构组件(4)-LiveData 【翻译】安卓架构组件(5)-ViewModel 【翻译】安卓架构组...

Chuckiefan
2017/06/07
0
0

没有更多内容

加载失败,请刷新页面

加载更多

JFinal开发的旅游线路营销Saas平台演示系统我部署了一个

今天部署了一个旅游线路营销管理系统的演示版: 演示地址:http://lvyou.jfinalxueyuan.com 演示账号:(暂时只给一个门店版的吧,批发商和总部的如果需要 演示看看 单独联系我微信:1876673...

山东-小木
今天
2
0
如何学习大数据技术

学习大数据技术,首先要明确大数据的概念。 大数据的概念作者认为有如下几点: 1.数据的来源多样性。例如关系数据库+文本+excel等 2.数据量大。TB级别的数据。 3.业务应用领域。实时性高与实...

董黎明
今天
3
0
开箱即用(out-of-box)的Redis序列号生成器,不用再写任何代码,你值得拥有

先看整体效果 把简单的东西“傻瓜化”是软件开发追求的目标之一。请看下图: 左边是在 application.yml 里配置了3个生成器,右边可以直接注入到代码中使用,注意,不用写任何代码。这酸爽。 ...

花漾年华
今天
1
0
算法我也不知道有没有下一个---一个题目的开端(索引堆与图)

病痛了一周,折磨来折磨去,终于还是平静了下来,现在能把上周末"贯穿"学到的最后一个基础数据结构的知识给沉淀沉淀了。也是即将再单位分享的东西:图论。这东西,想当年大二,学校的时候,只...

心中的理想乡
今天
1
0
Synchronized和Lock的区别

锁类型: 可重入锁:在执行对象中所有的同步方法时,不必再次去获取锁 可中断锁:在等待获取锁过程中可中断 读写锁:对线程的读写分为两个部分,读过程中多线程可一起访问readLock,写过程中...

最胖的瘦子
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部