内容简介
本书介绍OpenHarmony操作系统移动应用开发的必备知识,既包含基础的移动应用结构剖析,也涉及目前流行的终端设备AI模型的使用。本书强调理论和实践相结合,提供丰富的代码示例,方便读者理解和运用移动应用开发的知识。
本书讲解了 OpenHarmony 的系统特性、应用开发流程和开发工具、应用组成和配置,以及应用模型、ArkTS语法、基于ArkTS框架的UI设计与开发、数据持久化、传感器应用和媒体管理、网络访问与多线程等传统移动开发内容。此外,还介绍了OpenHarmony应用独有的流转架构和原子化服务等。最后以一个实用性较强的健康生活应用为例,介绍如何从需求分析入手,进行概要设计和详细设计,并最终完成代码开发。本书贯彻软件工程思想,通过工程化理念来指导移动应用开发。本书除第13章,其他章都设计了课后习题,希望能通过练习和操作实践帮助读者巩固所学知识。
本书既可以作为本科院校和高职高专院校计算机相关专业移动应用开发课程的教材,也可以作为对OpenHarmony应用开发感兴趣的IT从业人员的自学用书。
目录
第 1章 初识OpenHarmony 1
1.1 全球智能终端的发展 1
1.2 我国移动操作系统的机遇与挑战 2
1.3 OpenHarmony概述 2
1.4 OpenHarmony技术架构 2
1.4.1 内核层 3
1.4.2 系统服务层 4
1.4.3 框架层 4
1.4.4 应用层 4
1.5 OpenHarmony技术特性 4
1.5.1 硬件互助,资源共享 5
1.5.2 一次开发,多端部署 8
1.5.3 统一OS,弹性部署 9
1.6 OpenHarmony安全特性 9
本章小结 10
课后习题 10
第 2章 开发你的第 一行OpenHarmony代码 11
2.1 移动应用的组成 11
2.2 移动应用的开发和运行 12
2.3 移动应用的部署 13
2.4 DevEco Studio特性概述 14
2.4.1 核心特色 15
2.4.2 开发流程 15
2.5 搭建开发环境 16
2.5.1 安装软件并配置开发环境 17
2.5.2 创建并运行HelloWorld工程 19
2.6 开发低代码模式应用 21
2.6.1 低代码开发界面简介 21
2.6.2 使用低代码开发界面 22
2.6.3 案例——花朵展示列表应用 23
2.7 编译构建Hvigor 27
2.7.1 Hvigor简介 28
2.7.2 OpenHarmony应用中的Hvigor 29
2.8 应用运行调试 32
本章小结 36
课后习题 36
第3章 OpenHarmony应用结构剖析 37
3.1 app的概念和HAP模块的组成 37
3.1.1 应用包结构 38
3.1.2 HAP模块结构 39
3.2 创建和使用共享包 39
3.2.1 创建HAR库模块 40
3.2.2 编译HAR库文件 41
3.2.3 为应用添加HAR依赖 41
3.2.4 创建和使用HSP库模块 42
3.3 资源限定与访问 43
3.3.1 资源分类 44
3.3.2 限定词目录命名规则 45
3.3.3 限定词目录 46
3.3.4 资源组目录 46
3.3.5 资源文件的建立及访问 47
3.4 配置文件 49
3.4.1 配置文件的内部结构 49
3.4.2 app标签的内部结构 50
3.4.3 module标签的内部结构 51
3.4.4 abilities标签的内部结构 54
3.4.5 module内其他标签的内部结构 57
本章小结 61
课后习题 61
第4章 OpenHarmony应用模型 62
4.1 应用模型概述 62
4.1.1 应用模型的组成 62
4.1.2 从FA模型到Stage模型 63
4.1.3 Stage模型和FA模型的对比 63
4.2 Stage模型 64
4.2.1 Stage模型应用组件简介 64
4.2.2 Stage模型核心组件关系 65
4.2.3 Stage应用/组件配置 67
4.3 UIAbility组件 69
4.3.1 UIAbility配置 69
4.3.2 UIAbility生命周期及回调 70
4.3.3 启动模式 73
4.3.4 基本用法 76
4.3.5 与UI的交互 77
4.4 Stage模型页面导航 80
4.4.1 Context 80
4.4.2 Want 81
4.4.3 显式Want 82
4.4.4 隐式Want 82
4.4.5 常见的action与entities 83
4.4.6 UIAbility间数据传递 85
4.4.7 导航至UIAbility指定页面 88
4.4.8 任务管理 91
4.5 ExtensionAbility组件 93
4.6 ServiceExtensionAbility组件 95
4.6.1 ServiceExtensionAbility生命周期 95
4.6.2 实现后台服务 96
4.6.3 启动后台服务 98
4.6.4 连接后台服务 99
4.6.5 客户端与服务端通信 100
4.6.6 获取后台天气数据示例 101
4.7 Stage模型中的进程模型 105
本章小结 106
课后习题 107
第5章 ArkTS语法 108
5.1 ArkTS基本语法 108
5.1.1 基本语法简介 109
5.1.2 变量、常量和基本类型 109
5.1.3 控制流 111
5.1.4 函数 112
5.1.5 类 114
5.1.6 接口 119
5.1.7 泛型类和函数 120
5.1.8 空安全 121
5.1.9 模块 122
5.2 ArkUI支持 123
5.2.1 ArkUI支持描述 123
5.2.2 声明式UI描述 124
5.2.3 创建自定义组件 126
5.2.4 页面和自定义组件生命周期 130
5.2.5 自定义构建函数 135
5.2.6 组件样式复用及扩展 137
5.3 状态管理 140
5.3.1 状态管理简介 140
5.3.2 管理组件的状态 143
5.3.3 管理应用的状态 149
5.4 渲染控制 155
5.4.1 if/else条件渲染 155
5.4.2 ForEach循环