Android组件化架构
  • 推荐2
  • 收藏9
  • 浏览4.4K

Android组件化架构

曾家乐 (作者) 

  • 书  号:978-7-121-33677-5
  • 出版日期:2018-03-27
  • 页  数:316
  • 开  本:16(185*235)
  • 出版状态:上市销售
纸质版 ¥79.00
本书首先介绍Android组件化开发的基础知识,剖析组件化的开发步骤和常见问题,探究组件化编译原理和编译优化措施。其次在项目架构上,介绍如何组织团队来使用组件化开发,并将业务和人力进行解耦。最后深入介绍组件化分发技术及运用,探讨组件化架构的演进及架构的思维。
这是一本关于Android组件化的书籍
这是一本关于Android入门的书籍。
这是一本关于Android进阶的书籍。
这是一本关于Android编程原理的书籍。
这是一本关于Android架构的书籍。
我更愿意将这本书看作一本关于思维哲学的书籍。
书的用途,因人而异,有人用来垫书桌,有人将其作为工具,有人将其细细品味……
你用什么角度和什么态度来看待图书,它就会以什么形态展现在你眼前。
? 当你将它作为一本Android工具书时,它会指导你对Android的进阶学习。
? 当你将它作为一本软件架构书籍时,它会将工具和人的思想关联来调整你对架构的认知。
? 当你将它作为一本思维哲学书籍时,你有可能对Android开发有新的认识。
前  言




这是一本关于Android组件化的书籍
这是一本关于Android入门的书籍。
这是一本关于Android进阶的书籍。
这是一本关于Android编程原理的书籍。
这是一本关于Android架构的书籍。
我更愿意将这本书看作一本关于思维哲学的书籍。
书的用途,因人而异,有人用来垫书桌,有人将其作为工具,有人将其细细品味……
你用什么角度和什么态度来看待图书,它就会以什么形态展现在你眼前。
? 当你将它作为一本Android工具书时,它会指导你对Android的进阶学习。
? 当你将它作为一本软件架构书籍时,它会将工具和人的思想关联来调整你对架构的认知。
? 当你将它作为一本思维哲学书籍时,你有可能对Android开发有新的认识。
本书概要
第1章:组件化基础。
本章重点介绍组件化中开发的基础概念。首先介绍组件化中的依赖和解耦,然后介绍组件化中AndroidManifest的合成差异,最后深度认识Application的重要作用。

第2章:组件化编程。
本章介绍组件化中相关的开发编程技术,包括组件化通信、组件化存储、跨模块跳转、资源冲突解决、多模块渠道、资源混淆、数据库运用、签名相关的运用及原理剖析。

第3章:组件化优化。
本章介绍如何使用Gradle对组件化中多种使用方式的优化,以及对编译适配的优化。随后介绍使用Git仓库来组织多人进行组件化开发,以及多人开发的项目解耦。

第4章:组件化编译。
本章介绍如何在组件化项目中缩短编译时间。首先介绍Gradle的打包流程,以及Gradle构建基础。随后介绍Instant Run的使用和适用场景。最后介绍Freeline增量编译,以及部分原理剖析。

第5章:组件化分发。
本章介绍如何在单页面中处理复杂的业务逻辑。首先介绍Activity、Fragment、View的生命周期,以及组件化分发架构的嵌入。随后介绍依赖倒置型的设计和层级问题的解决方法,其中插叙了编译期注解的高效生成代码的形式。最后介绍动态加载配置的形式。

第6章:组件化流通。
本章介绍如何在组件化中工程封装工具SDK。首先介绍Maven基础和组件化中的缓存策略,随后介绍组件化中SDK的合成方式,最后介绍如何将SDK发布到流通平台中。

第7章:架构模板。
本章介绍如何制定组件化多人开发规范。首先介绍自定义Android Studio的模板及组件化模板的制作,随后介绍注解提示的使用。

