HarmonyOS 移动应用开发技术

学做合一+前沿新技术+讲练结合
分享 推荐 6 收藏 72 阅读 4.3K
华为技术有限公司 (作者) 978-7-115-59682-6

关于本书的内容有任何问题,请联系 顾梦宇

1. 华为 ICT 学院HarmonyOS认证指定教材,内容权威。
2. 覆盖华为ICT学院HarmonyOS认证考试大纲的同时,结合作者多年的一线教学经验,深入浅出地讲解了HarmonyOS的相关知识。
3. 配套教学资源丰富且高质。
4.本教材注重理论与实践的结合,使学生能通过实践深化对理论的理解,学会并掌握理论知识的实际应用。能更好的培养学生的专业技能和实践能力,学生在学完本书后能学以致用。
5. 参与本书编写工作的人员都是长期从事相关课程教学的一线教师和长期从事软件开发的工程师,具有丰富的教学经验和实践经验。

内容摘要

本书较为全面地介绍了HarmonyOS应用的组成,开发流程和开发工具,以及应用前端UI,后台服务设计和数据库访问等内容。全书共12章,内容包括初识HarmonyOS,开启你的第一行HarmonyOS代码,HarmonyOS应用结构剖析,HarmonyOS核心组件——Ability,JS UI开发语法基础,HarmonyOS轻代码开发——JS UI设计,HarmonyOS数据持久化,HarmonyOS流转架构解析,HarmonyOS传感器应用和媒体管理,HarmonyOS原子化服务,HarmonyOS网络访问与多线程,中信银行本地生活App的设计与实现等。
书中非常强调理论和实践结合,凡是涉及动手操作的章节,都安排了丰富的代码示例来巩固移动应用开发知识点,此外,在本书最后一章,特意以一个实际上架并广泛使用的商用App——中信银行本地生活App为例,介绍了真实软件企业如何从需求分析入手,进行概设和详设,到最后的代码,全过程贯彻软件工程思想,通过工程化理念来指导移动应用开发的全过程。希望本书不仅能覆盖常用移动操作系统中应用的开发的共性,而且更能体现HarmonyOS中应用开发的特性。本书每章后面都设计了习题,希望通过练习和操作实践,帮助读者巩固所学的内容。
本书可以作为高校计算机相关专业移动应用开发课程的教材,也可以作为对HarmonyOS应用开发有兴趣的IT从业人员自学使用的资料。

目录

第1章 初识HarmonyOS 1
学习目标
1.1 HarmonyOS的起因和发展 1
1.2 HarmonyOS技术架构 2
1.3 HarmonyOS技术特性 3
1.3.1 硬件互助,资源共享 4
1.3.2 一次开发,多端部署 7
1.3.3 统一OS,弹性部署 7
1.4 HarmonyOS安全特性 7
本章小结 8
课后习题 8

第2章 开启你的第一行 HarmonyOS代码 9
学习目标
2.1 DEVECO STUDIO特性简介 9
2.1.1 核心特色 9
2.1.2 开发流程 10
2.2 开发环境搭建 13
2.2.1 配置开发环境 13
2.2.2 创建并运行HelloWorld工程 15
2.3 低代码模式应用开发 19
2.3.1 低代码开发界面介绍 19
2.3.2 使用低代码界面 20
2.3.3 多语言支持 22
2.3.4 案例——花朵展示列表App示例 22
2.4 编译构建GRADLE 27
2.4.1 Gradle的简介 27
2.4.2 HarmonyOS应用中的Gradle 27
2.5 应用调试 30
2.5.1 模拟器调试 30
2.5.2 自动签名生成 34
2.5.3 签名HAP包生成 37
2.5.4 真机调试 38
2.6 应用发布 39
2.6.1 准备签名文件 40
2.6.2 配置签名信息和编译 44
2.6.3 应用上架 45
本章小结 46
课后习题 46



第3章 HarmonyOS应用结构剖析 47
学习目标
3.1 APP和HAP的组成 47
3.1.1 App包结构 47
3.1.2 HAP模块结构 48
3.2 创建和使用HAR 49
3.2.1 创建库模块 49
3.2.2 将库文件编译为HAR 51
3.2.3 为应用添加依赖 52
3.3 资源限定与访问 53
3.3.1 限定词目录命名规则 54
3.3.2 限定词与设备的匹配 54
3.3.3 引用JS模块内资源 55
3.4 配置文件 56
3.4.1 配置文件的内部结构 56
3.4.2 App对象内部结构 57
3.4.3 deviceConfig对象内部结构 58
3.4.4 module对象的内部结构 58
3.4.5 ability对象的内部结构 62
本章小结 67
课后习题 67

