目录
第1篇基础知识篇
第1章HarmonyOS概述31.1HarmonyOS的诞生与设计理念3
1.1.1HarmonyOS的诞生3
1.1.2HarmonyOS的设计理念4
1.2HarmonyOS生态6
1.3HarmonyOS技术特性8
1.3.1HarmonyOS的技术架构8
1.3.2HarmonyOS应用程序的编程语言10
1.4HarmonyOS的安全性10
1.4.1正确的人10
1.4.2正确的设备10
1.4.3正确使用数据11
1.5与常见移动操作系统的对比12
小结14
思考与实践15
第2章HarmonyOS应用开发环境16
2.1集成开发环境概述16
2.2开发环境搭建19
2.2.1安装环境要求19
2.2.2下载开发工具20
2.2.3开发环境搭建流程20
2.2.4诊断开发环境27
2.2.5启用中文化插件27
2.2.6配置HDC工具环境变量282.3SDK概述29
2.3.1SDK简介29
2.3.2SDK管理30
小结30
思考与实践31
第3章ArkTS语言基础33
3.1JavaScript入门33
3.1.1JavaScript语言概述33
3.1.2JavaScript语法简介34
3.2TypeScript入门47
3.2.1TypeScript语言概述47
3.2.2TypeScript运行环境安装47
3.2.3TypeScript基础语法50
小结59
思考与实践60
目录〖3〗第2篇核心技术篇
第4章搭建第一个基于ArkTS的HarmonyOS应用654.1创建新的ArkTS工程65
4.2搭建基于ArkTS的HarmonyOS应用67
4.2.1构建页面一67
4.2.2构建页面二69
4.2.3页面间跳转71
小结74
思考与实践74
第5章ArkTS语言概述75
5.1初识ArkTS语言75
5.2ArkTS基础语法76
5.2.1基本知识76
5.2.2函数82
5.2.3类84
5.2.4接口88
5.2.5泛型类型和函数90
5.2.6空安全91
5.2.7模块92
5.3ArkTS编程规范94
5.4声明式UI109
5.4.1声明式UI与命令式UI的区别与联系109
5.4.2创建组件时的声明式UI描述110
5.4.3配置属性时的声明式UI描述111
5.4.4配置事件时的声明式UI描述112
5.4.5配置子组件时的声明式UI描述112
5.5ArkTS语言特性113
5.5.1ArkTS声明式开发范式基本组成113
5.5.2语言特性114
小结115
思考与实践117
第6章基于ArkTS的UI基本语法119
6.1创建自定义组件119
6.1.1自定义组件的特点及基本用法119
6.1.2自定义组件的基本结构120
6.1.3成员函数/变量121
6.1.4build()函数121
6.1.5自定义组件通用样式124
6.2自定义构建函数125
6.2.1装饰器使用说明125
6.2.2参数传递规则125
6.3引用@Builder函数127
6.3.1装饰器使用说明127
6.3.2装饰器使用场景129
6.4封装全局@Builder132
6.4.1wrapBuilder使用说明132
6.4.2wrapBuilder使用场景132
6.5定义组件重用样式134
6.5.1装饰器使用说明134
6.5.2装饰器使用场景135
6.6定义扩展组件样式136
6.6.1装饰器使用说明136
6.6.2装饰器使用场景138
6.7多态样式140
6.7.1基础使用场景140
6.7.2@Styles和stateStyles联合使用141
6.7.3在stateStyles里使用常规变量和状态变量141
6.8校验构造传参142
6.8.1装饰器使用说明142
6.8.2装饰器使用场景142
6.9项目案例144
6.9.1案例描述144
6.9.2实现过程及程序分析144
小结152
思考与实践153
第7章基于ArkTS的UI状态管理155
7.1状态管理概述155
7.2管理组件拥有的状态157
7.2.1组件内状态157
7.2.2父子单向同步160
7.2.3父子双向同步163
7.2.4与后代组件双向同步167
7.2.5嵌套类对象属性变化169
7.3管理应用拥有的状态175
7.3.1页面级UI状态存储175
7.3.2应用全局的UI状态存储180
7.3.3持久化存储UI状态181
7.3.4设备环境查询184
7.4其他状态管理185
7.4.1状态变量更改通知186
7.4.2内置组件双向同步188
7.4.3class对象属性级更新189
7.5项目案例191
7.5.1案例描述191
7.5.2实现过程及程序分析191
小结198
思考与实践199
第8章基于ArkTS的UI渲染控制201
8.1条件渲染201
8.1.1使用规则201
8.1.2更新机制201
8.1.3使用场景202
8.2循环渲染206
8.2.1使用说明206
8.2.2键值生成规则206
8.2.3组件创建规则207
8.2.4使用案例210
8.3数据懒加载216
8.3.1使用限制217
8.3.2键值生成规则217
8.3.3组件创建规则217
8.4项目案例239
8.4.1案例描述239
8.4.2实现过程及程序分析239
小结246
思考与实践247
第9章基于ArkTS的基础类库249
9.1基础类库概述249
9.2并发251
9.2.1异步并发251
9.2.2多线程并发254
9.3容器类库263
9.3.1线性容器263
9.3.2非线性容器269
9.4XML生成、解析与转换275
9.4.1XML生成276
9.4.2XML解析277
9.4.3XML转换282
小结283
思考与实践284
第3篇高级应用篇
第10章方舟开发框架28910.1ArkUI概述289
10.2基于ArkTS的声明式开发范式290
10.2.1UI开发概述290
10.2.2开发布局292
10.2.3添加组件305
10.2.4设置页面路由和组件导航321
10.2.5显示图片334
10.2.6使用动画337
10.2.7支持交互事件338
小结339
思考与实践340
第11章基于ArkTS的HarmonyOS应用开发342
11.1HMS简介342
11.1.1HMS服务框架优势343
11.1.2HMS服务框架使用流程343
11.2HarmonyOS应用/服务开发流程344
11.3ArkTS工程相关概念345
11.3.1HarmonyOS应用模型345
11.3.2低代码开发模式346
11.4ArkTS工程目录结构分析347
11.4.1ArkTS工程目录结构347
11.4.2预览效果348
11.5调试概述350
11.6页面和自定义组件的生命周期356
11.6.1页面和自定义组件的生命周期变化356
11.6.2生命周期的调用时机358
11.7运行工程362
11.7.1使用本地真机运行工程362
11.7.2使用模拟器运行工程363
小结365
思考与实践365
第4篇项目实践篇
第12章应用开发综合案例37112.1总体设计371
12.1.1系统架构371
12.1.2系统流程371
12.2编程实现371
12.2.1环境要求371
12.2.2代码结构371
12.2.3核心代码372
12.3应用调试与运行394
12.3.1程序调试394
12.3.2结果展示394
小结397
思考与实践398
参考文献399