内容简介
《纯血鸿蒙HarmonyOS NEXT原生开发之旅》全面系统地介绍了基于HarmonyOS NEXT系统进行原生应用开发的实用技巧。全书共12章,内容涵盖从基础工具使用到高级功能实现的各个方面。第1章详细介绍了开发环境的搭建、ArkTS语言基础及UI描述。第2章深入探讨了Ability组件和信息传递机制。第3章和第4章分别讲解了UI开发的基础知识和进阶技巧,包括ArkUI框架和自定义组件。第5章探讨了一次开发多端部署的策略。第6章介绍了多媒体应用的开发方法。第7章讨论了进程间通信和任务管理。第8章涉及窗口管理和通知功能。第9章讲解了网络编程的基本方法。第10章关注于应用安全管理。第11章详细介绍了服务卡片的开发流程。第12章通过一个购物应用案例,将前面章节的知识综合运用,展示了一个完整的项目实战过程。
《纯血鸿蒙HarmonyOS NEXT原生开发之旅》适合初学者和转型到鸿蒙系统开发的有经验的程序员阅读,也可以作为相关培训机构和高校相关专业的教学用书。
目录
目 录
第 1 章 初识鸿蒙HarmonyOS NEXT 1
1.1 DevEco Studio开发工具 1
1.1.1 下载和安装DevEco Studio 1
1.1.2 DevEco Studio的基本使用 4
1.1.3 手机运行Hello World应用 6
1.1.4 了解基本工程目录 7
1.2 ArkTS语言之基本UI描述 8
1.2.1 基本概念 9
1.2.2 创建组件 9
1.2.3 属性配置 11
1.2.4 事件配置 14
1.2.5 子组件配置 15
1.3 ArkTS语言之状态管理 16
1.3.1 @State 16
1.3.2 @Prop 22
1.3.3 @Link 26
1.3.4 @Observed和@ObjectLink 28
1.3.5 @Consume和@Provide 30
1.3.6 @Watch 32
1.4 ArkTS语言之状态管理进阶 33
1.4.1 LocalStorage:页面级UI状态存储 34
1.4.2 AppStorage:应用全局的UI状态存储 36
1.4.3 PersistentStorage:持久化存储UI状态 38
1.5 ArkTS语言之动态构建UI元素 39
1.5.1 @Builder 39
1.5.2 @BuilderParam 41
1.5.3 @Styles 42
1.5.4 @Extend 44
1.6 实战:自定义导航 45
1.7 本章小结 47
第 2 章 Ability开发 48
2.1 Stage模型的概述 48
2.1.1 重要概念 48
2.1.2 应用/组件级配置 49
2.2 UIAbility组件 53
2.2.1 UlAbility组件的概述 54
2.2.2 UIAbility组件的生命周期 54
2.2.3 UIAbility组件的启动模式 57
2.2.4 UIAbility组件的基本用法 63
2.2.5 UlAbility组件与UI的数据同步 65
2.3 信息传递的载体want 67
2.3.1 want的概述 67
2.3.2 显式want与隐式want的匹配规则 68
2.4 实战:显示want启动Ability 71
2.5 实战:隐式want打开浏览器 73
2.6 本章小结 75
第 3 章 UI开发基础 76
3.1 ArkUI概述 76
3.2 ArkTS的声明式开发范式 77
3.3 常用组件 78
3.4 基础组件详解 80
3.4.1 AlphabetIndexer 82
3.4.2 Blank 84
3.4.3 Button 85
3.4.4 CalendarPicker 89
3.4.5 Checkbox 90
3.4.6 CheckboxGroup 91
3.4.7 ContainerSpan 92
3.4.8 DataPanel 92
3.4.9 DatePicker 93
3.4.10 Divider 94
3.4.11 Gauge 95
3.4.12 Image 97
3.4.13 ImageAnimator 99
3.4.14 ImageSpan 101
3.4.15 LoadingProgress 101
3.4.16 Marquee 102
3.4.17 Menu 103
3.4.18 MenuItem 103
3.4.19 MenuItemGroup 105
3.4.20 Radio 106
3.4.21 Rating 107
3.4.22 RichText 108
3.4.23 Select 109
3.4.24 Slider 110
3.4.25 Text 112
3.4.26 TextArea 114
3.4.27 TextClock 114
3.4.28 TextInput 115
3.4.29 TextPicker 116
3.4.30 TextTimer 117
3.4.31 TimePicker 118
3.4.32 Toggle 119
3.5 实战:城市列表选择案例 121
3.5.1 数据模块的定义 122
3.5.2 主页布局 123
3.5.3 实现城市列表组件 125
3.5.4 实现搜索组件 127
3.5.5 项目小结 128
3.6 本章小结 128
第 4 章 UI开发进阶 129
4.1 容器组件详解 129
4.1.1 Badge 130
4.1.2 Column和Row 132
4.1.3 ColumnSplit和RowSplit 135
4.1.4 Counter 136
4.1.5 Flex 137
4.1.6 WaterFlow和FlowItem 148
4.1.7 Stack 153
4.1.8 GridRow和GridCol 153
4.1.9 Grid和GridItem 156
4.1.10 Hyperlink 161
4.1.11 List、ListItem和
ListItemGroup 162
4.1.12 Navigator 166
4.1.13 Panel 169
4.1.14 Refresh 170
前言/序言
华为在2023年的开发者大会上宣布,将不再兼容安卓系统,并投入超过百亿元的资金来全力支持和发展鸿蒙生态系统。这一重大决策引发众多大型企业争相招募鸿蒙开发人才。
华为轮值董事长孟晚舟在2024年的年报致辞中指出,华为云、鲲鹏、昇腾和鸿蒙生态正在快速成长。截至2024年年底,鲲鹏、昇腾已累计发展665万开发者、8500多家合作伙伴。鸿蒙开发者超过720万,生态设备超10亿台,鸿蒙生态处于量变到质变的关键历史节点。
鸿蒙作为一个新兴的技术平台,其重要性可与从PC(个人计算机)互联网时代向移动互联网时代的转变相提并论。当时最早掌握安卓和iOS开发技术的人,无论是在薪资还是职业发展上,都获得了巨大的成功。如今,鸿蒙开发成为新的风口,现在投资时间和精力学习鸿蒙开发的人,将在鸿蒙系统广泛流行之前获得先机,从而大大提升自己的职业发展前景。
本书旨在深入解析HarmonyOS NEXT(5.x)版本的核心技术与开发技巧,并结合丰富的开发案例进行全面讲解,确保读者能够通过本书,掌握开发HarmonyOS NEXT所需的所有技能。
本书内容介绍
本书共分12章,各章内容安排如下:
第1章介绍HarmonyOS NEXT的基本概念和开发工具DevEco Studio,以及ArkTS语言的基础UI描述、状态管理及其进阶内容。本章还将涵盖动态构建UI元素和自定义导航的实战操作。
第2章深入探讨Ability开发,包括Stage模型概述、UIAbility组件、信息传递载体want的使用,以及如何显示want启动Ability和隐式want打开浏览器的实战案例。
第3章和第4章分别聚焦于UI开发的基础知识和进阶技巧,包括ArkUI概述、声明式开发范式、常用组件和基础组件详解,以及容器组件、绘制组件、画布组件和弹窗的详细解析。这两章还将提供城市列表选择和待办列表等实战案例。
第5章讨论一次开发多端部署的策略,包括工程目录管理、自适应布局和响应式布局,以及页签栏布局的实战案例。
第6章专注于多媒体应用开发,涵盖音频和视频开发,以及语音录制和声音动效实现的实战操作。
第7章探讨进程通信,包括ExtensionAbility组件、进程间通信、线程间通信、任务管理和Stage模型应用配置文件,以及Worker子线程中解压文件的实战案例。
第8章介绍窗口管理,包括窗口开发概述、管理应用窗口和通知,以及窗口管理应用的实战案例。
第9章讲解网络编程,包括HTTP数据请求、Web组件的页面加载和通过HTTP请求数据的实战操作。
第10章关注安全管理,包括访问控制概述和开发流程,以及获取位置授权的实战案例。
第11章详细介绍服务卡片开发,包括服务卡片概述、ArkTS卡片运行机制、相关模块和开发过程,以及电子相册案例的实战操作。
第12章作为项目实战章节,展示一个多端部署的购物应用的开发过程,包括项目概述、代码结构和页面结构。
本书的主要特色
本书的特色在于其全面性、实用性和实战性。全书系统地介绍了鸿蒙操作系统下的应用开发,从开发工具的使用、UI设计、状态管理,到多端部署等,涵盖了鸿蒙应用开发的各个方面。
书中不仅有详细的理论知识讲解,还提供了丰富的实战案例,如电子相册的开发、购物应用的开发等,帮助读者将理论知识应用于实际项目中。
通过学习本书内容,读者可以全面掌握鸿蒙应用开发的核心知识,并提升开发技能。
本书的配套资源
本书配套提供程序源码和PPT课件,读者可以用微信扫描下方的二维码获取。
本书适合的读者
本书主要适合以下读者:
?希望入手鸿蒙应用开发的初学者、爱好者
?转型到鸿蒙系统开发的有一定经验的程序员
?培训机构和高校相关专业的师生
本书在编写过程中,参考了HarmonyOS应用开发社区中的案例,在此向该社区的维护者及代码贡献者表达诚挚的谢意。同时,对于清华大学出版社的编辑团队为本书出版所付出的辛勤工作,表示衷心的感谢。此外,笔者因著书而减少了与妻子和女儿的共度时光,感谢她们的包容与支持。
笔 者
2025.2