商品详情
书名:鸿蒙征途:App开发实战
定价:89.8
ISBN:9787115563866
作者:李宁
版次:*1版
出版时间:2021-08
内容提要:
《鸿蒙征途:App开发实战》是一本基于Java的鸿蒙操作系统(HarmonyOS)App开发指南。全书系统、由浅入深地介绍了HarmonyOS App开发的知识、相关经验和技巧。本书以理论与实战相结合的方式向读者呈现HarmonyOS App开发的整个过程。全书分为两个部分,*一部分详细讲解HarmonyOS App开发所需的知识,并提供大量的真实案例代码供读者练习;*二部分给出两个实战项目,分别为应用类App项目(在线电子词典)和游戏类App项目(俄罗斯方块),通过这两个项目,读者可以很好地回顾和总结前面10章讲解的知识点,并付诸实践。 本书内容通俗易懂,循序渐进,既是HarmonyOS初学者的入门图书,也是HarmonyOS开发人员的进阶读物。
作者简介:
李宁,计算机专业硕士,首批HarmonyOS系统课程*发者,某大型软件公司前*级技术专家,IT畅销书作者,企业IT内训讲师,腾讯课堂特约讲师,CSDN学院*级讲师。曾出版多本IT畅销书,写过数百篇技术文章。主要著作包括《Kotlin程序开发入门精要》《Swift *威指南》《Android开发*威指南》《Android深度探索》等。
目录:
第 1章 开启鸿蒙(HarmonyOS)之旅 6
1.1 了解鸿蒙(HarmonyOS) 6
1.1.1 HarmonyOS的由来 6
1.1.2 HarmonyOS的技术定位和目标 7
1.1.3 HarmonyOS的系统架构 8
1.2 手把手带你搭建HarmonyOS开发环境 9
1.3 创建第 一个HarmonyOS App 10
1.3.1 创建HelloWorld项目 10
1.3.2 启动模拟器 13
1.3.3运行HelloWorld 14
1.4 分析第 一个HarmonyOS程序 15
1.4.1 HarmonyOS工程的目录结构 15
1.4.2 HarmonyOS工程的主配置文件:config.json 16
1.5 开发跨设备的HarmonyOS App 17
1.6 调试代码 19
1.6.1 设置断点 19
1.6.2 输出日志 20
1.7 在真机上运行HarmonyOS App 22
1.7.1 生成签名文件 22
1.7.2 签名HarmonyOS App 26
1.7.3 网络部署App 28
1.8 解决gradle下载太慢的问题 28
1.9 总结与回顾 29
第02章 HarmonyOS中的窗口 31
2.1 Page Ability概述 31
2.2 Page Ability的基本用法 32
2.2.1 手动创建Page Ability类 32
2.2.2 在config.json文件中注册Page Ability 32
2.2.3 创建布局文件 33
2.2.4 装载布局文件 33
2.2.5 显示Page Ability 34
2.2.6 销毁Page Ability 35
2.3 Page Ability之间的交互 35
2.3.1 显式使用Intent 35
2.3.2 隐式使用Intent 36
2.3.3 Page Ability之间的交互 38
2.4 Page Ability的启动类型(LaunchType) 41
2.5 Page Ability的跨设备迁移 44
2.5.1 跨设备迁移前的准备工作 45
2.5.2 获取设备列表 46
2.5.3 根据设备ID调用Page Ability 50
2.6 AbilitySlice 53
2.6 生命周期 57
2.7 总结与回顾 59
第03章 布局 60
3.1 方向布局(DirectionalLayout) 60
3.2 依赖布局(DependentLayout) 62
3.3 栈布局(StackLayout) 64
3.4 表格布局(TableLayout) 65
3.5 位置布局(PositionLayout) 66
3.6 动态装载布局 68
3.7 总结与回顾 71
第04章 UI组件 72
4.1 展示组件 72
4.1.1 文本组件(Text) 72
4.1.2 图像组件(Image) 74
4.1.3 进度条组件(ProgressBar) 75
4.1.4 圆形进度条(RoundProgressBar) 77
4.1.5 时钟组件(Clock) 78
4.2 交互组件 79
4.2.1 按钮组件(Button) 80
4.2.2 切换按钮组件(ToggleButton) 82
4.2.3 文本编辑组件(TextField) 84
4.2.4 单选和多选组件(RadioButton和Checkbox) 86
4.2.5 开关组件(Switch) 89
4.4 *级组件 91
4.4.1 列表组件(ListContainer) 91
4.4.2 标签列表组件(TabList) 96
4.4.3 滑动选择器组件(Picker) 99
4.4.5 日期选择器组件(DatePicker) 102
4.4.6 时间选择器组件(TimePicker) 105
4.4.7 滚动视图组件(ScrollView) 108
4.5 总结与回顾 112
第05章 对话框 113
5.1 普通对话框 113
5.1.1 显示一个*简单的对话框 113
5.1.2 为对话框添加“关闭”按钮 113
5.1.3 为对话框添加多个按钮 114
5.1.4 调整按钮的尺寸 115
5.1.5 自动关闭对话框 116
5.2 定制对话框 117
5.3 Toast信息框 118
5.4 总结与回顾 119
第06章 数据管理 120
6.1 读写配置文件 120
6.1.1 Preferences的基本用法 120
6.1.2 监控配置文件的写入动作 122
6.1.3 移动和删除配置文件 123
6.2 操作SQLite数据库 124
6.2.1 使用SQL操作SQLite数据库 124
6.2.2 使用谓词操作SQLite数据库 126
6.2.3 使用事务 128
6.3 对象关系映射 129
6.4 分布式文件 132
6.5 分布式数据 135
6.5.1 同步数据 135
6.5.2 用谓词查询分布式数据 137
6.7 总结与回顾 144
第07章 Data Ability 145
7.1 Data Ability概述 145
7.2 Data Ability中的URI 145
7.3 创建Data Ability 146
7.4 访问本地数据库 147
7.5 访问本地文件 153
7.6 跨设备访问数据库 157
7.7 跨设备访问文件 159
7.8 总结与回顾 160
第08章 Service Ability 161
8.1 Service Ability的生命周期 161
8.2 后台运行Service Ability 162
8.1.2 操作本地的Service Ability 162
8.1.2 跨设备操作Service Ability 165
8.2 跨设备调用Service Ability中的API 165
8.3 总结与回顾 172
第09章 多媒体 173
9.1 音频 173
9.1.1 准备本地音频文件 173
9.1.2 播放本地音频文件 175
9.1.3 暂停和继续播放音频 176
9.1.4 停止播放音频 176
9.1.5 播放在线音频文件 176
9.1.6 播放音频的完整案例 176
9.2 视频 180
9.3 相机 185
9.3.1 拍照API的使用方式 185
9.3.2 使用相机需要申请的权限 188
9.3.3 拍照的完整案例 188
9.4 总结与回顾 194
第 10章 其他*级技术 195
10.1 人工智能(AI) 195
10.1.1 初始化AI引擎 195
10.1.2 分词 195
10.1.3 词性标注 197
10.1.4 意图分析 198
10.1.5 关键词提取 199
10.1.6 实体识别 200
10.2 传感器 201
10.2.1 获取当前设备支持的传感器 201
10.2.2 订阅方向传感器 202
10.4 定位 203
10.5 蓝牙 206
10.5.1 打开和关闭蓝牙 206
10.5.2 发现和连接蓝牙设备 208
10.6 拨打电话 212
10.7 总结与回顾 212
第 11章 应用项目:跨设备在线电子词典 214
11.1 功能需求分析 214
11.2 搭建项目框架 217
11.2.1 创建项目工程 217
11.2.2让项目可以在多种设备上运行 218
11.2.3 配置App图标和名称 219
11.2.4 添加权限 220
11.3 利用网络爬虫生成本地词库 220
11.3.1 分析Web版词库的HTML代码 220
11.3.2 利用网络爬虫生成本地词库 223
11.3.3 管理本地词库 225
11.4 查询本地词库 227
11.4.1 主界面布局 227
11.4.2 如何让本地词库与App一同发布 228
11.4.3 打开rawfile目录中的SQLite数据库文件 229
11.4.4 查询本地词库 230
11.4.5 在主界面中显示查询结果 231
11.5 实现跨设备运行 232
11.5.1 不同的设备使用不同的布局文件 232
11.5.2 代码选择布局文件 234
11.5.3 跨设备查询本地词库 235
11.5.4 在智能手表上显示查询结果 236
11.6 查询网络词库 237
11.6.1 分析网络词典的HTML代码 237
11.6.2 异步查询网络词库 239
11.6.3 同时从本地词典和网络词典查词 242
11.7 总结与回顾 244
第 12章 游戏项目:5分钟搞定俄罗斯方块 245
12.1 功能需求分析 245
12.2 类的继承关系 247
12.3 使用Tetris组件 247
12.3.1 先把Tetris组件搭建起来再说 247
12.3.2 游戏主界面的布局 248
12.3.3 使用Tetris组件 250
12.4 实现Tetris组件 251
12.4.1 定义Tetris组件的事件类 251
12.4.2 定义游戏事件属性 251
12.4.3 初始化Tetris组件 252
12.4.4 绘制游戏边框 254
12.4.5 绘制小方格 256
12.4.6 绘制游戏背景方块 257
12.4.7 随机产生block 258
12.4.8 消除行 259
12.4.9 block归位 261
12.4.10 校验当前位置是否可以绘制block 261
12.4.11 绘制block 263
12.4.12 顺时针旋转block 264
12.4.13 开始和停止游戏 265
12.4.14 快速下落与正常下落之间的切换 266
12.4.15 左右水平移动block 267
12.4.16 为Tetris组件增加属性 267
12.5 让游戏更*美 268
12.5.1 开始玩游戏 268
12.5.2 显示下一个block 269
12.5.3 控制block左右移动 270
12.5.4 控制block快速下落 270
12.5.5 处理积分 271
12.5.6 游戏结束 271
12.6 总结与回顾 272
定价:89.8
ISBN:9787115563866
作者:李宁
版次:*1版
出版时间:2021-08
内容提要:
《鸿蒙征途:App开发实战》是一本基于Java的鸿蒙操作系统(HarmonyOS)App开发指南。全书系统、由浅入深地介绍了HarmonyOS App开发的知识、相关经验和技巧。本书以理论与实战相结合的方式向读者呈现HarmonyOS App开发的整个过程。全书分为两个部分,*一部分详细讲解HarmonyOS App开发所需的知识,并提供大量的真实案例代码供读者练习;*二部分给出两个实战项目,分别为应用类App项目(在线电子词典)和游戏类App项目(俄罗斯方块),通过这两个项目,读者可以很好地回顾和总结前面10章讲解的知识点,并付诸实践。 本书内容通俗易懂,循序渐进,既是HarmonyOS初学者的入门图书,也是HarmonyOS开发人员的进阶读物。
作者简介:
李宁,计算机专业硕士,首批HarmonyOS系统课程*发者,某大型软件公司前*级技术专家,IT畅销书作者,企业IT内训讲师,腾讯课堂特约讲师,CSDN学院*级讲师。曾出版多本IT畅销书,写过数百篇技术文章。主要著作包括《Kotlin程序开发入门精要》《Swift *威指南》《Android开发*威指南》《Android深度探索》等。
目录:
第 1章 开启鸿蒙(HarmonyOS)之旅 6
1.1 了解鸿蒙(HarmonyOS) 6
1.1.1 HarmonyOS的由来 6
1.1.2 HarmonyOS的技术定位和目标 7
1.1.3 HarmonyOS的系统架构 8
1.2 手把手带你搭建HarmonyOS开发环境 9
1.3 创建第 一个HarmonyOS App 10
1.3.1 创建HelloWorld项目 10
1.3.2 启动模拟器 13
1.3.3运行HelloWorld 14
1.4 分析第 一个HarmonyOS程序 15
1.4.1 HarmonyOS工程的目录结构 15
1.4.2 HarmonyOS工程的主配置文件:config.json 16
1.5 开发跨设备的HarmonyOS App 17
1.6 调试代码 19
1.6.1 设置断点 19
1.6.2 输出日志 20
1.7 在真机上运行HarmonyOS App 22
1.7.1 生成签名文件 22
1.7.2 签名HarmonyOS App 26
1.7.3 网络部署App 28
1.8 解决gradle下载太慢的问题 28
1.9 总结与回顾 29
第02章 HarmonyOS中的窗口 31
2.1 Page Ability概述 31
2.2 Page Ability的基本用法 32
2.2.1 手动创建Page Ability类 32
2.2.2 在config.json文件中注册Page Ability 32
2.2.3 创建布局文件 33
2.2.4 装载布局文件 33
2.2.5 显示Page Ability 34
2.2.6 销毁Page Ability 35
2.3 Page Ability之间的交互 35
2.3.1 显式使用Intent 35
2.3.2 隐式使用Intent 36
2.3.3 Page Ability之间的交互 38
2.4 Page Ability的启动类型(LaunchType) 41
2.5 Page Ability的跨设备迁移 44
2.5.1 跨设备迁移前的准备工作 45
2.5.2 获取设备列表 46
2.5.3 根据设备ID调用Page Ability 50
2.6 AbilitySlice 53
2.6 生命周期 57
2.7 总结与回顾 59
第03章 布局 60
3.1 方向布局(DirectionalLayout) 60
3.2 依赖布局(DependentLayout) 62
3.3 栈布局(StackLayout) 64
3.4 表格布局(TableLayout) 65
3.5 位置布局(PositionLayout) 66
3.6 动态装载布局 68
3.7 总结与回顾 71
第04章 UI组件 72
4.1 展示组件 72
4.1.1 文本组件(Text) 72
4.1.2 图像组件(Image) 74
4.1.3 进度条组件(ProgressBar) 75
4.1.4 圆形进度条(RoundProgressBar) 77
4.1.5 时钟组件(Clock) 78
4.2 交互组件 79
4.2.1 按钮组件(Button) 80
4.2.2 切换按钮组件(ToggleButton) 82
4.2.3 文本编辑组件(TextField) 84
4.2.4 单选和多选组件(RadioButton和Checkbox) 86
4.2.5 开关组件(Switch) 89
4.4 *级组件 91
4.4.1 列表组件(ListContainer) 91
4.4.2 标签列表组件(TabList) 96
4.4.3 滑动选择器组件(Picker) 99
4.4.5 日期选择器组件(DatePicker) 102
4.4.6 时间选择器组件(TimePicker) 105
4.4.7 滚动视图组件(ScrollView) 108
4.5 总结与回顾 112
第05章 对话框 113
5.1 普通对话框 113
5.1.1 显示一个*简单的对话框 113
5.1.2 为对话框添加“关闭”按钮 113
5.1.3 为对话框添加多个按钮 114
5.1.4 调整按钮的尺寸 115
5.1.5 自动关闭对话框 116
5.2 定制对话框 117
5.3 Toast信息框 118
5.4 总结与回顾 119
第06章 数据管理 120
6.1 读写配置文件 120
6.1.1 Preferences的基本用法 120
6.1.2 监控配置文件的写入动作 122
6.1.3 移动和删除配置文件 123
6.2 操作SQLite数据库 124
6.2.1 使用SQL操作SQLite数据库 124
6.2.2 使用谓词操作SQLite数据库 126
6.2.3 使用事务 128
6.3 对象关系映射 129
6.4 分布式文件 132
6.5 分布式数据 135
6.5.1 同步数据 135
6.5.2 用谓词查询分布式数据 137
6.7 总结与回顾 144
第07章 Data Ability 145
7.1 Data Ability概述 145
7.2 Data Ability中的URI 145
7.3 创建Data Ability 146
7.4 访问本地数据库 147
7.5 访问本地文件 153
7.6 跨设备访问数据库 157
7.7 跨设备访问文件 159
7.8 总结与回顾 160
第08章 Service Ability 161
8.1 Service Ability的生命周期 161
8.2 后台运行Service Ability 162
8.1.2 操作本地的Service Ability 162
8.1.2 跨设备操作Service Ability 165
8.2 跨设备调用Service Ability中的API 165
8.3 总结与回顾 172
第09章 多媒体 173
9.1 音频 173
9.1.1 准备本地音频文件 173
9.1.2 播放本地音频文件 175
9.1.3 暂停和继续播放音频 176
9.1.4 停止播放音频 176
9.1.5 播放在线音频文件 176
9.1.6 播放音频的完整案例 176
9.2 视频 180
9.3 相机 185
9.3.1 拍照API的使用方式 185
9.3.2 使用相机需要申请的权限 188
9.3.3 拍照的完整案例 188
9.4 总结与回顾 194
第 10章 其他*级技术 195
10.1 人工智能(AI) 195
10.1.1 初始化AI引擎 195
10.1.2 分词 195
10.1.3 词性标注 197
10.1.4 意图分析 198
10.1.5 关键词提取 199
10.1.6 实体识别 200
10.2 传感器 201
10.2.1 获取当前设备支持的传感器 201
10.2.2 订阅方向传感器 202
10.4 定位 203
10.5 蓝牙 206
10.5.1 打开和关闭蓝牙 206
10.5.2 发现和连接蓝牙设备 208
10.6 拨打电话 212
10.7 总结与回顾 212
第 11章 应用项目:跨设备在线电子词典 214
11.1 功能需求分析 214
11.2 搭建项目框架 217
11.2.1 创建项目工程 217
11.2.2让项目可以在多种设备上运行 218
11.2.3 配置App图标和名称 219
11.2.4 添加权限 220
11.3 利用网络爬虫生成本地词库 220
11.3.1 分析Web版词库的HTML代码 220
11.3.2 利用网络爬虫生成本地词库 223
11.3.3 管理本地词库 225
11.4 查询本地词库 227
11.4.1 主界面布局 227
11.4.2 如何让本地词库与App一同发布 228
11.4.3 打开rawfile目录中的SQLite数据库文件 229
11.4.4 查询本地词库 230
11.4.5 在主界面中显示查询结果 231
11.5 实现跨设备运行 232
11.5.1 不同的设备使用不同的布局文件 232
11.5.2 代码选择布局文件 234
11.5.3 跨设备查询本地词库 235
11.5.4 在智能手表上显示查询结果 236
11.6 查询网络词库 237
11.6.1 分析网络词典的HTML代码 237
11.6.2 异步查询网络词库 239
11.6.3 同时从本地词典和网络词典查词 242
11.7 总结与回顾 244
第 12章 游戏项目:5分钟搞定俄罗斯方块 245
12.1 功能需求分析 245
12.2 类的继承关系 247
12.3 使用Tetris组件 247
12.3.1 先把Tetris组件搭建起来再说 247
12.3.2 游戏主界面的布局 248
12.3.3 使用Tetris组件 250
12.4 实现Tetris组件 251
12.4.1 定义Tetris组件的事件类 251
12.4.2 定义游戏事件属性 251
12.4.3 初始化Tetris组件 252
12.4.4 绘制游戏边框 254
12.4.5 绘制小方格 256
12.4.6 绘制游戏背景方块 257
12.4.7 随机产生block 258
12.4.8 消除行 259
12.4.9 block归位 261
12.4.10 校验当前位置是否可以绘制block 261
12.4.11 绘制block 263
12.4.12 顺时针旋转block 264
12.4.13 开始和停止游戏 265
12.4.14 快速下落与正常下落之间的切换 266
12.4.15 左右水平移动block 267
12.4.16 为Tetris组件增加属性 267
12.5 让游戏更*美 268
12.5.1 开始玩游戏 268
12.5.2 显示下一个block 269
12.5.3 控制block左右移动 270
12.5.4 控制block快速下落 270
12.5.5 处理积分 271
12.5.6 游戏结束 271
12.6 总结与回顾 272
- 人民邮电出版社有限公司 (微信公众号认证)
- 人民邮电出版社微店,为您提供最全面,最专业的一站式购书服务
- 扫描二维码,访问我们的微信店铺
- 随时随地的购物、客服咨询、查询订单和物流...