第4章 HarmonyOS核心组件——Ability 69
学习目标
4.1 Ability的定义 69
4.1.1 FA和PA支持的模板 69
4.1.2 MVC和DPS异同 70
4.2 PAGE 72
4.2.1 AbilitySlice 72
4.2.2 AbilitySlice路由配置 72
4.3 生命周期 75
4.3.1 Page状态 75
4.3.2 Page回调函数 76
4.3.3 Page与AbilitySlice生命周期关联 77
4.3.4 AbilitySlice间的导航 78
4.4 PAGE的用法 80
4.4.1 Page的创建 80
4.4.2 创建和加载布局 81
4.4.2 config.json中注册 83
4.5 SERVICE 85
4.5.1 Service的定义 85
4.5.2 Service生命周期 85
4.5.2 启动Service 86
4.5.3 连接Service 87
4.5.4 前端Service 88
4.6 使用INTENT进行页面导航 90
4.6.1 Intent的作用 90
4.6.2 启动显式Intent 90
4.6.3 启动隐式Intent 91
4.6.4 向下一个Ability传递数据 93
4.6.5 返回数据给上一个Ability 94
4.7 阶段案例-访问后台服务获取电量信息 96
4.7.1 建立后台Service获取电量 96
4.7.2 建立后台与前台信息交互的接口类 98
4.7.3 前台Page与Service交互 98
本章小结 100
课后习题 100

第5章 JS UI开发语法基础 101
学习目标
5.1 HML语法 102
5.1.1 页面结构 102
5.1.2 数据绑定 103
5.1.3 事件绑定 103
5.1.4 列表渲染 104
5.1.5 条件渲染 105
5.2 CSS语法 106
5.2.1尺寸单位 107
5.2.2样式选择器 107
5.2.3伪类 109
5.3 JS语法 110
5.3.1关键字 110
5.3.2对象 110
5.3.2方法 115
本章小结 117
课后习题 117

第6章 HarmonyOS轻代码开发——JS UI设计 118
学习目标
6.1 JS UI框架基础 118
6.1.1 JS UI框架的意义 118
6.1.2 JS框架的结构 119
6.1.3 JS FA基本组成分析 119
6.1.4 JS应用生命周期和页面生命周期 122
6.2 组件通用特性 124
6.2.1 组件通用属性 124
6.2.2 组件通用样式 125
6.2.3 组件通用事件——手势和按键操作 127
6.3 构建复杂的交互界面 130
6.3.1 布局构建 130
6.3.2 基础组件和容器组件的关系 131
6.3.3 添加标题区和文本区 132
6.3.4 添加图片区域 133
6.3.5 添加评论区域 134
6.4 容器组件 139
6.4.1 list组件 139
6.4.2 tabs组件 141
6.4.3 dialog组件 144
6.4.4 swiper组件 147
6.4.5 form组件 150
6.5 自定义组件 153
6.5.1 自定义组件生命周期 153
6.5.2 构建自定义组件 153
6.5.3 调用自定义组件 157
6.6 JS FA调用PA 160
6.6.1 PA端Ability分类 160
6.6.2 建立客户端FA 160
6.6.3 建立内部Ability服务端 162
6.6.4 建立外部Ability服务端 165
6.7 JS其他必要功能 167
6.7.1 页面路由 167
6.7.2 日志打印 168
6.7.3 动画 169
6.8 JS购物车开发 174
6.8.1 主页界面设计 174
6.8.2 主页业务逻辑设计 177
6.8.3 详情页界面设计 177
6.8.4 详情页业务逻辑设计 182
本章小结 184
课后习题 185

第7章 HarmonyOS数据持久化 186
学习目标
7.1 数据持久化定义 186
7.2 DATA Ability 186
7.2.1 URI 187
7.2.2 创建Data Ability 187
6.2.2 注册Data Ability 189
7.2.3 访问Data Ability准备 189
7.3 文件存储 191
7.3.1 创建数据提供端 191
7.3.2 创建数据访问端 191
7.3.3 直接文件读取 193
7.4 关系型数据库操作 195
7.4.1 关键术语 195
7.4.2 工作原理 195
7.4.3 创建数据库 196
7.4.4 数据插入 197
7.4.5 数据查询 198
7.5 对象关系型数据库操作 201
7.5.1 核心工作组件 201
7.5.2 工作原理 201
7.5.3 创建数据库 202
7.5.4 数据插入 204
7.5.5 数据查询 205
7.6 用户偏好文件操作 208
7.6.1 工作原理 208
7.6.2 数据读写 208
7.7 分布式数据服务 215
7.7.1 关键术语 215
7.7.2 核心组件 216
7.7.3 工作原理 216
7.7.4 分布式数据访问 217
7.8 分布式文件服务 226
7.8.1 工作原理 226
7.8.2 分布式文件读写 227
本章小结 232
课后习题 233

