最近一直在学习安卓项目架构方面的知识,看了很多文章,接触到了很多架构思想,例如谷歌官方的MVP+Clean架构:https://github.com/glomadrian/MvpCleanArchitecture 、TMVP架构:http://www.jianshu.com/p/b49958e1889d 、模块化组件化http://blog.csdn.net/halibobo1998/article/details/51799915 。今天就说说利用开源框架Router 将项目模块化组件化。
先来一张图感受下:
APP组件是壳,并依赖其他的四个module,同时我们抽取一个基础库,我们可以将例如网络请求,图片加载,公用的UI,常用工具类,BaseActivty等等封装到里面,然后所有module都依赖这个基础库。这是我项目抽取的基础库:
当项目越来越大,开发人员越来越多,组件化开发的优势就体现出来了,由于每个module相互独立,协同开发时就非常爽,每个模块可以独立开发,编译运行开发单个模块时可以共享资源和工具类等等。
但是。。。。。。。。
模块之间怎么通讯呢?例如我要从A模块跳转到B模块,由于模块相互独立,A中并不能找到B的引用,所以这时候就用用到Router路由器模式了。
现在简单介绍下Router :
首先你的gradle要3.3 下载地址http://download.csdn.net/album/detail/2265/1/2
修改你项目gradle/wrapper/gradle-wrapper.propertities 在你项目的build.gradle添加依赖 在你的module的build.gradle添加 在你app的build.gradle中添加在主工程的Application中初始化 ModuleA中的Activity ModuleB中的Activity
这样就可以实现各module之间的通讯了
以上是楼主简单的应用,希望能帮到各位。
网友评论