-
>
决战行测5000题(言语理解与表达)
-
>
软件性能测试.分析与调优实践之路
-
>
第一行代码Android
-
>
深度学习
-
>
Unreal Engine 4蓝图完全学习教程
-
>
深入理解计算机系统-原书第3版
-
>
Word/Excel PPT 2013办公应用从入门到精通-(附赠1DVD.含语音视频教学+办公模板+PDF电子书)
深入浅出 Android Jetpack 版权信息
- ISBN:9787302596103
- 条形码:9787302596103 ; 978-7-302-59610-3
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 所属分类:>
深入浅出 Android Jetpack 本书特色
Google在2017年度开发者大会上首次发布了Jetpack组件集,并在之后的每年对其进行完善。从Google官方的视角看,Android Jetpack组件集不是简单的一个库或多个库,而是Google对Android App开发的一种态度和指导思想。 本书以新版Android Jetpack组件库、流行版本的Android操作系统以及新版本的Android Studio为例,系统讲解Android Jetpack的使用,涉及应用架构、生命周期管理、数据库操作、UI数据绑定等,并和实际案例相结合,突出其实用性。此外,在必要时还从源码层面剖析了Jetpack组件,让读者理解Google官方的设计思想。 初学者可以通过阅读本书快速搭建App,开发者可以通过阅读本书优化已有的项目代码,让程序更高效地运行。
深入浅出 Android Jetpack 内容简介
本书系统地讲解Android Jetpack组件库的使用和原理,具体涉及应用架构、生命周期管理、数据库操作、UI数据绑定等。第1章概括地讲述Android Jetpack的目标、内容等;第2~5章介绍Jetpack组件中的基础内容,具体涉及用于不同Android版本间的UI兼容处理组件、用于Kotlin编程语言的KTX扩展组件、多Dex打包A组件以及包含单元测试、UI测试、集成测试的测试组件;第6~13章介绍Jetpack组件库中架构的内容,这也是本书的重点部分,具体涉及视图绑定组件、生命周期组件、页面导航组件等多种架构组件,以及用于本地数据库存储的Room组件和用于处理分页加载的Paging组件。 通过使用Jetpack可以大大提升Android开发的效率,因此本书很好适合Android开发人员使用。
深入浅出 Android Jetpack 目录
第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
深入浅出 Android Jetpack 作者简介
萧文翰,从业8年,移动开发工程师,先后就职于多家公司,在Android移动开发与测试领域拥有丰富经验。出版著作《Flutter从0基础到App上线》,翻译著作《Android App Hook and Plug-In Technology》等。
- >
诗经-先民的歌唱
诗经-先民的歌唱
¥13.5¥39.8 - >
唐代进士录
唐代进士录
¥25.9¥39.8 - >
苦雨斋序跋文-周作人自编集
苦雨斋序跋文-周作人自编集
¥6.9¥16.0 - >
二体千字文
二体千字文
¥14.0¥40.0 - >
龙榆生:词曲概论/大家小书
龙榆生:词曲概论/大家小书
¥13.5¥24.0 - >
推拿
推拿
¥12.2¥32.0 - >
伊索寓言-世界文学名著典藏-全译本
伊索寓言-世界文学名著典藏-全译本
¥9.3¥19.0 - >
中国人在乌苏里边疆区:历史与人类学概述
中国人在乌苏里边疆区:历史与人类学概述
¥36.0¥48.0
-
详解Spring Boot(从入门到企业级开发实战)/孙鑫精品图书系列
¥64.2¥129 -
PYTHON应用与实战
¥52.9¥79.8 -
Python编程与数值方法
¥79.6¥109 -
Go语言从入门到项目实战(视频版)
¥60.4¥108 -
软件设计师
¥14.2¥38 -
GO语言编程从入门到实践
¥75.6¥108