HarmonyOS NEXT启程:零基础构建纯血鸿蒙应用
定价:¥108.00
作者: KFive启程小组
出版时间:2026-02
出版社:电子工业出版社
- 电子工业出版社
- 9787121488320
- 1-7
- 16开
- 2026-02
- 522
- 工学
- 计算机类
- 计算机科学与技术
- 本科 高职
内容简介
HarmonyOS NEXT操作系统被誉为“纯血鸿蒙”,是操作系统领域的重大突破。该系统采用全新的底层架构和API,为开发者带来了全新的机遇和挑战。 本书从初学者的角度出发,通过系统的讲解和丰富的实例,引导读者逐步掌握HarmonyOS NEXT的开发精髓。本书首先介绍HarmonyOS的背景知识,讲解如何配置环境,运行第一个HelloWorld项目程序。然后讲解HarmonyOS开发的核心技能,包括ArkTS和ArkUI,帮助读者完成一个简单的应用。之后着重讲解UIAbility、网络、数据、多媒体等内容,以丰富应用功能。此外,本书提供进阶知识,如HarmonyOS元服务、工具技巧、ArkTS多线程和多设备适配。最后通过开发一个综合性的App,将所讲知识融会贯通。
目录
第1章 初识HarmonyOS,开启探索之旅 / 1
1.1 HarmonyOS简介 / 1
1.1.1 HarmonyOS系统 / 2
1.1.2 HarmonyOS系统架构 / 2
1.1.3 HarmonyOS应用 / 4
1.2 一览应用包组成 / 4
1.2.1 应用包组成 / 4
1.2.2 应用包开发调试与发布
部署流程 / 5
1.3 开始运行第一行HarmonyOS代码 / 6
1.3.1 环境搭建 / 6
1.3.2 运行HarmonyOS项目 / 7
1.3.3 HarmonyOS项目结构分析 / 12
1.4 本章小结 / 14
第2章 ArkTS语言快速入门 / 15
2.1 什么是ArkTS / 15
2.1.1 ArkTS简介 / 15
2.1.2 ArkTS与TypeScript、JavaScript的不同 / 16
2.2 基本数据类型 / 16
2.2.1 布尔值 / 16
2.2.2 数字 / 17
2.2.3 字符串 / 18
2.2.4 数组 / 19
2.2.5 枚举 / 19
2.2.6 对象 / 20
2.2.7 空值 / 22
2.2.8 联合类型 / 22
2.2.9 类型别名 / 23
2.2.10 其他类型 / 23
2.3 变量 / 25
2.3.1 声明 / 25
2.3.2 运算符 / 26
2.3.3 Null与Undefined / 26
2.4 接口 / 27
2.4.1 接口声明 / 27
2.4.2 接口属性 / 28
2.4.3 接口继承 / 29
2.5 函数 / 29
2.5.1 函数声明 / 29
2.5.2 可选参数 / 30
2.5.3 剩余参数 / 30
2.5.4 函数类型 / 31
2.5.5 箭头函数 / 31
2.5.6 闭包 / 31
2.6 类 / 32
2.6.1 类声明 / 32
2.6.2 字段 / 33
2.6.3 字段初始化 / 34
2.6.4 存取器 / 34
2.6.5 继承 / 35
2.6.6 方法重载 / 36
2.6.7 对象字面量 / 36
2.7 泛型类型 / 37
2.8 空安全 / 37
2.8.1 非空断言运算符 / 38
2.8.2 空值合并运算符 / 38
2.8.3 可选链 / 38
2.9 模块 / 39
2.9.1 导出 / 39
2.9.2 导入 / 39
2.10 JSON / 40
2.11 其他问题 / 41
2.11.1 interface与class的区别 / 41
2.11.2 TypeScript写单例 / 41
2.12 本章小结 / 42
第3章 打造精美界面 / 43
3.1 ArkUI简介 / 43
3.2 ArkUI基本语法 / 43
3.2.1 ArkUI语法结构 / 43
3.2.2 状态变量 / 45
3.2.3 自定义构建函数 / 46
3.2.4 渲染控制 / 47
3.3 自定义组件及页面生命周期 / 49
3.4 布局 / 52
3.4.1 布局概述 / 52
3.4.2 线性布局 / 53
3.4.3 层叠布局 / 56
3.4.4 相对布局 / 57
3.4.5 列表 / 58
3.5 页面路由 / 61
3.5.1 页面跳转 / 61
3.5.2 页面返回 / 63
3.6 本章小结 / 63
第4章 深入探究UIAbility / 64
4.1 UIAbility概述 / 64
4.1.1 Stage模型概述 / 64
4.1.2 UIAbility声明配置 / 65
4.2 UIAbility生命周期 / 66
4.2.1 Create状态 / 66
4.2.2 WindowStageCreate和WindowStageDestroy状态 / 67
4.2.3 Foreground和Background状态 / 68
4.2.4 Destroy状态 / 69
4.3 UIAbility间交互 / 69
4.3.1 启动应用内的UIAbility / 69
4.3.2 启动应用内的UIAbility并获取返回结果 / 72
4.3.3 启动其他应用的UIAbility / 73
4.4 UIAbility启动模式 / 75
4.4.1 singleton启动模式 / 75
4.4.2 multiton启动模式 / 75
4.4.3 specified启动模式 / 76
4.5 使用EventHub进行数据通信 / 78
4.6 本章小结 / 79
第5章 网络技术应用 / 80
5.1 Web组件的用法 / 80
5.1.1 加载网络HTML链接 / 80
5.1.2 加载本地网页 / 81
5.1.3 Web和JavaScript交互 / 82
5.1.4 处理页面导航 / 85
5.1.5 拦截页面内请求 / 87
5.1.6 设置和获取cookie / 88
5.2 使用HTTP访问网络 / 89
5.2.1 使用http模块 / 89
5.2.2 简单热榜示例 / 92
5.2.3 使用WebSocket / 97
5.3 可用的网络库:axios / 99
5.3.1 axios的基本用法 / 99
5.3.2 实战:使用axios重构简单热榜列表 / 100
5.4 本章小结 / 101
第6章 数据持久化技术详解 / 102
6.1 应用沙箱 / 102
6.1.1 应用文件目录 / 102
6.1.2 获取应用文件目录 / 105
6.2 数据持久化 / 107
6.2.1 普通文件存储 / 107
6.2.2 用户首选项 / 109
6.2.3 键值型数据库 / 114
6.2.4 关系数据库 / 119
6.3 本章小结 / 125
第7章 熟练运用手机多媒体 / 126
7.1 多媒体系统架构 / 126
7.2 音频 / 127
7.2.1 音频播放开发概述 / 127
7.2.2 使用AVPlayer播放音频 / 128
7.2.3 使用AudioRenderer播放音频 / 132
7.2.4 使用SoundPool播放音频 / 134
7.2.5 音频录制概述 / 136
7.2.6 使用AVRecorder录制音频 / 136
7.2.7 使用AudioCapturer录制音频 / 138
7.3 视频 / 140
7.3.1 视频播放开发概述 / 140
7.3.2 使用AVPlayer播放视频 / 140
7.3.3 使用Video组件播放视频 / 145
7.3.4 使用AVRecorder录制视频 / 148
7.4 相机 / 151
7.4.1 相机开发概述 / 151
7.4.2 预览 / 154
7.4.3 拍照 / 155
1.1 HarmonyOS简介 / 1
1.1.1 HarmonyOS系统 / 2
1.1.2 HarmonyOS系统架构 / 2
1.1.3 HarmonyOS应用 / 4
1.2 一览应用包组成 / 4
1.2.1 应用包组成 / 4
1.2.2 应用包开发调试与发布
部署流程 / 5
1.3 开始运行第一行HarmonyOS代码 / 6
1.3.1 环境搭建 / 6
1.3.2 运行HarmonyOS项目 / 7
1.3.3 HarmonyOS项目结构分析 / 12
1.4 本章小结 / 14
第2章 ArkTS语言快速入门 / 15
2.1 什么是ArkTS / 15
2.1.1 ArkTS简介 / 15
2.1.2 ArkTS与TypeScript、JavaScript的不同 / 16
2.2 基本数据类型 / 16
2.2.1 布尔值 / 16
2.2.2 数字 / 17
2.2.3 字符串 / 18
2.2.4 数组 / 19
2.2.5 枚举 / 19
2.2.6 对象 / 20
2.2.7 空值 / 22
2.2.8 联合类型 / 22
2.2.9 类型别名 / 23
2.2.10 其他类型 / 23
2.3 变量 / 25
2.3.1 声明 / 25
2.3.2 运算符 / 26
2.3.3 Null与Undefined / 26
2.4 接口 / 27
2.4.1 接口声明 / 27
2.4.2 接口属性 / 28
2.4.3 接口继承 / 29
2.5 函数 / 29
2.5.1 函数声明 / 29
2.5.2 可选参数 / 30
2.5.3 剩余参数 / 30
2.5.4 函数类型 / 31
2.5.5 箭头函数 / 31
2.5.6 闭包 / 31
2.6 类 / 32
2.6.1 类声明 / 32
2.6.2 字段 / 33
2.6.3 字段初始化 / 34
2.6.4 存取器 / 34
2.6.5 继承 / 35
2.6.6 方法重载 / 36
2.6.7 对象字面量 / 36
2.7 泛型类型 / 37
2.8 空安全 / 37
2.8.1 非空断言运算符 / 38
2.8.2 空值合并运算符 / 38
2.8.3 可选链 / 38
2.9 模块 / 39
2.9.1 导出 / 39
2.9.2 导入 / 39
2.10 JSON / 40
2.11 其他问题 / 41
2.11.1 interface与class的区别 / 41
2.11.2 TypeScript写单例 / 41
2.12 本章小结 / 42
第3章 打造精美界面 / 43
3.1 ArkUI简介 / 43
3.2 ArkUI基本语法 / 43
3.2.1 ArkUI语法结构 / 43
3.2.2 状态变量 / 45
3.2.3 自定义构建函数 / 46
3.2.4 渲染控制 / 47
3.3 自定义组件及页面生命周期 / 49
3.4 布局 / 52
3.4.1 布局概述 / 52
3.4.2 线性布局 / 53
3.4.3 层叠布局 / 56
3.4.4 相对布局 / 57
3.4.5 列表 / 58
3.5 页面路由 / 61
3.5.1 页面跳转 / 61
3.5.2 页面返回 / 63
3.6 本章小结 / 63
第4章 深入探究UIAbility / 64
4.1 UIAbility概述 / 64
4.1.1 Stage模型概述 / 64
4.1.2 UIAbility声明配置 / 65
4.2 UIAbility生命周期 / 66
4.2.1 Create状态 / 66
4.2.2 WindowStageCreate和WindowStageDestroy状态 / 67
4.2.3 Foreground和Background状态 / 68
4.2.4 Destroy状态 / 69
4.3 UIAbility间交互 / 69
4.3.1 启动应用内的UIAbility / 69
4.3.2 启动应用内的UIAbility并获取返回结果 / 72
4.3.3 启动其他应用的UIAbility / 73
4.4 UIAbility启动模式 / 75
4.4.1 singleton启动模式 / 75
4.4.2 multiton启动模式 / 75
4.4.3 specified启动模式 / 76
4.5 使用EventHub进行数据通信 / 78
4.6 本章小结 / 79
第5章 网络技术应用 / 80
5.1 Web组件的用法 / 80
5.1.1 加载网络HTML链接 / 80
5.1.2 加载本地网页 / 81
5.1.3 Web和JavaScript交互 / 82
5.1.4 处理页面导航 / 85
5.1.5 拦截页面内请求 / 87
5.1.6 设置和获取cookie / 88
5.2 使用HTTP访问网络 / 89
5.2.1 使用http模块 / 89
5.2.2 简单热榜示例 / 92
5.2.3 使用WebSocket / 97
5.3 可用的网络库:axios / 99
5.3.1 axios的基本用法 / 99
5.3.2 实战:使用axios重构简单热榜列表 / 100
5.4 本章小结 / 101
第6章 数据持久化技术详解 / 102
6.1 应用沙箱 / 102
6.1.1 应用文件目录 / 102
6.1.2 获取应用文件目录 / 105
6.2 数据持久化 / 107
6.2.1 普通文件存储 / 107
6.2.2 用户首选项 / 109
6.2.3 键值型数据库 / 114
6.2.4 关系数据库 / 119
6.3 本章小结 / 125
第7章 熟练运用手机多媒体 / 126
7.1 多媒体系统架构 / 126
7.2 音频 / 127
7.2.1 音频播放开发概述 / 127
7.2.2 使用AVPlayer播放音频 / 128
7.2.3 使用AudioRenderer播放音频 / 132
7.2.4 使用SoundPool播放音频 / 134
7.2.5 音频录制概述 / 136
7.2.6 使用AVRecorder录制音频 / 136
7.2.7 使用AudioCapturer录制音频 / 138
7.3 视频 / 140
7.3.1 视频播放开发概述 / 140
7.3.2 使用AVPlayer播放视频 / 140
7.3.3 使用Video组件播放视频 / 145
7.3.4 使用AVRecorder录制视频 / 148
7.4 相机 / 151
7.4.1 相机开发概述 / 151
7.4.2 预览 / 154
7.4.3 拍照 / 155








