重拾Android之路(二十三)组件化和路由

网上关于组件化和路由的文章非常多,自己看了之后最大的感觉都是好深奥,好难懂。特别是对于新手来说,是特别难入手。但是我们现在的项目有比较大,如果继续使用原有的项目结构,每次编译和执行都要耗费很多的时间,所以使用组件化是重中之重,没办法,硬着头皮硬上。

为什么使用组件化

使用组件化之前,我们必须要知道是什么样的情况让我们想要去使用组件化,而放弃了我们使用了很久的原有操作。

  1. 通常情况下,我们写一个或者几个依赖库,那么当我们需要使用的时候,直接引入即可。这些引入的依赖库一般都是与业务逻辑无关,相对而言比较独立的。那么我们会在app这个module中写大量的业务逻辑代码,这时候,随着业务逻辑的增多,不可避免的会造成包的增加,管理起来很麻烦
  2. 我们在发现一个bug的时候,往往修复一下,就需要将整个项目都build一遍,浪费时间
  3. 在多人合作开发的时候,会有代码冲突,因为毕竟大家有可能修改的是同一个文件

那么组件化就是要求在开发的过程中,除了将一些业务无关的代码提取出成为依赖库之外,还可以将各个不同的业务逻辑提取出一个个的module。举个例子来说,像微信一样,整个应用的主逻辑代码放在app模块下,而除了主逻辑代码之后,还有聊天模块,联系人模块,发现模块,我的模块。那么这四个部分就可以分为四个不同的module,然后让这四个module在分别依赖于依赖库,这样可以将app模块的代码大量减少。其中的依赖关系如图所示
重拾Android之路(二十三)组件化和路由_第1张图片
大致就是这个意思。
那么实现组件化最终会帮我们解决的两个问题就是

  1. 设置模块之间的依赖,且使得业务模块可单独编译–通过配置gradle即可解决
  2. 业务模块之间的页面跳转以及通信–使用阿里开源的ARouter即可解决

ARouter

ARouter是由阿里巴巴提供的一套Android路由框架,使用这个路由框架可以很大程度上解决不同模块之间的传递消息,项目跳转等问题。这个是网址,里面有各种各样的使用方法和使用技巧。例子也有,这里就不再一一赘述

参考资料

一篇文章搞懂Android组件化
Android组件化最佳路由ARetrofit
Android组件化方案

你可能感兴趣的:(Android记录)