在之前的《纯手写路由框架实现Android组件化》中讲到了Android APT技术,并且在讲解视频中使用APT了技术,加以JavaPoet辅助代码生成实现了一个最简单的基于注解的View注入(其实就是省略了大量的findViewById方法)。如果只是单纯的想体验APT技术带来的便捷性,那么这篇文章非常适合,APT从讲是一个编译期的注解处理工具(Annotation Processing Tool)。一些主流的三方库,如ButterKnife、EventBus等都用到了这个技术来生成代码。
基于 CentOS7.5操作系统编译安装Redis,在这里可以找到全部的Redis版本源代码:https://download.redis.io/releases/,本次编译选择的是 redis-4.0.10的版本。
Android调试桥(Android Debug Bridge,简称ADB)。本文主要是记录如何在WLAN网络下进行ABD连接设备以及一些常用的ADB命令,还有ADB的组成以及原理简要说明。
Gradle作为一款优秀的构建工具,也作为是目前Android主流的构建工具,不管是通过命令行还是通过GUI方式构建,背后都是通过Gradle来实现的,所以学习Gradle非常重要。无论是组件化、插件化、热修复等技术都需要对Gradle比较了解,不懂Gradle将无法完成上述事情,所以Gradle必须要学习。这篇文章主要是针对组件化的Android项目,如何使用Gradle完成公共配置项的抽取,Gradle如何定义Task,工程测试环境与正式环境的自动配置等内容。
在非常简单的业务场景下,单一工程就可以实现一个完整的App,而且维护和开发都非常简单。但是当一个App涉及到很多功能,单一的Module显得很吃力。如果整个工程一个 Module,业务逻辑都写在app模块中不同的包下:无论分包做的再好,随着项目增大也会失去层次感,接手起来也很吃力;而且包名约定作为约束太弱,一不注意就出现不同业务包之间直接相互调用,代码高度耦合;多人联合开发在版本管理中很容易出现冲突和代码覆盖问题。那么就很容易出现下面的场景:
// when I wrote this, only god and I understood what I was doing // Now, god only knows
本文主要围绕什么是组件化,为什么需要组件化,如何进行组件化展开。路由在Android组件化开发中的重要作用,分析路由框架的实现原理,如何一步一步实现一个路由框架。