计算机
类型
可以朗读
语音朗读
270千字
字数
2021-12-01
发行日期
展开全部
主编推荐语
本书系统讲解了Android Jetpack组件库的使用和原理。
内容简介
本书具体涉及应用架构、生命周期管理、数据库操作、UI数据绑定等。
第1章概括地讲述Android Jetpack的目标、内容等;第2~5章介绍Jetpack组件中的基础内容,具体涉及用于不同Android版本间的UI兼容处理组件、用于Kotlin编程语言的KTX扩展组件、多Dex打包APK组件以及包含单元测试、UI测试、集成测试的测试组件;第6~13章介绍Jetpack组件库中架构的内容,这也是本书的重点部分,具体涉及视图绑定组件、生命周期组件、页面导航组件等多种架构组件,以及用于本地数据库存储的Room组件和用于处理分页加载的Paging组件。
通过使用Jetpack可以大大提升Android开发的效率,因此本书非常适合Android开发人员使用。
目录
- 版权信息
- 内容简介
- 作者简介
- 前言
- 第1章 概述
- 1.1 Android Jetpack是什么
- 1.1.1 基础部分
- 1.1.2 架构部分
- 1.1.3 界面部分
- 1.1.4 行为部分
- 1.2 Android Jetpack的发展史与AndroidX
- 1.2.1 Android App开发简史
- 1.2.2 Android Jetpack的诞生和使命
- 1.2.3 Android Jetpack与AndroidX的关系
- 1.3 如何使用本书
- 1.3.1 开发环境概览
- 1.3.2 本书的结构
- 1.3.3 本书的用法
- 第2章 Appcompat UI兼容组件
- 2.1 Appcompat概览
- 2.2 集成Appcompat库
- 2.3 App Bar
- 2.3.1 什么是App Bar
- 2.3.2 添加ToolBar控件
- 2.3.3 给ToolBar设置标题和子标题
- 2.3.4 在ToolBar上添加图标
- 2.3.5 在ToolBar上增加返回按钮
- 2.3.6 在ToolBar上添加菜单
- 2.3.7 为ToolBar添加搜索功能
- 2.3.8 自定义ToolBar样式
- 2.3.9 ToolBar小结
- 2.4 AppCompatActivity与AppCompatDelegate
- 2.4.1 认识AppCompatActivity
- 2.4.2 实战AppCompatDelegate
- 2.5 AppCompatDialogFragment
- 2.5.1 AppCompatDialogFragment和AppCompatDialog
- 2.5.2 实战简单对话框
- 2.5.3 实战列表选择对话框
- 2.5.4 自定义菜单布局
- 2.5.5 AppCompatDialogFragment小结
- 2.6 AppCompatResources
- 2.6.1 点击状态选择器
- 2.6.2 从resId获取Drawable对象
- 2.7 AnimatedStateListDrawableCompat
- 2.7.1 定义动画执行脚本
- 2.7.2 执行动画
- 2.8 ActionMenuView
- 2.8.1 添加菜单项
- 2.8.2 添加ActionMenuView
- 2.8.3 绑定ActionMenuView和菜单项,并实现点击响应
- 2.9 AppCompatAutoCompleteTextView与AppCompatMultiAutoCompleteTextView
- 2.9.1 认识ViewCompat类
- 2.9.2 理解PorterDuff混合模式
- 2.9.3 实战更改背景色调
- 2.10 AppCompatButton和AppCompatToggleButton
- 2.10.1 设置按钮文本风格
- 2.10.2 设置按钮文本是否自动大写
- 2.11 AppCompatCheckBox与AppCompatRadioButton
- 2.12 AppCompatCheckedTextView
- 2.13 AppCompatEditText
- 2.13.1 定义操作菜单
- 2.13.2 实现所选文本自定义操作功能
- 2.14 AppCompatImageButton和AppCompatImageView
- 2.14.1 图片色调适用场景
- 2.14.2 添加矢量图素材
- 2.14.3 定义矢量图色调
- 2.14.4 设置矢量图色调
- 2.15 AppCompatSpinner
- 2.16 AppCompatTextView
- 2.16.1 文本自适应显示使用场景
- 2.16.2 开启自适应显示模式
- 2.16.3 配置自定义缩放方式
- 2.16.4 通过预设值方式缩放
- 2.17 TooltipCompat
- 2.18 其他控件及注意事项
- 第3章 Android KTX扩展组件
- 3.1 概述
- 3.2 Core KTX
- 3.2.1 Animation
- 3.2.2 Content
- 3.2.3 Database
- 3.2.4 Graphics
- 3.2.5 Util
- 3.2.6 View
- 3.3 Collection
- 3.3.1 集成Collection KTX
- 3.3.2 获取集合中所有的Key和Value
- 3.3.3 集合的遍历
- 3.3.4 集合元素的增加与替换
- 3.4 Fragment
- 3.4.1 集成Fragment KTX
- 3.4.2 Fragment事务操作
- 3.5 小结
- 第4章 MultiDex打包APK
- 4.1 APK解构
- 4.2 64KB方法数限制
- 4.3 避免64KB方法数限制
- 4.3.1 问题重现
- 4.3.2 使用MultiDex
- 4.3.3 MultiDex的局限性
- 4.3.4 缩减方法数
- 4.4 问题排查
- 第5章 Test构建测试
- 5.1 概述
- 5.2 构建App的最佳实践
- 5.3 测试的最佳实践
- 5.3.1 测试的分类
- 5.3.2 用于编写测试代码的目录结构
- 5.3.3 选择测试设备
- 5.3.4 添加测试依赖库
- 5.4 单元测试
- 5.4.1 本地单元测试
- 5.4.2 设备单元测试
- 5.5 UI测试
- 5.5.1 Espresso
- 5.5.2 UI Automator
- 5.6 集成测试
- 5.6.1 运行针对Service的测试
- 5.6.2 运行针对Content Provider的测试
- 5.6.3 针对Broadcast的测试
- 第6章 ViewBinding和DataBinding
- 6.1 Android应用架构原则
- 6.1.1 分离关注点
- 6.1.2 通过模型驱动界面
- 6.1.3 官方建议的应用架构
- 6.1.4 Android Jetpack架构组件
- 6.2 视图绑定
- 6.2.1 启用视图绑定支持
- 6.2.2 实战视图绑定
- 6.3 数据绑定
- 6.3.1 声明式编程简述
- 6.3.2 启用数据绑定支持
- 6.3.3 可观察的数据对象
- 6.3.4 实战单向数据绑定
- 6.3.5 创建和自定义绑定类
- 6.3.6 绑定适配器
- 6.3.7 双向数据绑定
- 第7章 生命周期
- 7.1 概述
- 7.2 实战Lifecycle组件
- 7.2.1 添加依赖项
- 7.2.2 实现生命周期感知接口
- 7.2.3 使用生命周期感知类
- 7.3 Lifecycle KTX API
- 第8章 页面导航
- 8.1 页面导航原则
- 8.1.1 向上和返回按钮的逻辑
- 8.1.2 设计导航堆栈
- 8.1.3 针对深层链接跳转的返回处理
- 8.2 实战Navigation组件
- 8.2.1 一个简单的示例
- 8.2.2 添加导航目的地
- 8.2.3 构建导航图
- 8.2.4 在目的地之间跳转
- 8.3 Navigation KTX API
- 8.3.1 Navigation Runtime KTX
- 8.3.2 Navigation Fragment KTX
- 8.3.3 Navigation UI KTX
- 第9章 ViewModel视图数据模型
- 9.1 概述
- 9.2 实战ViewModel
- 9.2.1 处理屏幕旋转
- 9.2.2 在Fragment之间共享数据
- 9.2.3 AndroidViewModel
- 9.3 与DataBinding组件配合使用
- 第10章 LiveData实时数据
- 10.1 概述
- 10.2 LiveData组件的简单使用
- 10.3 跨组件数据共享
- 10.4 转换、获取、合并LiveData对象
- 10.4.1 转换LiveData对象类型
- 10.4.2 获取LiveData对象
- 10.4.3 合并多个LiveData对象
- 10.5 与其他架构组件配合使用
- 10.5.1 LiveData与LifeCycle
- 10.5.2 ViewModel、LiveData与DataBinding
- 第11章 WorkManager任务管理器
- 11.1 概述
- 11.2 添加WorkManager依赖
- 11.3 实战WorkManager
- 11.3.1 定义任务
- 11.3.2 单次任务的调度
- 11.3.3 周期性任务的调度
- 11.3.4 预约执行的任务
- 11.3.5 为任务添加执行策略
- 11.3.6 为失败的任务设置重试策略
- 11.3.7 任务的管理
- 11.3.8 链式任务流
- 11.3.9 向任务传递数据
- 11.3.10 在任务中执行异步操作
- 11.3.11 针对需要长时间执行的任务的处理
- 第12章 Room数据库组件
- 12.1 概述
- 12.2 Room的简单使用
- 12.2.1 添加Room依赖
- 12.2.2 设计数据表并实现实体类
- 12.2.3 实现数据库操作
- 12.3 实体类
- 12.3.1 构建复合主键
- 12.3.2 自定义字段/数据表名
- 12.3.3 忽略特定的成员变量
- 12.3.4 定义实体之间的关系
- 12.4 数据访问对象类
- 12.5 DAO类的实现规范
- 12.6 数据的查询操作
- 12.6.1 基本数据查询操作
- 12.6.2 多条件查询
- 12.6.3 过滤查询结果
- 12.6.4 数据的插入操作
- 12.6.5 数据的更新操作
- 12.6.6 数据的删除操作
- 12.7 数据库的升级
- 12.8 设置预置数据
- 12.9 类型转换器
- 12.10 与LiveData组件配合使用
- 第13章 Paging分页加载组件
- 13.1 概述
- 13.2 实战Paging组件
- 13.2.1 添加依赖项
- 13.2.2 Paging组件的结构
- 13.2.3 构建数据源
- 13.2.4 构建视图模型
- 13.2.5 构建用户界面
- 13.2.6 监听和显示加载状态
展开全部
出版方
清华大学出版社
清华大学出版社成立于1980年6月,是由教育部主管、清华大学主办的综合出版单位。植根于“清华”这座久负盛名的高等学府,秉承清华人“自强不息,厚德载物”的人文精神,清华大学出版社在短短二十多年的时间里,迅速成长起来。清华大学出版社始终坚持弘扬科技文化产业、服务科教兴国战略的出版方向,把出版高等学校教学用书和科技图书作为主要任务,并为促进学术交流、繁荣出版事业设立了多项出版基金,逐渐形成了以出版高水平的教材和学术专著为主的鲜明特色,在教育出版领域树立了强势品牌。