● 内容全面 覆盖规范、架构、模块及解决方案。 ● 循序渐 由及面、由浅深,逐步破技术难 。 ● 注重实操 通过丰富的实例,深刻理解每个知识。 1. 内容全面 本书包括 Android 发过程中所涉及到的发规范、架构、模块、解决方案、App 实战发等部分,同时还包括团队管理方面的内容,可以说覆盖了 Android 发所涉及到的各个方面。每个部分均会再次细化并有详细说明,同时附带大量图片加以介绍。 2. 实例多 本书每个章节在介绍了相关知识后,都会配备相应的实例,书中会展示关键部分代码,并且代码配有详细注释,完整实例源码整理在随书源码中。 3. 实战性强 本书不仅从技术角度详细介绍 Android 知识,更重要的是会指引读者如何手动实现这些功能,比如如何实现框架和模块。实现过程中会通过需求分析、技术分析、代码实现、总结等步骤一步一步指导实现过程,并让读者深了解实现原理。 4. 解决方案多 本书结合 Android 实战发过程中可能遇到的问题提供了丰富的解决方案。这些解决方案均是根据在实际发中遇到的常用的问题所提出的,经过了长时间的检验,可靠性实用性强。 5. 章节安排合理 本书四个篇章的安排体现了 App 发过程的系统性、完整性,并且依据循序渐的原则,让读者从浅到深、由及面,更好地理解整个 Android 发体系。同时,每个篇章自身也可独立成章,以满足不同阅读需求的读者。
售 价:¥
纸质售价:¥54.50购买纸书
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
扉页
内容提要
前言
第一篇 规划篇
第1章 编码规范
1.1 命名规范
1.1.1 Android包命名规范
1.1.2 Android代码命名规范
1.1.3 Android资源文件命名规范
1.2 代码规范
1.2.1 IDE规范
1.2.2 CheckStyle
1.2.3 代码注释
1.2.4 JavaDoc
1.2.5 .gitignore
1.2.6 ProGuard
第2章 开发规范
2.1 API接口规范
2.1.1 API接口安全设计规范
2.1.2 API接口通用设计规范
2.2 SDK设计规范
2.2.1 SDK通用规范
2.2.2 SDK开发规范
2.2.3 SDK开发实例
2.3 App常用安全开发规范
2.3.1 加壳
2.3.2 组件外露
2.3.3 WebView
2.3.4 Logcat日志
2.3.5 网络请求
2.3.6 API接口
2.3.7 so文件
2.4 CodeReview规范
2.4.1 CodeReview目的
2.4.2 CodeReview清单vs Bad Smell
2.4.3 CodeReview方式
2.4.4 CodeReview输出
第3章 版本管理规范
3.1 Git版本管理规范
3.1.1 Git版本管理说明
3.1.2 Git版本管理流程图
3.1.3 Git分支命名规范
3.1.4 Git分支管理表格图
3.1.5 Git备忘录
3.2 Maven使用规范
3.2.1 Maven简介
3.2.2 snapshot和release
3.2.3 Maven上传的两种方法
3.2.4 引用Maven
3.2.5 Maven版本号
3.2.6 免费Maven服务器
3.2.7 上传到JCenter
第4章 打包发布规范
4.1 App打包规范
4.1.1 打包前
4.1.2 打包后
4.1.3 发版后
4.1.4 发版备注
4.2 App发布规范
4.2.1 全量发布
4.2.2 灰度发布
第5章 团队管理规范
5.1 任务管理规范
5.2 需求评审规范
5.3 过程管理规范
第二篇 开发篇
第6章 常用设计模式
6.1 设计模式六大原则
6.1.1 单一职责原则
6.1.2 里氏替换原则
6.1.3 依赖倒置原则
6.1.4 接口隔离原则
6.1.5 迪米特法则
6.1.6 开闭原则
6.2 单例模式
6.2.1 单例模式介绍
6.2.2 单例模式实现
6.2.3 静态类
6.2.4 单例和静态类的选择
6.3 工厂模式
6.3.1 简单工厂
6.3.2 工厂方法
6.3.3 抽象工厂
6.4 观察者模式
6.4.1 Java自带的观察者
6.4.2 自己实现观察者模式
6.5 Builder模式
6.5.1 为什么要用Builder模式
6.5.2 Builder模式的实现
6.6 代理模式
6.6.1 静态代理
6.6.2 动态代理
6.6.3 动态代理应用:简单工厂
6.6.4 动态代理应用:AOP
6.7 策略模式
6.7.1 策略模式介绍
6.7.2 策略模式实现
6.7.3 关于SLF4J
6.8 模板模式
6.8.1 模板模式介绍
6.8.2 模板模式实现
6.9 适配器模式
6.9.1 适配器模式介绍
6.9.2 适配器模式实现
第7章 设计框架
7.1 MVC
7.1.1 MVC介绍
7.1.2 MVC的优点、缺点、适用范围
7.1.3 MVC实例
7.2 MVP
7.2.1 MVP介绍
7.2.2 MVP的优点、缺点、适用范围
7.2.3 MVP实例
7.3 MVVM
7.3.1 MVVM介绍
7.3.2 MVVM的特点
7.3.3 MVVM实例
第8章 动手写框架
8.1 TinyMVP
8.1.1 回顾MVP
8.1.2 常规解决方案
8.1.3 MVP优化:泛型
8.1.4 MVP优化:减少接口
8.1.5 MVP优化:生命周期
8.2 TinyMVVM
8.2.1 回顾MVVM
8.2.2 MVVM第一种实现
8.2.3 MVVM第二种实现
8.2.4 MVVM第三种实现
8.3 TinyModule
8.3.1 关于Module
8.3.2 TinyModule的实现
8.3.3 拓展:Module的MVP化
第9章 常用模块
9.1 功能模块
9.1.1 网络请求
9.1.2 图片加载
9.1.3 数据库
9.1.4 异步分发
9.1.5 IOC
9.1.6 数据解析
9.1.7 权限
9.2 UI模块
9.2.1 Adapter
9.2.2 Refresh
9.2.3 Tab
9.2.4 Banner
9.2.5 ImageView
第10章 动手写模块
10.1 日志模块:TinyLog
10.1.1 日志模块需求
10.1.2 日志模块技术分析
10.1.3 日志模块代码实现
10.1.4 总结
10.2 权限模块:TinyPermission
10.2.1 权限模块需求
10.2.2 权限模块技术分析
10.2.3 权限模块代码实现
10.2.4 总结
10.3 任务模块:TinyTask
10.3.1 任务模块需求
10.3.2 任务模块技术分析
10.3.3 任务模块代码实现
10.3.4 总结
10.4 异步分发模块:TinyBus
10.4.1 异步分发模块需求
10.4.2 异步分发模块技术分析
10.4.3 异步分发模块代码实现
10.4.4 总结
10.5 网络模块:TinyHttp
10.5.1 网络模块需求
10.5.2 网络模块技术分析
10.5.3 网络模块代码实现
10.5.4 总结
10.6 图片模块:TinyImage
10.6.1 一种封装图片调用的方式
10.6.2 Glide调用的改造
10.6.3 图片框架的切换
10.6.4 总结
10.7 数据库模块:TinySql
10.7.1 数据库模块需求
10.7.2 数据库模块技术分析
10.7.3 数据库模块代码实现
10.7.4 总结
10.8 两种开源数据库的封装
10.8.1 对GreenDao数据库的封装
10.8.2 对OrmLite数据库的封装
10.9 IOC模块:TinyKnifer
10.9.1 IOC模块需求
10.9.2 IOC实现:注解+反射
10.9.3 IOC实现:注解+AnnotationProcessor+JavaPoet
10.10 Adapter模块:TinyAdapter
10.10.1 Adapter模块需求
10.10.2 Adapter模块技术分析
10.10.3 Adapter模块代码实现
10.10.4 总结
10.11 下拉刷新模块:TinyPullToRefresh
10.11.1 下拉刷新模块需求
10.11.2 下拉刷新模块技术分析
10.11.3 下拉刷新模块代码实现
10.12 综合应用:TinyTemplate
第三篇 扩展篇
第11章 常用开发解决方案
11.1 设计方案:蓝湖
11.2 产品方案:Axure
11.2.1 Axure优点
11.2.2 Axure和蓝湖
11.2.3 Axure实例
11.3 Mock方案:Postman
11.3.1 为什么要模拟API接口
11.3.2 利用Postman模拟API接口
11.4 长连接方案:Mars
11.4.1 为什么用Mars
11.4.2 .proto文件
11.4.3 自动生成Java文件
11.4.4 Android中的调用
11.5 伪协议方案
11.5.1 URL Scheme定义
11.5.2 URL Scheme解析
11.5.3 URL Scheme应用
11.5.4 URL Scheme应用场景
11.6 App预埋方案
11.6.1 升级
11.6.2 功能开关
11.6.3 通用弹框
11.6.4 旧版本和新版本字段兼容
11.6.5 extension扩展字段
11.6.6 权限管理
11.6.7 域名替换
11.7 Gradle配置方案
11.7.1 Gradle简介
11.7.2 配置信息
11.7.3 使用.each引入依赖库
11.7.4 任务信息
11.8 串行与并行方案:RxJava
11.8.1 什么是串行和并行
11.8.2 串行:FlatMap
11.8.3 串行:Concat
11.8.4 并行:Merge
11.8.5 并行:Zip
11.9 设计一种串行方案
11.10 异常处理方案
11.10.1 异常介绍
11.10.2 异常抛出
11.10.3 异常捕获
11.10.4 Android全局异常的捕获
11.10.5 预防异常
11.11 Android动画方案:属性动画
11.11.1 视图动画和属性动画
11.11.2 属性动画的应用
11.11.3 Lottie
11.12 Android Studio动态调试方案
11.13 自定义View方案
11.13.1 自定义View简介
11.13.2 View绘制流程
11.13.3 坐标系
11.13.4 方案一:继承系统View控件
11.13.5 方案二:组合控件
11.13.6 方案三:重写View
11.14 组件化方案
11.14.1 为什么要进行组件化开发
11.14.2 组件化改造方案
11.14.3 组件化开发手册
11.14.4 组件化开发实战
第12章 Android优化
12.1 内存泄漏
12.1.1 Static静态变量
12.1.2 InnerClass内部类
12.1.3 其他导致内存泄漏的场景
12.1.4 LeakCanary
12.2 编译速度
12.2.1 配置文件优化
12.2.2 Gradle脚本优化
12.2.3 其他优化方案
第13章 测试
13.1 压力测试Monkey
13.2 JUnit、Espresso、Mockito、Robolectric
13.2.1 JUnit
13.2.2 Espresso
13.2.3 Mockito
13.2.4 Robolectric
13.2.5 综合应用
13.2.6 扩展:mock植入和反射
第14章 工具
14.1 Android模拟器
14.1.1 AVD
14.1.2 Genymotion
14.1.3 MuMu模拟器
14.2 文档管理
14.2.1 文档共享和编辑平台
14.2.2 知识管理平台
14.2.3 任务管理和缺陷跟踪平台
14.3 9PNG的应用
14.3.1 字体阴影
14.3.2 用9png图片实现通用阴影效果
14.3.3 用9png图片实现网络传输
14.4 CI:持续集成
14.4.1 Jenkins
14.4.2 Travis
14.5 Kotlin学习
14.5.1 Kotlin语法手册
14.5.2 Kotlin在Android上的应用
14.6 其他的一些与开发相关的工具
14.6.1 图片压缩
14.6.2 源码阅读
14.6.3 Stetho
14.6.4 Android Asset Studio
第四篇 实战篇
第15章 Github客户端开发
15.1 Github需求
15.2 Github原型图
15.3 技术选型
15.3.1 架构
15.3.2 功能模块
15.3.3 UI模块
15.3.4 技术方案
15.4 开发准备
15.4.1 新建工程
15.4.2 目录结构
15.4.3 图标
15.4.4 配置文件
15.4.5 辅助工具
15.5 开发实现:架构与模块
15.5.1 MVVM架构
15.5.2 网络模块
15.5.3 图片模块
15.5.4 数据库模块
15.5.5 base模块
15.5.6 数据模块
15.5.7 其他模块
15.6 开发实现:业务
15.6.1 启动页
15.6.2 登录页
15.6.3 首页
15.6.4 开源项目和搜索
15.6.5 国际化
第16章 打包与发布
16.1 打包
16.2 发布
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