内容简介
本书是一本全面介绍HarmonyOS应用开发的书籍,主要分为入门,进阶和实战三部分,细分为19章。入门篇包括背景知识、环境搭建、基础语法、组件和API等;进阶篇包括网络通信、数据开发、Web开发、文件开发和多媒体开发等;实战篇则是两个综合的开发案例,让读者快速的上手项目开发。
每个阶段的知识都是层层深入且环环相扣的,能够帮助读者对HarmonyOS框架的原理与应用有一个全面的认识。本书适合工作在一线APP开发工程师、大中专院校相关专业师生、培训班学员学习,可用于夯实基础,扩展应用开发实战技能。
目录
第1章 初识HarmonyOS1
1.1 Android简介1
1.1.1 Android概述1
1.1.2 Android系统架构1
1.2 HarmonyOS简介3
1.2.1 HarmonyOS概述4
1.2.2 HarmonyOS技术特性4
1.2.3 HarmonyOS系统安全5
1.2.4 HarmonyOS系统架构6
1.3 HarmonyOS程序包8
1.3.1 HarmonyOS程序包概述8
1.3.2 HarmonyOS包结构9
1.3.3 共享包10
第2章 HarmonyOS快速上手12
2.1 环境搭建12
2.1.1 开发环境搭建12
2.1.2 配置环境变量14
2.1.3 环境诊断15
2.1.4 SDK下载与升级16
2.1.5 注册账号16
2.2 创建项目17
2.3 项目结构19
2.3.1 ArkTS工程结构19
2.3.2 JavaScript工程结构20
2.3.3 C++工程结构20
2.3.4 Java工程结构21
2.4 运行与调试22
2.4.1 运行项目22
2.4.2 程序调试25
2.4.3 打印日志27
2.4.4 体验热重载29
2.5 HAR与HAP30
2.5.1 HAR开发30
2.5.2 HAP开发33
2.6 习题35
第3章 ArkTS语法基础36
3.1 TypeScript基础36
3.1.1 编程语言简介36
3.1.2 基础类型36
3.1.3 条件语句38
3.1.4 函数39
3.1.5 类40
3.1.6 模块41
3.1.7 迭代器42
3.2 ArkTS基础42
3.2.1 ArkTS语言简介42
3.2.2 ArkUI开发框架43
3.2.3 声明式UI44
3.2.4 自定义组件45
3.3 状态管理47
3.3.1 基本概念47
3.3.2 装饰器48
3.3.3 组件状态49
3.3.4 应用状态54
3.3.5 其他状态59
3.4 渲染控制60
3.4.1 条件渲染60
3.4.2 循环渲染62
3.4.3 懒加载64
3.5 习题66
第4章 布局与组件67
4.1 布局开发67
4.1.1 布局概述67
4.1.2 线性布局68
4.1.3 层叠布局69
4.1.4 相对布局71
4.2 基础组件72
4.2.1 Text72
4.2.2 Button73
4.2.3 TextInput与TextArea74
4.2.4 PopupOptions75
4.3 容器组件76
4.3.1 Column76
4.3.2 List77
4.3.3 Swiper78
4.4 生命周期80
4.5 习题82
第5章 动画83
5.1 动画概述83
5.2 页内动画83
5.2.1 布局动画83
5.2.2 组件转场动画85
5.2.3 动画曲线87
5.3 页间动画89
5.3.1 缩放动画89
5.3.2 页面转场动画90
5.4 Lottie动画93
5.4.1 Lottie动画简介93
5.4.2 基本使用94
5.4.3 综合示例96
5.5 习题98
第6章 路由与导航99
6.1 标签导航99
6.1.1 标签导航简介99
6.1.2 底部导航99
6.1.3 顶部导航101
6.1.4 侧边导航103
6.1.5 抽屉导航103
6.2 组件导航106
6.3 页面路由109
6.3.1 页面跳转109
6.3.2 页面返回110
6.4 习题112
第7章 网络编程113
7.1 网络开发概述113
7.2 HTTP请求113
7.3 WebSocket115
7.4 Socket116
7.5 网络连接管理119
7.6 JSON解析120
7.7 习题122
第8章 数据管理124
8.1 数据管理概述124
8.2 数据持久化125
8.2.1 数据持久化概述125
8.2.2 用户首选项持久化126
8.2.3 键值数据库持久化128
8.2.4 关系数据库持久化130
8.3 数据安全133
8.3.1 数据安全概述133
8.3.2 数据备份与恢复134
8.3.3 数据加密135
8.3.4 数据访问权限137
8.4 数据共享138
8.4.1 数据共享概述138
8.4.2 DataShareExtensionAbility数据共享139
8.4.3 数据管理服务数据共享142
8.4.4 多对多数据共享145
8.5 习题147
第9章 Web开发149
9.1 Web组件概述149
9.2 基本使用149
9.2.1 加载页面149
9.2.2 基本属性与事件151
9.2.3 Cookie管理154
9.3 JavaScript交互156
9.4 页面管理与导航160
9.5 DevTools调试163
9.6 习题164
第10章 文件系统166
10.1 文件管理概述166
10.2 应用文件167
10.2.1 应用文件概述167
10.2.2 沙箱目录168
10.2.3 应用文件管理170
10.2.4 应用文件分享172
前言/序言
2019年8月,在东莞举行的华为开发者大会(HDC.2019)上,华为公司正式发布了分布式操作系统鸿蒙HarmonyOS。作为一款面向全场景的分布式操作系统,鸿蒙创造了一个超级虚拟终端互联的世界,能够将人、设备、场景有机地联系在一起。2020年9月,鸿蒙系统升级至2.0版本,鸿蒙应用开发在线体验网站也随之上线。
2021年10月,华为公司宣布搭载鸿蒙设备突破1.5亿台,并且每天还有超过100万的用户升级鸿蒙系统,鸿蒙俨然已经成为当前全球用户增长速度最快的移动操作系统。而在2021年底,鸿蒙座舱系统也正式发布,鸿蒙正式步入高速发展的快车道。2021年11月,鸿蒙迎来了第三次大规模的开源,此次版本升级带来了众多的系统组件和API,基本覆盖了工具、网络、文件数据、UI、框架、动画图形及音视频等多个应用领域。
2023年8月,鸿蒙4.0版本正式发布,一同发布的还有鸿蒙NEXT版本和预览版本。值得骄傲的是,鸿蒙NEXT的系统底座全线自研,去掉了传统的安卓AOSP代码,仅支持鸿蒙内核和鸿蒙系统的应用。同时,在这次版本发布以后,鸿蒙官方启动了鸿蒙原生应用开发计划,并投入百亿元资金支持伙伴发展,全面覆盖18个应用领域。一时间,大量的开发者和企业开始拥抱鸿蒙生态。
不同于既有的Android、iOS、Windows和Linux等操作系统,鸿蒙提出的基于同一套系统能力、适配多种终端形态的分布式理念,能够同时支持手机、平板、智能穿戴、智慧屏、车机等多种终端设备,提供全场景业务能力,实现多端连接、硬件互助、资源共享的场景体验。
对消费者而言,鸿蒙能够将生活场景中的各类终端进行能力整合,形成一个超级虚拟终端,并且能够实现不同终端设备之间的快速连接、能力互助、资源共享,匹配合适的设备、提供流畅的全场景体验。
对应用开发者而言,鸿蒙采用了多种分布式技术,使得应用程序的开发实现与不同终端设备的形态差异无关,降低了开发难度和成本,让开发者聚焦上层业务逻辑,更加便捷、高效地开发应用。
对设备开发者而言,鸿蒙采用了组件化的设计方案,可以根据设备的资源能力和业务特征进行灵活裁剪,满足不同形态的终端设备对于操作系统的要求。
随着鸿蒙向全球开发者开源,越来越多的开发者和企业开始拥抱鸿蒙生态,推动鸿蒙操作系统走向全球,最终形成依托中国、面向全球构建智慧新生态。当然,鸿蒙生态的建设还在起步阶段,从整体开发的鸿蒙原生应用数量来看,在整个市场中占比还很少,而且就算已有应用发布了鸿蒙版本,但大多还不成熟,在界面、功能等完整度上与安卓、iOS版本相比还有差距,因此鸿蒙还有很长的路要走。
从2019年鸿蒙1.0版本发布以来,我就一直关注着鸿蒙的发展,不过那时候的鸿蒙还处于萌芽期,功能和生态也不是很完善。直到2022年初,我通过鸿蒙座舱系统应用开发真正领略到了鸿蒙系统的魅力,也就是从那时候开始,我有机会参与到了鸿蒙座舱系统应用的开发。经过一年多时间的实战积累,我对鸿蒙有了全面的认识,并且鸿蒙进行了多个版本的迭代,相比于之前的版本也更加稳定和成熟。于是乎,在清华大学出版社的邀请下,我对鸿蒙的知识体系进行了梳理,最终完成了本书的写作。
本书是一本实战类型的书籍,旨在帮助开发者快速掌握鸿蒙基础知识和应用开发技术。本书理论和实践相结合,通过大量代码演示和讲解,在基础知识点讲解中穿插了大量的示例,最后通过两个相对完整的商业实战项目结尾。通过阅读本书,读者将会收获HarmonyOS应用开发的各项基础技能,从而快速上手HarmonyOS商业项目开发。作为一本从入门到实战类型的书籍,本书围绕着入门和实战两个主题进行编写,采用“案例诠释理论内涵、项目推动实践创新”的编写思路,既讲解项目的实现过程和步骤,又讲解项目实现所需的理论知识和技术,让读者在掌握基础理论知识后可在项目中进行应用。当然,由于编者水平有限,书中难免出现不妥之处,敬请广大读者批评指正。
内容介绍
本书总共19章,分为入门、进阶和实战三部分,主要围绕鸿蒙开发的基础知识点和实战案例两个主题进行讲解。
HarmonyOS入门与基础(第1~10章)。
这部分内容主要由HarmonyOS系统介绍、开发环境搭建、ArkTS基础语法、常用布局、组件、动画、路由与导航、网络请求和数据管理等基础知识构成,本部分内容是HarmonyOS应用开发的基础,是学习HarmonyOS应用开发必须掌握的知识。
HarmonyOS开发进阶(第11~15章)。
这部分内容主要由多媒体基础与开发、应用国际化、事件与通知、元服务和鸿蒙NDK等内容构成,是HarmonyOS应用开发的进阶知识点,专业性更强。这部分内容偏向HarmonyOS应用工程化开发,也是进行HarmonyOS应用开发需要掌握的基础知
识点。
HarmonyOS项目实战(第16~19章)。
这部分内容主要由HarmonyOS项目实战、应用性能分析与优化以及应用打包与发布等内容构成,是对HarmonyOS基础知识的综合运用和总结