组件化项目搭建流程

1、组件化项目架构
!HR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xpdGlhbmx2ZTM=,size_16,color_FFFFFF,t_70)
2、创建一个新项目流程
1)创建一个新项目
2)分别创建不同模块的lib
3) 创建一个总Library
HR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xpdGlhbmx2ZTM=,size_16,color_FFFFFF,t_70)
在这里插入图片描述
3、统一控制版本,自定义是否是主项目运行还是单独一个模块运行

9nLmNzZG4ubmV0L2xpdGlhbmx2ZTM=,size_16,color_FFFFFF,t_70)
4、LoginComponent通过loginRunAlone字段判断LoginComponent模块是否可独立运行
MineComponent通过maieRunAlone字段判断MineComponent模块是否可独立运行
两者步骤一样,如下图:

在这里插入图片描述
5、LoginComponent多创建一个manifest.xml文件,在bulid.gradle文件下配置路径
MineComponent多创建一个manifest.xml文件,在bulid.gradle文件下配置路径

y9ibG9nLmNzZG4ubmV0L2xpdGlhbmx2ZTM=,size_16,color_FFFFFF,t_70)
1)manifest文件夹下的manifest.xml文件内容
在这里插入图片描述
2)另外一个manifest.xml文件的内容
在这里插入图片描述
6、主项目分别依赖:ComponentLib、LoginComponent、MineComponent
LoginComponent模块:依赖ComponentLib
MineComponent模块:依赖ComponentLib

注意:主项目中的build.gradle文件中需要进行判断:如图在这里插入图片描述
7、分别在主项目、LoginComponent、MineComponent中创建一个App文件继承Application。在ComponentLib中创建一个IAppComponent接口和AppConfig类
在这里插入图片描述
在这里插入图片描述
8、分别在主项目、LoginComponent、MineComponent中创建一个App文件继承Application。在ComponentLib中创建一个IAppComponent接口和AppConfig类
1)MainApp、LoginApp、MineApp实现IAppComponent接口
在这里插入图片描述

在这里插入图片描述
9、在ComponentLib创建两个接口,ILoginService、IMineService接口
![HR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xpdGlhbmx2ZTM=,size_16,color_FFFFFF,t_70)
在这里插入图片描述
10、在LoginComponent中创建LoginService类实现ILoginService,
在MineComponent中创建MineService类实现IMineService

在这里插入图片描述

在这里插入图片描述
11、在ComponentLib中创建ServiceFactory类

在这里插入图片描述
12、分别在LoginApp中添加ServiceFactory.getInstance().setmLoginService(new LoginService());
在MineApp中添加ServiceFactory.getInstance().setmMineService(new MineService());

在这里插入图片描述
13、判断是否为空
1)在ComponentLib创建两个类,EmptyLoginService、EmptyMineService分别实现ILoginService,IMineService接口。不用做如何处理

在这里插入图片描述
2)在ServiceFactory类中的getmLoginService、getmMineService进行判空处理
在这里插入图片描述
14、最后在MainActivity中实现跳转
在这里插入图片描述
结束了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值