本书收集了约20个关于高级Android开发的进阶实例,这些实例都是对在日常开发中遇到的问题的抽象,涉及整个Android开发的各个技术栈。本书从常见的问题入手,引导读者逐步地掌握进阶的各个实例,同时提供分析和解决问题的思考过程,寻求优秀方案。本书的内容分为以下几个部分。 进阶基础:通过管中窥豹,剖析Activity和View的一些基本概念,展示源码分析的常见方法;高阶控件:讲解MD的两个复合布局和约束布局,介绍高级控件的开发流程;项目架构:架构是项目的骨骼,该部分介绍主流的MVP系列和Flux架构;响应式编程:解析响应式编程三剑客RxJava+Dagger+Retrofit的不同特性组合使用方法;功能与动画:列举若干实际开发中的经典实例,包含功能定制和页面动画等;Kotlin与SVG:讲解Kotlin编程语言和SVG图像技术的若干开发技巧;测试与优化:介绍自动化测试框架的设计方法,以及优化应用的常用工具。 通过对本书的学习,读者可以极大地提高Android开发的工程能力,从而成为一名合格的高级Android工程师,不仅在理论上有所提升,在实践中也能直接应用。高级Android工程师通过对本书的学习也能完善知识体系和技术栈。
王辰龙 算法资深工程师,毕业于北京交通大学。在移动互联网公司从事多年技术研发工作,对于技术与产品有着深刻的理解。热爱开源,热爱分享,追求优秀的技术实现。践行工匠精神,崇尚“艺无止境”。
第1章 进阶基础
1.1 深入剖析 Activity 的生命周期
1.1.1 Activity的生命周期的各种状态
1.1.2 实例:准备
1.1.3 实例:因硬件导致的生命周期变化
1.1.4 实例:页面切换时的生命周期变化
1.1.5 实例:由系统原因导致的生命周期变化
1.2 深入剖析Activity的启动模式
1.2.1 ADB命令
1.2.2 标准模式
1.2.3 栈顶复用模式
1.2.4 栈内复用模式
1.2.5 单实例模式
1.2.6 startActivity
1.3 深入剖析View的工作流程
1.3.1 装饰视图和MeasureSpec
1.3.2 测量
1.3.3 布局
1.3.4 绘制
1.4 深入剖析View的动画原理
1.4.1 默认视图动画
1.4.2 自定义视图动画
1.4.3 帧动画
1.4.4 属性动画
1.4.5 列表控件
第2章 高阶控件
2.1 熟练掌握AppBarLayout的开发技术
2.1.1 搭建项目框架
2.1.2 页面设置ViewPager布局
2.1.3 页面添加AppBarLayout布局
2.1.4 页面添加AppBarLayout逻辑
2.1.5 页面添加AppBarLayout动画
2.2 熟练掌握 CoordinatorLayout的开发技术
2.2.1 项目框架
2.2.2 布局设计
2.2.3 联动逻辑
2.2.4 图片交互
2.3 熟练掌握 ConstraintLayout 的开发技术
2.3.1 工程配置
2.3.2 约束布局
2.3.3 链式结构
第3章 项目架构
3.1 顶层设计 Android 的工程架构
3.1.1 MVC架构
3.1.2 MVP架构
3.1.3 MVVM架构
3.2 顶层设计基于Flux的流式架构
3.2.1 视图
3.2.2 行为创建器
3.2.3 调度器
3.2.4 存储器
第4章 响应式编程
4.1 全面解析响应式库RxJava的使用方式
4.1.1 项目框架
4.1.2 链式表达式
4.1.3 流的加工函数
4.1.4 Ambda表达式
4.1.5 网络请求
4.1.6 控件的异步事件
4.1.7 线程安全
4.2 全面解析依赖注入库 Dagger 的使用方式
4.2.1 工程配置
4.2.2 主页逻辑
4.2.3 详情逻辑
4.3 基于响应式编程的网络数据同步及缓存框架
4.3.1 工程配置
4.3.2 首页
4.3.3 数据源
4.3.4 依赖注入
4.3.5 无缓存模式
4.3.6 缓存模式
第5章 炫酷功能
5.1 设计与实现朋友圈视频的滚动播放功能
5.1.1 项目框架
5.1.2 视频列表
5.1.3 视频项的适配器
5.1.4 视频列表项
5.2 设计与实现基于 DialogFragment 的底部弹窗布局
5.2.1 首页逻辑
5.2.2 弹窗样式
5.2.3 弹窗逻辑
第6章 精美动画
6.1 实现页面切换中元素分享的动画效果
6.1.1 项目框架
6.1.2 效果显示动画
6.1.3 预留位置动画
6.2 实现页面展开中圆形爆炸的动画效果
6.2.1 首页逻辑
6.2.2 新页逻辑
6.2.3 显示动画
6.2.4 退出动画
第7章 Kotlin与SVG
7.1 Kotlin基础教程
7.1.1 基础部分
7.1.2 进阶部分
7.2 SVG基础教程
7.2.1 Vector图像
7.2.2 Vector动画
7.2.3 第三方Sharp库
第8章 测试与优化
8.1 基于Espresso和Dagger的自动化测试框架
8.1.1 工程配置
8.1.2 业务逻辑
8.1.3 功能测试
8.2 优化内存泄漏与电量消耗的技术框架
8.2.1 内存泄漏
8.2.2 电量优化
高级Android开发强化实战pdf