成功加入购物车
图书条目标准图
萧文翰 / 清华大学出版社 / 2022-02 / 其他
售价 ¥ 79.00
品相 全新
优惠 满包邮
延迟发货说明
上书时间2024-04-29
卖家超过10天未登录
深入浅出 Android Jetpack
本书系统地讲解Android Jetpack组件库的使用和原理,具体涉及应用架构、生命周期管理、数据库操作、UI数据绑定等。第1章概括地讲述Android Jetpack的目标、内容等;第2~5章介绍Jetpack组件中的基础内容,具体涉及用于不同Android版本间的UI兼容处理组件、用于Kotlin编程语言的KTX扩展组件、多Dex打包APK组件以及包含单元测试、UI测试、集成测试的测试组件;第6~13章介绍Jetpack组件库中架构的内容,这也是本书的重点部分,具体涉及视图绑定组件、生命周期组件、页面导航组件等多种架构组件,以及用于本地数据库存储的Room组件和用于处理分页加载的Paging组件。 通过使用Jetpack可以大大提升Android开发的效率,因此本书非常适合Android开发人员使用。
萧文翰,从业8年,移动开发工程师,先后就职于多家公司,在Android移动开发与测试领域拥有丰富经验。出版著作《Flutter从0基础到App上线》,翻译著作《Android App Hook and Plug-In Technology》等。
第1章 概述 1 1.1 Android Jetpack是什么 1 1.1.1 基础部分 2 1.1.2 架构部分 2 1.1.3 界面部分 3 1.1.4 行为部分 4 1.2 Android Jetpack的发展史与AndroidX 5 1.2.1 Android App开发简史 5 1.2.2 Android Jetpack的诞生和使命 5 1.2.3 Android Jetpack与AndroidX的关系 5 1.3 如何使用本书 6 1.3.1 开发环境概览 6 1.3.2 本书的结构 7 1.3.3 本书的用法 7 第2章 Appcompat UI兼容组件 8 2.1 Appcompat概览 8 2.2 集成Appcompat库 9 2.3 App Bar 9 2.3.1 什么是App Bar 9 2.3.2 添加ToolBar控件 10 2.3.3 给ToolBar设置标题和子标题 11 2.3.4 在ToolBar上添加图标 12 2.3.5 在ToolBar上增加返回按钮 12 2.3.6 在ToolBar上添加菜单 14 2.3.7 为ToolBar添加搜索功能 16 2.3.8 自定义ToolBar样式 17 2.3.9 ToolBar小结 18 2.4 AppCompatActivity与AppCompatDelegate 18 2.4.1 认识AppCompatActivity 19 2.4.2 实战AppCompatDelegate 19 2.5 AppCompatDialogFragment 22 2.5.1 AppCompatDialogFragment和AppCompatDialog 22 2.5.2 实战简单对话框 23 2.5.3 实战列表选择对话框 25 2.5.4 自定义菜单布局 30 2.5.5 AppCompatDialogFragment小结 32 2.6 AppCompatResources 32 2.6.1 点击状态选择器 32 2.6.2 从resId获取Drawable对象 33 2.7 AnimatedStateListDrawableCompat 33 2.7.1 定义动画执行脚本 33 2.7.2 执行动画 34 2.8 ActionMenuView 35 2.8.1 添加菜单项 35 2.8.2 添加ActionMenuView 35 2.8.3 绑定ActionMenuView和菜单项,并实现点击响应 36 2.9 AppCompatAutoCompleteTextView与AppCompatMultiAutoCompleteTextView 37 2.9.1 认识ViewCompat类 37 2.9.2 理解PorterDuff混合模式 37 2.9.3 实战更改背景色调 39 2.10 AppCompatButton和AppCompatToggleButton 40 2.10.1 设置按钮文本风格 40 2.10.2 设置按钮文本是否自动大写 41 2.11 AppCompatCheckBox与AppCompatRadioButton 41 2.12 AppCompatCheckedTextView 42 2.13 AppCompatEditText 42 2.13.1 定义操作菜单 42 2.13.2 实现所选文本自定义操作功能 43 2.14 AppCompatImageButton和AppCompatImageView 45 2.14.1 图片色调适用场景 45 2.14.2 添加矢量图素材 46 2.14.3 定义矢量图色调 47 2.14.4 设置矢量图色调 47 2.15 AppCompatSpinner 48 2.16 AppCompatTextView 50 2.16.1 文本自适应显示使用场景 50 2.16.2 开启自适应显示模式 50 2.16.3 配置自定义缩放方式 52 2.16.4 通过预设值方式缩放 53 2.17 TooltipCompat 53 2.18 其他控件及注意事项 54 第3章 Android KTX扩展组件 55 3.1 概述 55 3.2 Core KTX 56 3.2.1 Animation 56 3.2.2 Content 57 3.2.3 Database 58 3.2.4 Graphics 60 3.2.5 Util 64 3.2.6 View 66 3.3 Collection 67 3.3.1 集成Collection KTX 68 3.3.2 获取集合中所有的Key和Value 68 3.3.3 集合的遍历 68 3.3.4 集合元素的增加与替换 69 3.4 Fragment 70 3.4.1 集成Fragment KTX 70 3.4.2 Fragment事务操作 70 3.5 小结 71 第4章 MultiDex打包APK 72 4.1 APK解构 72 4.2 64KB方法数限制 72 4.3 避免64KB方法数限制 73 4.3.1 问题重现 73 4.3.2 使用MultiDex 74 4.3.3 MultiDex的局限性 75 4.3.4 缩减方法数 76 4.4 问题排查 77 第5章 Test构建测试 80 5.1 概述 80 5.2 构建App的实践 80 5.3 测试的实践 81 5.3.1 测试的分类 81 5.3.2 用于编写测试代码的目录结构 81 5.3.3 选择测试设备 82 5.3.4 添加测试依赖库 82 5.4 单元测试 83 5.4.1 本地单元测试 83 5.4.2 设备单元测试 94 5.5 UI测试 96 5.5.1 Espresso 96 5.5.2 UI Automator 103 5.6 集成测试 109 5.6.1 运行针对Service的测试 109 5.6.2 运行针对Content Provider的测试 112 5.6.3 针对Broadcast的测试 116 第6章 ViewBinding和DataBinding 117 6.1 Android应用架构原则 117 6.1.1 分离关注点 117 6.1.2 通过模型驱动界面 118 6.1.3 官方建议的应用架构 118 6.1.4 Android Jetpack架构组件 119 6.2 视图绑定 119 6.2.1 启用视图绑定支持 119 6.2.2 实战视图绑定 120 6.3 数据绑定 123 6.3.1 声明式编程简述 123 6.3.2 启用数据绑定支持 124 6.3.3 可观察的数据对象 124 6.3.4 实战单向数据绑定 126 6.3.5 创建和自定义绑定类 133 6.3.6 绑定适配器 134 6.3.7 双向数据绑定 136 第7章 生命周期 139 7.1 概述 139 7.2 实战Lifecycle组件 139 7.2.1 添加依赖项 140 7.2.2 实现生命周期感知接口 140 7.2.3 使用生命周期感知类 141 7.3 Lifecycle KTX API 141 第8章 页面导航 143 8.1 页面导航原则 143 8.1.1 向上和返回按钮的逻辑 144 8.1.2 设计导航堆栈 144 8.1.3 针对深层链接跳转的返回处理 144 8.2 实战Navigation组件 145 8.2.1 一个简单的示例 145 8.2.2 添加导航目的地 151 8.2.3 构建导航图 154 8.2.4 在目的地之间跳转 159 8.3 Navigation KTX API 176 8.3.1 Navigation Runtime KTX 176 8.3.2 Navigation Fragment KTX 177 8.3.3 Navigation UI KTX 180 第9章 ViewModel视图数据模型 182 9.1 概述 182 9.2 实战ViewModel 182 9.2.1 处理屏幕旋转 183 9.2.2 在Fragment之间共享数据 185 9.2.3 AndroidViewModel 187 9.3 与DataBinding组件配合使用 188 第10章 LiveData实时数据 192 10.1 概述 192 10.2 LiveData组件的简单使用 193 10.3 跨组件数据共享 195 10.4 转换、获取、合并LiveData对象 197 10.4.1 转换LiveData对象类型 197 10.4.2 获取LiveData对象 198 10.4.3 合并多个LiveData对象 201 10.5 与其他架构组件配合使用 202 10.5.1 LiveData与LifeCycle 202 10.5.2 ViewModel、LiveData与DataBinding 203 第11章 WorkManager任务管理器 207 11.1 概述 207 11.2 添加WorkManager依赖 208 11.3 实战WorkManager 208 11.3.1 定义任务 209 11.3.2 单次任务的调度 210 11.3.3 周期性任务的调度 210 11.3.4 预约执行的任务 211 11.3.5 为任务添加执行策略 211 11.3.6 为失败的任务设置重试策略 212 11.3.7 任务的管理 213 11.3.8 链式任务流 217 11.3.9 向任务传递数据 218 11.3.10 在任务中执行异步操作 220 11.3.11 针对需要长时间执行的任务的处理 221 第12章 Room数据库组件 224 12.1 概述 224 12.2 Room的简单使用 225 12.2.1 添加Room依赖 225 12.2.2 设计数据表并实现实体类 226 12.2.3 实现数据库操作 226 12.3 实体类 228 12.3.1 构建复合主键 228 12.3.2 自定义字段/数据表名 228 12.3.3 忽略特定的成员变量 229 12.3.4 定义实体之间的关系 229 12.4 数据访问对象类 235 12.5 DAO类的实现规范 235 12.6 数据的查询操作 235 12.6.1 基本数据查询操作 235 12.6.2 多条件查询 236 12.6.3 过滤查询结果 237 12.6.4 数据的插入操作 237 12.6.5 数据的更新操作 238 12.6.6 数据的删除操作 238 12.7 数据库的升级 238 12.8 设置预置数据 239 12.9 类型转换器 240 12.10 与LiveData组件配合使用 241 第13章 Paging分页加载组件 243 13.1 概述 243 13.2 实战Paging组件 243 13.2.1 添加依赖项 244 13.2.2 Paging组件的结构 244 13.2.3 构建数据源 245 13.2.4 构建视图模型 248 13.2.5 构建用户界面 248 13.2.6 监听和显示加载状态 250
展开全部
配送说明
...
相似商品
为你推荐
开播时间:09月02日 10:30