本书深入剖析了HarmonyOSNEXT的各项技术,通过丰富的实战案例,由浅入深地解析了HarmonyOSNEXT的原理与应用。借助多样化的实战案例和丰富的配套资源,读者可以全面了解并掌握鸿蒙开发的核心技术,以及鸿蒙应用在实际开发中的应用方法。本书共分为四篇,共计16章,分别为鸿蒙开发基础篇、鸿蒙开发进阶篇、HarmonyOSSDK开放能力集篇和特色案例实战篇,内容涵盖了鸿蒙开发的各个关键领域。书中还提供了基于鸿蒙NEXT的完整实战项目及3个特色案例,并附带了全套的源代码。
张云波
华为开发者专家(HDE),第一个鸿蒙纯血App“鸿蒙开源技术社区”开发者。2021年HarmonyOS创新大赛导师、2024年鸿蒙极客松大赛导师、2023年Open Hammony创新赛导师,著有图书《仓颉语言极速入门 UI全场景实战》。
徐建国
华为开发者专家(HDE)、甘鸿会创始人、中国计算机学会CCF专业会员、OpenHarmony布道师、华为仓颉KOL、开发者联盟优秀讲师、开源之夏导师、2023年OpenHarmony应用创新赛导师、RISC-V+OpenHarmony应用创意赛导师、OpenHarmony三方库贡献者、开放原子开源基金会技术+生态贡献。
郭峥
世界500强上市公司高级架构师,10年以上研发管理经验、国内首批鸿蒙应用开发人员。
黄志伟
鸿蒙应用开发布道师、Android高级架构师,具有多年的移动互联网公司技术研发经验。擅长架构设计和性能优化,热衷于开源社区并积极参与和贡献。
第一篇 鸿蒙开发基础
第 1 章 鸿蒙开发入门 2
1.1 挑战与星辰大海 2
1.2 HarmonyOS 整体介绍 3
第 2 章 搭建开发环境DevEco Studio 6
2.1 获取开发者身份 6
2.2 安装与配置 7
2.3 DevEco Studio 界面常用布局 8
2.4 工程创建和管理 9
2.5 中文环境配置 12
2.6 代码模板管理 14
第 3 章 鸿蒙开发语法 16
3.1 ArkTS语法介绍 17
3.1.1 开启ArkTS编程之旅 17
3.1.2 ArkTS声明式UI 20
3.2 鸿蒙应用程序框架UIAbility 的
介绍与使用 34
3.2.1 UIAbility 的概念 34
3.2.2 UIAbility 的生命周期 36
3.2.3 UIAbility 基本用法 39
3.3 网络数据访问 43
3.3.1 基本概念 43
3.3.2 HTTP网络数据请求开发
入门 43
3.3.3 实战案例 56
3.4 应用数据本地保存 61
3.4.1 创建数据库 62
3.4.2 添加数据 66
3.4.3 查询数据 68
3.4.4 更新数据 71
3.4.5 删除数据 72
3.4.6 升级数据库 73
3.4.7 使用事务 75
第二篇 鸿蒙开发进阶
第 4 章 Navigation 78
4.1 基本用法 79
4.2 子页的生命周期 89
4.3 最佳实践—跨模块动态路由 96
第 5 章 Stage 模型详解 101
5.1 Stage 层级模型 101
5.2 UIAbility 103
5.3 AbilityStage 109
5.4 Want 信息传递载体 110
5.5 进程和线程模型 110
第 6 章 动画组件 113
6.1 简单动画 113
6.2 复杂动画 116
6.3 交互动画 121
6.4 高级动画效果 124
6.4.1 贝塞尔曲线实现的动画 124
6.4.2 使用弹簧曲线实现的动画 126
6.5 优化动画效果 128
第 7 章 Web 组件 131
7.1 原生开发与Web 开发 131
7.2 Web 组件概述 132
7.3 在应用中显示Web 页面 133
7.3.1 页面显示 133
7.3.2 页面跳转 140
7.4 与Web 页面交互 145
7.4.1 通过控制器加载页面资源 145
7.4.2 通过控制器加载HTML
格式的文本数据 146
7.4.3 在应用中使用Web页面的 147
JavaScript 147
7.5 其他场景 159
7.6 Web 组件应用实战案例 163
第 8 章 媒体 171
8.1 Media Kit 171
8.2 AVPlayer/SoundPool 音频播放 172
第 9 章 文件 180
9.1 将数据写入文件 180
9.2 从文件中读取数据 183
第 10 章 Native 适配开发 186
10.1 创建新项目 186
10.2 调整主页面内容 187
10.3 实现基本运算功能 188
10.4 更新CMakeLists.txt 190
10.5 使用基本运算函数 190
10.6 实现摄氏温度与华氏温度的
转换功能 191
第 11 章 使用第三方库 196
11.1 ZRouter 197
11.2 Logger 204
第 12 章 高效开发实践 207
12.1 实践工程概述 207
12.2 应用性能四板斧 209
12.3 性能优化案例展示 210
第三篇 HarmonyOS SDK开放能力集
第 13 章 应用服务 220
13.1 华为账号服务 220
13.1.1 账号服务概述 220
13.1.2 账号服务实战 223
13.2 应用内支付服务 239
13.2.1 应用内支付服务概述 240
13.2.2 IAP Kit 服务实战 240
13.3 推送服务 257
13.3.1 Push Kit 服务概述 257
13.3.2 Push Kit 服务实战 261
13.4 定位服务 271
13.4.1 Location Kit 开发指南 272
13.4.2 案例实操 276
13.5 统一扫码服务 277
13.5.1 默认界面扫码 278
13.5.2 自定义界面扫码 280
13.6 游戏登录服务 284
13.6.1 开发前置条件 285
13.6.2 游戏登录的开发步骤 288
13.7 通用文字识别 298
13.7.1 开发步骤 298
13.7.2 实现效果 301
13.8 华为支付服务 301
13.8.1 华为支付分类 302
13.8.2 华为支付服务场景 303
13.8.3 开发前置条件 305
13.8.4 华为支付服务的基本流程 313
13.9 地图服务 317
13.9.1 开发前置条件 318
13.9.2 地图开发指导 321
13.9.3 开发步骤 322
第四篇 鸿蒙特色案例实战
第 14 章 Day Matters 324
14.1 使用开源三方库
@nutpi/privacy_dialog
实现隐私协议对话框 324
14.2 网络获取数据 326
14.3 鸿蒙多设备适配 327
14.4 动画 328
14.5 服务卡片 329
第 15 章 坚果单车 332
15.1 应用开发准备 332
15.2 开发步骤 337
第 16 章 酷酷音乐 354
16.1 项目概述 354
16.2 多设备部署支持 356
16.3 ohpm 模块依赖 360
16.4 UI适配之自适应布局 364
16.5 UI适配之响应式布局 370
16.5.1 获取窗口对象 371
16.5.2 通过媒体查询 374
16.5.3 借助栅格布局 377
16.6 断点组件 381
16.7 多设备能力验证 386
16.8 后台运行 388
16.9 一镜到底 391