第8章:架构演进。
本章介绍Android工程架构的演进,包括线程工程架构、组件化基础架构、模块化架构、多模板架构,以及进程化架构的原理基础。让读者能对Android架构有更加深入的了解。
读者对象
本书适合以下学习阶段的读者阅读:
? Android进阶学习阶段;
? Android组件化学习阶段;
? Android架构初级学习阶段
? 移动端开发思维哲学学习阶段。
致谢
感谢父母对我的思想启蒙的培育;感谢我的妻子丸子对我写作的鼓励和生活的照顾;感谢我曾经就职的广州三星和现在在职的欢聚时代。感谢Android组件化架构QQ群中的映客科技King、搜狐56夜闪冰、RetroX、亚伦,以及各位同学对我出版书籍内容上的建议。
勘误和互动
如果读者发现本书中文字、代码和图片的信息存在错误或者纰漏,欢迎反馈给我。若是对书中内容或者Android组件化架构存在疑问,可以在我的简书、掘金、QQ群中与我互动,届时会在这些平台发布勘误的信息,并欢迎各位读者的提问和建议。
QQ群:316556016
简书:http://www.jianshu.com/u/cd0fe10b01d2
掘金:https://juejin.im/user/565c6d3100b0acaad47e9050
GitHub:https://github.com/cangwang

苍王

目录

第1章 组件化基础
1.1 你知道组件化吗
1.2 基础组件化架构介绍
1.2.1 依赖
1.2.2 聚合和解耦
1.3 重新认识AndroidManifest
1.3.1 AndroidManifest属性汇总
1.3.2 AndroidManifest属性变更
1.4 你所不知道的Application
1.4.1 Applicaton的基础和作用
1.4.2 组件化Application
1.5 小结
第2章 组件化编程
2.1 本地广播
2.1.1 本地广播基础介绍
2.1.2 使用方法
2.1.3 本地广播源码分析
2.2 组件间通信机制
2.2.1 组件化层级障碍
2.2.2 事件总线
2.2.3 组件化事件总线的考量
2.3 组件间跳转
2.3.1 隐式跳转
2.3.2 ARouter路由跳转
2.3.3 Android路由原理
2.3.4 组件化最佳路由
2.3.5 空类索引
2.4 动态创建
2.4.1 反射基础
2.4.2 反射进阶
2.4.3 反射简化jOOR
2.4.4 动态创建Fragment
2.4.5 动态配置Application
2.5 数据存储
2.5.1 数据的存储方式
2.5.2 组件化存储
2.5.3 组件化数据库
2.6 权限管理
2.6.1 权限机制
2.6.2 组件化权限
2.6.3 动态权限框架
2.6.4 路由拦截
2.7 静态常量
2.7.1 资源限制
2.7.2 组件化的静态变量
2.7.3 R2.java的秘密
2.8 资源冲突
2.8.1 组件化的资源汇合
2.8.2 组件化资源冲突
2.9 组件化混淆
2.9.1 混淆基础
2.9.2 资源混淆
2.9.3 组件化混淆
2.10 多渠道模块
2.10.1 多渠道基础
2.10.2 批量打包
2.10.3 多渠道模块配置
2.11 小结
第3章 组件化优化
3.1 Gradle优化
3.1.1 Gradle基础
3.1.2 版本参数优化
3.1.3 调试优化
3.1.4 资源引用配置
3.1.5 Gradle 4.1依赖特性
3.2 Git组件化部署
3.2.1 submodule子模块
3.2.2 subtree
3.3 小结
第4章 组件化编译
4.1 Gradle编译
4.1.1 Android基础编译流程
4.1.2 Instant Run
4.1.3 更优的Gradle构建策略
4.2 极速增量编译
4.2.1 Freeline的使用
4.2.2 Freeline运行介绍
4.3 小结
第5章 组件化分发
5.1 Activity分发
5.1.1 Activity的生命周期
5.1.2 Acitity分发技术
5.2 Fragment分发
5.2.1 Fragment的生命周期
5.2.2 Fragment分发技术
5.3 View分发
5.3.1 View的生命周期
5.3.2 View分发技术
5.4 依赖倒置
5.4.1 依赖倒置原则
5.4.2 依赖倒置分发
5.5 组件化列表配置
5.5.1 Javapoet语法基础
5.5.2 编译时注解配置
5.5.3 集成配置列表
5.6 加载优化
5.6.1 线程加载
5.6.2 模块懒加载
5.7 层级限制
5.8 多模板设计
5.8.1 多模板注解
5.8.2 脚本配置
5.8.3 动态配置
5.9 小结
第6章 组件化流通
6.1 内部流通
6.1.1 Maven基础
6.1.2 本地缓存
6.1.3 远程仓库
6.2 组件化SDK
6.2.1 SDK基础知识
6.2.2 Python脚本合并
6.2.3 fat-aar脚本合并
6.3 JCenter共享
6.4 小结
第7章 架构模板
7.1 组件化模板
7.1.1 模板基础
7.1.2 模板制作
7.1.3 实时模板
7.1.4 头部注释模板
7.2 注解检测
7.3 小结
第8章 架构演化
8.1 基础架构
8.2 基础组件化
8.3 模块化
8.4 多模板化
8.5 插件化
8.6 进程化
8.7 小结
附录A 思维与架构

