Android 组件化开发笔记

准备写一系列关于android 组件化开发的文章,开始的时候没有头绪,写了一篇《Android 组件化开发之页面跳转》,写的过程中发现如果开发者没有对组件化有一定的了解,那文章就会变成鸡肋。所以有了这篇文章的诞生。
一、背景
我司的项目比较庞大,据不完全统计业务应该有30种以上,你们完全想不到如果没有组件化开发,把所有的业务写在一个module里,那是多么恐怖的一件事。而且业务还可能会递增,这就意味着有可能有40种、50种业务。在此环境下,提出了组件化开发。
二、什么是组件化开发
我理解中的组件化开发即是,每个业务模块都是一个module,不是所有的业务都写在主module中,例如我司园区项目有物业缴费模块、活动模块等等。每个模块的内容都在属于自己的module里,那么这样问题就诞生了?如何进行模块之间的跳转以及通讯呢?这个问题会在《Android 组件化开发之页面跳转》一文解读。
我们正在使用的组件化开发的模式如下:
1. 首先有一个BaseLibrary 的module,所有的业务模块都要依赖这个module,这个module里的内容包括项目用到的所有功能封装,例如网络请求、各种重写的控件、图片下载以及各种Utils以及所有项目公用的工具。
2. 接着要有一个主模块,即新建项目的app module,在这里我们称为主模块,主模块的内容包括 登录页面、忘记密码页面、注册页面、以及如下图的主页面的所有内容。主模块要依赖所有的业务模块。
这里写图片描述
主模块的内容显示方式有很多种,不同的项目可能也有不同的需求,这个主模块的内容怎么分,大家根据不同的需求,进行不同的分配。按照我司的项目需求,我司的主模块的是将1、2、3、4的所有的内容都划分到主模块。
3.接着当一个新的业务产生的时候,我们就要新建一个新的module,然后这个业务所有的内容都应该写在新的module里面。包括业务本身的内容以及需要暴露给别的模块的内容。假如现在有一个活动组件,活动组件在首页要显示近期活动、在我的页面要显示活动消息、在我的页面还要显示我的活动三种,那我就需要在活动模块里面重写三个View供外部调用,例如ActivityRecentView、ActivityMessageView、ActivityMyView.
最后达到的效果是通过修改gradle.properties的参数的布尔值,可以让整体项目跑起来,也可以每个模块单独跑起来。(如何实现会在后面跟进)

三、组件化开发的好处

  1. 代码好整理不混乱,将项目的所有的模块分开以后,你会发现每个模块的代码都很少很整洁,易读性提高很多。最大的一个感受就是接别人的代码几乎不用过度的时间,很轻松就能看明白。
  2. 并行开发,提高开发效率。当有新的业务产生的时候,你只需要创建属于你自己的module,当然这个module式可以独立运行的。
  3. 对于哪些代码管理工具使用的不六的人就是终于不用再处理代码混淆了。
  4. 提升项目开发效率,最简单的一个例子,我司是有属于自己的组件库的,最快的应该是2周出了一个APP,速度式干干的。我们平时的工作基本上都是写新的业务组件、维护旧的业务组件。

没有引用官方的语言,说大家听不懂的一些话,写的时候思维有一点混乱,会在后期及时更新一些组件化的内容。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值