今天下午看到一些组件化资料,于是想学习并粗劣的列一下整个项目的model目标及作用,。
以下为各model
basiclib
- 此模块,放入一些基础的工具库,比如网络库,图片加载库
- 引用插件
apply plugin: 'com.android.library'
无需做特殊处理
basicres
- 模块内直接basiclibs
compile project(':basiclib')
- 加入一些共用的图片资源,layout,logo等资源
- 引用插件
apply plugin: 'com.android.library'
无需做特殊处理
- 模块内直接basiclibs
componentlib
- 引用插件
apply plugin: 'com.android.library'
无需做特殊处理 - build文件中声明两个task,目前不太懂,仍需进一步去学习
- 此模块,称之为,各组件模块的基类模块
- 页面跳转路由,自定义URL(SCHME,HOST)
- 服务路由,提供view或者数据服务
- 声明周期定义AppLike:其中需要完成,服务注册,或者UI跳转注册
- 引用插件
componentservice
- 引入componentlib及basicres
- 引用插件
apply plugin: 'com.android.library'
无需做特殊处理 - 声明各模块服务接口,具体实现需业务组件实现
readercomponent
- 读书业务组件
- 引入componentservice
- 引用插件
apply plugin: 'com.dd.comgradle'
- 在componentservice包中声明了一个需要提供Fragment的服务,完成实现
- 实现生命周期管理,并将完成的服务注册到路由
- 其中还调用了分享业务模块的页面,通过UI路由,根据URL进行跳转
sharecomponent
- 分享业务组件
- 引入componentservice
- 引用插件
apply plugin: 'com.dd.comgradle'
- 实现页面跳转URL定义
- 实现声明周期,并注册页面跳转路由
build-gradle
- 配置加载,并不能完全读懂,暂不敢言论