1、主工程模块,主要是APP壳,里面不涉及任何逻辑代码,只有权限等配置写在app模块下的AndroidManifest.xml中。
2、常规业务模块,该层的组件就是我们真正的业务组件了。我们通常按照功能模块来划分业务组件,例如注册登录、用户个人中心、APP的首页模块等。这里的每个业务组件都是一个小的APP,只需要修改一下对应的module的build.gradle,就可以单独编译,单独打包成APK在手机上运行。
3、功能组件,一个公共模块,所有的常规业务模块都依赖他。字符串、颜色、尺寸资源等写在该模块下,该组件是一些通用的工具类。
组件之间必须遵循以下规则:
1、只有上层的组件才能依赖下层组件,不能反向依赖,否则可能会出现循环依赖的情况;
2、同一层之间的组件不能相互依赖,这也是为了组件之间的彻底解耦;
常规业务模块间的Activity跳转
==================
由于常规业务模块之间是不能相互依赖的,所以不能直接使用startActivity进行跳转。在这里介绍两种方法:
方法1:
用功能组件(common组件)来统一管理业务组件间的跳转。
业务组件间不能相互依赖,而A组件需要跳转到B组件,那么我们可以让B组件来提供具体的跳转方法,让common组件来承担这个跳转方法的调用,然后A组件依赖common组件即可,是一个迂回的策略。
其他的组件要跳转到另外的组件,也是同样的处理。随