第8章 HarmonyOS流转架构剖析 234
学习目标
8.1 流转的核心概念 234
8.2 流转架构 236
8.2.1 核心组件 236
8.2.2 关键流程 237
8.3 跨端流转功能开发 238
8.3.1 跨端拉起FA 238
8.3.2 跨端迁移具体步骤 244
8.3.3 跨端迁移实战开发 245
8.4 多端协同功能开发 247
8.4.1 多端协同具体步骤 248
8.4.2 界面交互思路及设计 249
8.4.3 权限申请 253
8.4.4 设备连接 255
8.4.4 设备交互 258
本章小结 261
课后习题 261

第9章 HarmonyOS传感器应用和媒体管理 263
学习目标
9.1 普通传感器分类 263
9.2 工作原理 264
9.3 普通传感器调用 266
9.4 相机调用 267
9.5 位置传感器调用 269
9.5.1 基本概念 269
9.5.2 运作机制 270
9.5.3 位置获取 270
本章小结 272
课后习题 272

第10章 HarmonyOS原子化服务 273
学习目标
10.1 原子化服务定义与特性 273
10.2 原子化服务体验 274
10.2.1 服务中心 274
10.2.2 原子化服务分享 275
10.3 原子化服务开发基础 278
10.3.1 开发总体要求 278
10.3.2 服务卡片结构 279
10.3.3 运作机制 280
10.3.4 卡片提供方主要回调函数 280
10.3.5 JS卡片语法基础 281
10.4 原子化服务开发进阶 283
10.4.1 卡片工程文件结构 283
10.4.2 卡片资源访问 283
10.4.3 卡片配置文件 286
10.5 原子化服务开发实战 287
10.5.1 建立工程及卡片 288
10.5.2 配置文件解析 290
10.5.3 卡片信息持久化 295
10.5.4 卡片内容刷新 299
10.5.5 卡片页面跳转 300
10.5.6 卡片消息传递 301
10.5.7 卡片事件触发 303
10.5.8 内存图片读取 305
10.6 原子化服务分享 308
10.6.1 服务分享运作机制 308
10.6.2 服务分享开发 309
本章小结 314
课后习题 315

第11章 HarmonyOS网络访问与多线程 316
学习目标
11.1 HTTP接口调用 316
11.2 数据上传和下载 319
11.3 WEBSOCKET连接 320
11.3.1 WebSocket概念 320
11.3.2 WebSocket实现 321
11.4 多线程 323
11.4.1 进程和线程的区别 323
11.4.2 多线程分类 323
11.4.3 多线程的使用 324
本章小结 326
课后习题 326

第12章 中信银行本地生活APP的设计与实现 327
学习目标
12.1 需求分析 327
12.2 概要设计 329
12.2.1 本地生活应用部署图 329
12.2.2 本地生活App总体流程图 330
12.2.3 登录与注册模块 331
12.2.4 绑定信用卡模块 332
12.2.5 优惠信息展示模块 333
12.2.6 订单管理模块 334
12.3 详细设计 335
12.3.1 类图设计 335
12.3.2 数据库设计 338
12.4 代码开发 340
12.4.1 优惠信息展示模块 341
12.4.2 服务卡片展示模块 356
本章小结 364

读者评论

赶紧抢沙发哦!

我要评论

作者介绍

华为技术有限公司: 成立于1987年,总部位于广东省深圳市龙岗区。华为是全球领先的信息与通信技术(ICT)解决方案供应商,专注于ICT领域,在电信运营商、企业、终端和云计算等领域构筑了端到端的解决方案优势,为运营商客户、企业客户和消费者提供有竞争力的ICT解决方案、产品和服务,并致力于实现未来信息社会、构建更美好的全联接世界。2013年,华为首超全球第一大电信设备商爱立信,排名《财富》世界500强第315位。华为的产品和解决方案已经应用于全球170多个国家,服务全球运营商50强中的45家及全球1/3的人口。

赵小刚,武汉大学计算机学院软件工程系副教授,主要研究方向为移动计算和云计算。从2010年开始在武汉大学计算机学院开设移动编程课程并担任课程组长,讲授HarmonyOS、iOS和Android方向移动开发内容;主持和参与了华为,谷歌和苹果公司共8项产学合作协同育人项目,2020年获得苹果公司Swift移动编程授权认证讲师,2021年开设全国高校首个鸿蒙移动开发课程。

推荐用户

相关图书

人邮微信
本地服务
教师服务
教师服务
读者服务
读者服务
返回顶部
返回顶部