美文网首页
android组件化之旅(一)

android组件化之旅(一)

作者: 宁静世界 | 来源:发表于2018-06-10 02:11 被阅读0次

    什么是组件化

    组件化就是将一个app分成多个Module,如下图,每个Module都是一个组件(也可以是一个基础库供组件依赖),开发的过程中我们可以单独调试部分组件,组件间不需要互相依赖,但可以相互调用,最终发布的时候所有组件以lib的形式被主app工程依赖并打包成一个apk。
    组件化优势

    组件化优势

    组件化就是将通用模块独立出来,以提高复用,将页面拆分为粒度更小的组件,组件内部除了包含UI实现,还包含数据层和逻辑层。
    每个工程都可以独立编译、加快编译速度,独立打包。
    每个工程内部的修改,不会影响其他工程。
    业务库工程可以快速拆分出来,集成到其他App中。
    迭代频繁的业务模块采用组件方式,业务线研发可以互不干扰、提升协作效率,并控制产品质量,加强稳定性。
    并行开发,团队成员只关注自己的开发的小模块,降低耦合性,后期维护方便等。

    开始组件化

    示例DEMO已上传至Github

    (1),创建一个正常结构的Android项目

    a,新建一个普通的Android工程
    b,创建几个需要被组件化的功能模块,如登录注册模块,项目主模块,新闻模块等等(注意:common库只提供功能支持,一般不包含业务界面)

    b1,将创建的库在主工程的首先dependencies {}中依赖

        implementation project(':login')
        implementation project(':main')
        implementation project(':news')
        implementation project(':common')
    

    b2,然后在分别在login,main,news组件的dependencies {}中依赖

       implementation project(':common')
    

    这个时候你的android项目结构应该是这样的(项目组件该怎么拆应该按照项目实际的功能模块来拆,我这里只是做个示例)

    image.png
    image.png

    我们假设你现在已经在login,main,new组件中添加了界面,common库添加了基础依赖(rxjava,retrofit,glide,三方登录等你需要的库)这个时候你的项目就已经是一个正常的可以运行的项目

    这个时候你的Run/Debug configurations应该是这样的,只有一个APP模块能启动


    image.png

    好了,到这里你已经拥有了一个完整的工程,下面我们开始组件化这个APP工程

    相关文章

      网友评论

          本文标题:android组件化之旅(一)

          本文链接:https://www.haomeiwen.com/subject/kraxeftx.html