本书系统阐述了HarmonyOS移动应用开发的核心技术与实践方法,内容涵盖开发环境搭建、应用架构设计、关键组件实现及工程化开发流程。全书以理论与实践结合的形式,通过丰富的示例代码,帮助读者掌握HarmonyOS移动应用开发的全流程。本书主要介绍HarmonyOS开发环境的搭建、HarmonyOS项目的组成、ArkTS基础、UI设计、页面路由与组件导航、公共事件与通知、窗口管理与元服务、数据存储技术、网络通信技术、多媒体开发与动画设计等内容,并结合综合实例——教学系统设计,完整展示从需求分析、系统设计到项目部署与测试的全流程。本书由编者结合一线教学经验编写,每章均提供相关代码实例。本书适合HarmonyOS应用开发初学者和进阶读者作为自学用书,也适合培训机构作为培训用书,还适合大、中专院校的相关专业作为教学参考书。
方欣,湖南理工学院信息学院副教授,主要从事网络应用程序设计、移动应用开发等相关研究工作。曾出版《Android Studio应用开发——基础入门与应用实战》(校教学成果奖三等奖)《Android程序设计教程》《Java EE应用与开发——SSM框架技术》《计算机网络实训教程》(优秀教材评选获一等奖,"十二五”国家级规划教材)《计算机网络系统集成》等书。
第1章 HarmonyOS概述
1.1 智能手机概述
1.2 智能手机操作系统
1.3 HarmonyOS简介
1.3.1 HarmonyOS的发展
1.3.2 HarmonyOS的特点
1.3.3 HarmonyOS、Android与iOS的对比
1.3.4 HarmonyOS与OpenHarmony的对比
1.4 搭建HarmonyOS开发环境
1.4.1 安装 DevEco Studio
1.4.2 DevEco Studio的基本配置
1.5 开发第一个HarmonyOS项目
1.6 运行HarmonyOS项目
1.6.1 模拟器运行
1.6.2 真机运行
习题
第2章 HarmonyOS项目
2.1 HarmonyOS项目的组成
2.2 HarmonyOS项目中的几个重要文件
2.3 扩充FirstDemo项目
2.4 调试HarmonyOS项目
2.4.1 console.log调试
2.4.2 断点调试
2.5 开发HarmonyOS项目的大致流程
习题
第3章 ArkTS编程基础
3.1 ArkTS中常见的数据类型
3.2 ArkTS中的声明
3.3 ArkTS中的运算符
3.4 ArkTS中的语句
3.5 ArkTS中的函数
3.6 ArkTS中的类
3.7 ArkTS中的接口
3.8 ArkTS中的空安全
3.9 ArkTS中的模块
3.10 ArkTS中的泛型
习题
第4章 ArkUI设计
4.1 ArkUI概述
4.2 ArkUI中的布局
4.2.1 线性布局
4.2.2 层叠布局
4.2.3 弹性布局
4.2.4 相对布局
4.2.5 栅格布局
4.2.6 轮播、列表与表格
4.3 ArkUI中常见的UI组件
4.3.1 文本显示组件
4.3.2 TextInput组件
4.3.3 Button组件
4.3.4 切换按钮组件
4.3.5 选项选择组件
4.3.6 Image组件
4.4 ArkUI中的状态管理
4.4.1 ArkUI中的状态管理概述
4.4.2 ArkUI中的装饰器
4.4.3 LocalStorage与AppStorage介绍
4.5 实战:使用ArkUI实现教学系统主要界面
习题
第5章 页面路由与组件导航
5.1 页面路由与组件导航概述
5.2 页面和自定义组件生命周期
5.3 页面路由
5.3.1 用Ability下的页面跳转与返回
5.3.2 不同Ability之间的页面跳转
5.3.3 页面跳转时的询问框
5.3.4 页面跳转时的数据传递
5.4 组件导航
5.5 Tabs组件
5.5.1 Tabs组件概述
5.5.2 Tabs组件布局的详细介绍
5.6 Ability中的页面跳转和数据传递
习题
第6章 公共事件与通知
6.1 公共事件概述
6.1.1 公共事件的分类
6.1.2 公共事件的开发
6.2 通知概述
6.2.1 通知的分类
6.2.2 通知的开发
6.3 实战:公共事件与通知的开发
习题
第7章 窗口管理与元服务
7.1 窗口概述
7.2 窗口管理
7.2.1 窗口管理概述
7.2.2 设置应用主窗口的属性及目标页面
7.2.3 设置应用子窗口的属性及目标页面
7.2.4 体验窗口沉浸式能力
7.3 服务卡片
7.3.1 创建卡片
7.3.2 卡片的开发
7.4 元服务
7.4.1 元服务概述
7.4.2 元服务的开发
7.5 实战:实现窗口沉浸式效果
习题
第8章 数据存储技术
8.1 数据存储技术基础
8.2 应用文件
8.2.1 应用文件概述
8.2.2 应用沙箱目录
8.2.3 应用文件分享
8.3 使用文件存储数据
8.3.1 文件的读取
8.3.2 文件的写入
8.4 使用关系数据库存储数据
8.4.1 创建数据库及表
8.4.2 操作数据库
8.4.3 查询数据
8.5 使用分布式数据服务
8.5.1 分布式数据库介绍
8.5.2 分布式数据对象跨设备数据同步
8.6 使用用户首选项实现数据持久化
8.6.1 使用用户首选项实现数据持久化介绍
8.6.2 使用用户首选项实现数据持久化操作
8.7 实战:使用数据库存储数据
习题
第9章 网络通信技术
9.1 网络通信技术基础
9.2 HarmonyOS中的WebView组件
9.3 利用HTTP接口开发HTTP程序
9.3.1 HTTP接口基础
9.3.2 HTTP接口使用示例
9.4 利用WebSocket开发HTTP程序
9.4.1 WebSocket基础
9.4.2 WebSocket使用示例
9.5 利用Axios开发HTTP程序
9.5.1 Axios基础
9.5.2 Axios使用示例
9.6 实战:网络应用开发
习题
第10章 多媒体开发与动画设计
10.1 多媒体子系统概述
10.2 音频播放服务
10.2.1 音频播放服务开发基础
10.2.2 使用AVPlayer播放音频
10.2.3 使用AudioRenderer播放音频
10.3 视频播放与录制服务
10.3.1 视频播放服务开发基础
10.3.2 使用AVPlayer播放视频
10.3.3 XComponent组件
10.3.4 使用Video组件播放视频
10.3.5 使用AVRecorder录制视频
10.4 相机服务
10.4.1 相机服务开发基础
10.4.2 使用相机的预览功能
10.4.3 使用系统相机的拍照和录像功能
10.5 图片服务
10.6 媒体文件管理服务
10.7 动画设计
10.7.1 动画概述
10.7.2 属性动画
10.7.3 转场动画
10.7.4 粒子动画
10.7.5 动画衔接
10.7.6 动画曲线
10.7.7 高阶动画
10.7.8 帧动画
10.8 实战:多媒体开发与动画设计
习题
第11章 教学系统设计
11.1 需求分析
11.2 系统设计
11.2.1 数据库的设计与实现
11.2.2 服务端的设计与实现
11.2.3 HarmonyOS客户端的设计与实现
11.3 项目部署与测试