模块化浅谈:
1、安卓模块化开发介绍:
模块化开发思路就是:单独开发每个模块,用集成的方式把他们组合起来,就能拼出一个app。app可以理解成很多功能模块的组合,而且有些功能模块是通用的,必备的,像自动更新,反馈,推送,都可以提炼成模块,和搭积木很像,由一个壳包含很多个模块。
2、模块化开发的好处:
我们的应用在更新的时候有时候并不需要整个应用一起更新,这样为了一个很小的更新,却要动辄修改整个项目,这样无疑是非常浪费资源的。
模块化开发的好处就是我们可以单独去升级某个模块,升级的时候往往不只是增加资源,有时候会去删资源,这样做和其他的模块的资源不会掺和,比如push开始用的百度的后来换成极光的,对app的组合者其实是不关心的,对他影响很小。解耦很好。
如果是主力带实习生这种开发的话,核心代码就不用和他们分享,让他们去做独立的功能,做好直接调用就行。以后整理代码,重构什么的都只重构这个模块的代码,他们不会不小心改了核心代码。
组件化也就是用主modle去关联几个library,不过关联都是单向关联的,比如app关联了main这个library,那么我们可以在app里调用main这个library里的方法,权限,依赖,但是main不可以调用app的任何东西,所以说我们要把这些公共的东西抽取到一个library里,所以我们创建了一个base,来存放这些资源图片,权限,依赖等,他们的关系是app关联了community、im、main、user这四个模块,而这四个模块都关联了base,像登录注册,侧拉,底部fragment的切换。
在app的builder.gradle里添加如下代码 :
ext {
compileSdkVersion = COMPILE_SDK_VERSION.toInteger()
minSdkVersion = MIN_SDK_VERSION
targetSdkVersion = TARGET_SDK_VERSION