本书勘误

印次
  • 页码:23  •  行数:6  •  印次: 1

    LocalBroadcastManager.getInstance.unregisterReceiver(lbm);
    1.getInstance没有参数 this
    2.unregisterReceiver 的参数是 BroadcastReceiver 的对象,而不该是 lbm 这个对象

    743ren 提交于 2018/8/26 21:24:05
    陈晓猛 确认于 2018/8/27 9:02:56
  • 页码:64  •  行数:5  •  印次: 1

    1.Public class GankApplication extends ... 的 public 首字母应小写。
    2.2.5.1 节”数据的存储方式”,SharedPreferences 都写错了,有地方写成 SharePreference,有地方写成 SharePreferences

    743ren 提交于 2018/9/2 11:41:39
    陈晓猛 确认于 2018/9/3 9:53:36

读者评论

  • 陈先生,购买您的书下载源码运行不了,书中所写到的东西很少,第三章中的有关common_config.gradle配置文件中有些问题想咨询您,QQ群加不了,您的QQ加了没有回应,请问还有什么方式可以联系您…

    鲁乐发表于 2019/1/8 9:27:40
  • 我在京东上卖了书之后,看到你在读者服务中说明 本书的示例代码和资源文件,均可以在下载资源处下载,资源下载处是哪儿?是github吗?

    刘先生发表于 2018/5/30 0:37:35
    • 已经上传,也可以关注作者github:https://github.com/cangwang/ModuleBus

      陈晓猛发表于 2018/6/8 10:52:25

相关图书

Android进阶之光(第2版)

刘望舒 (作者)

本书是一本Android进阶类图书,书中各知识点由浅入深、环环相扣,最终这些知识点形成了一个体系结构。本书共分为11章。第1章介绍从Android 5.0到An...

 

Android音视频开发

何俊林 (作者)

近年来,直播、短视频行业的相关业务发展迅猛,本书主要介绍其中涉及的Android音视频开发相关技术。本书一共有11章,分别介绍了音视频基础知识、MediaPla...

¥69.00

Android进阶解密

刘望舒 (作者)

本书是一本Android进阶书籍,主要针对Android 8.0系统源码并结合应用开发相关知识进行介绍。本书共分为17章,从3个方面来组织内容。<br>第一方面...

¥69.00

Android自定义控件开发入门与实战

启舰 (作者)

在Android中,官方提供的控件是非常有限的,而我们所面临的需求却是多样的。大家在工作中难免会接触到自定义控件的需求,但系统讲解自定义控件知识的书籍却少之又少...

¥99.00

深入剖析Android新特性

强波 (作者)

本书对最近几个版本(5.0 ~ 8.0)的主要新增功能进行整理和解析,本书的重点不仅仅是讲解这些新增功能特性的外部行为,而是在结合AOSP的源码基础上,解析这些...

¥79.00

Android应用开发进阶

范磊 (作者)

本书为Android应用开发进阶的参考用书,旨在帮助Android开发者能够快速有效地掌握Andriod应用开发进阶相关的知识点。本书内容为Android应用开...

¥89.00