本书深入浅出地介绍了鸿蒙应用开发的基础知识、核心技术和实战案例,旨在帮助读者掌握鸿蒙应用开发的全流程。全书共7个项目,分别为初探HarmonyOS开发个性化设置应用、夯实ArkTS语言基础学生成绩管理系统、深入ArkTS高级特性模拟田忌赛马、参透ArkUI开发智慧字号字体适老化、把握组件通用信息随手而动的小球、精通ArkUI组件构建模仿美团App消息列表页面、融会贯通七彩天气App开发之旅。每个项目都配有技能提升模块,帮助读者巩固所学的内容。每个项目还配有AIGC实验室模块,帮助读者提高开发效率。
本书可以作为高职高专、职业本科、应用型本科等院校计算机相关专业鸿蒙应用开发课程的教材,也可以作为鸿蒙应用开发培训班的教材,同时还适合有一定编程基础的开发者自学使用。
1.基础知识与实战案例结合:本书围绕鸿蒙开发的基础知识点和实战案例两个主题穿插进行,包括HarmonyOS系统介绍、开发环境搭建、ArkTS基础语法、常用布局、组件、动画等基础知识。最后以一个综合应用七彩天气来巩固前面所学基础知识,以及学习新的知识:开发APP必须的国际化、状态共享、网络请求、通知开发、语音开发、卡片开发等各个知识模块。
2.项目实战:本书的实战部分包括HarmonyOS项目实战、应用性能分析与优化以及应用打包与发布等内容,帮助读者将基础知识综合运用,具备独立开发上架HarmonyOS商业应用的能力。
3.系统全面性:本书内容涵盖鸿蒙应用开发主要内容,包括开发准备、基础知识、原型制作、应用开发等。
4.易学易用:本书适合有一定编程基础的读者,技术内容通俗易懂,循序渐进,并包含丰富的代码讲解和应用实例。
叶奇江,男,讲师,硕士,主讲《程序设计基础(Java)》《Java后端框架技术》《Unity设计与开发》《HarmonyOS鸿蒙开发》等课程,担任绍兴职业技术学院信息工程学院计算机应用技术专业专业助理,获课堂教学优秀、先进工作者等荣誉。主编校级重点规划教材《HarmonyOS鸿蒙应用开发》,参编浙江省十四五重点教材《Vue.js前端项目开发实战》,校级重点规划教材《C#程序设计案例教程》。曾在IT上市公司担任一线软件开发工程师10年,任公司移动开发部经理。
目录
项目1
初探HarmonyOS开发
个性化设置应用 1
【项目引言】 1
【学习目标】 1
【思维导图】 1
【学习任务】 2
任务1.1 认识HarmonyOS 2
1.1.1 了解HarmonyOS
发展史 2
1.1.2 了解HarmonyOS核心
技术理念 3
任务1.2 开启HarmonyOS开发
之旅 5
1.2.1 下载并安装集成开发
环境DevEco Studio 5
1.2.2 创建第 一个鸿蒙应用 7
1.2.3 使用模拟器运行工程 9
1.2.4 初窥HarmonyOS
(ArkTS)工程目录
结构 11
1.2.5 熟悉DevEco Studio的
功能区域 12
任务1.3 综合案例:个性化设置
应用 16
【项目小结】 17
【技能提升】 17
【AIGC实验室】CodeGenie
DeepSeek:双擎
驱动HarmonyOS
开发新范式 17
【项目评价】 19
项目2
夯实ArkTS语言基础
学生成绩管理系统 20
【项目引言】 20
【学习目标】 20
【思维导图】 20
【学习任务】 21
任务2.1 ArkTS开发入门 21
2.1.1 ArkTS介绍 21
2.1.2 利用DevEco Studio
编写ArkTS代码 21
任务2.2 掌握ArkTS基础语法 22
2.2.1 声明变量和常量 22
2.2.2 类型 23
2.2.3 运算符 27
2.2.4 控制语句 29
2.2.5 函数 33
任务2.3 综合案例:学生成绩管理
系统 35
【项目小结】 38
【技能提升】 38
【AIGC实验室】CodeGenie代码智能
解读 38
【项目评价】 39
项目3
深入ArkTS高级特性
模拟田忌赛马 41
【项目引言】 41
【学习目标】 41
【思维导图】 41
【学习任务】 42
任务3.1 了解面向对象相关概念 42
3.1.1 封装 42
3.1.2 继承 42
3.1.3 多态 42
任务3.2 类 42
3.2.1 类的结构 43
3.2.2 访问修饰符 46
3.2.3 继承机制 47
任务3.3 抽象类和接口 50
3.3.1 抽象类 50
3.3.2 接口 52
任务3.4 特殊操作符 54
3.4.1 可选操作符( ) 54
3.4.2 空值合并操作符( ) 55
3.4.3 空值赋值操作符( =) 55
3.4.4 非空断言操作符(!) 56
任务3.5 异步执行 57
3.5.1 Promise 57
3.5.2 async/await 58
任务3.6 导入和导出模块 58
3.6.1 使用import和export实现
模块化 58
3.6.2 重导出 59
任务3.7 综合案例:模拟田忌
赛马 60
【项目小结】 62
【技能提升】 62
【AIGC实验室】CodeGenie代码自动
生成 63
【项目评价】 65
项目4
参透ArkUI开发智慧
字号字体适老化 67
【项目引言】 67
【学习目标】 67
【思维导图】 67
【学习任务】 68
任务4.1 了解ArkUI开发基本概念 68
4.1.1 ArkUI关键特性 68
4.1.2 声明式开发范式 69
任务4.2 了解ArkUI不同像素单位 71
4.2.1 影响屏幕显示的关键
因素 71
4.2.2 自适应屏幕的像素单位 72
任务4.3 应用资源的管理和访问 73
4.3.1 应用资源的管理 73
4.3.2 应用资源的访问 74
任务4.4 综合案例:字号字体
适老化 75
【项目小结】 77
【技能提升】 77
【AIGC实验室】Intents Kit:构建智慧
分发的基石 77
【项目评价】 78
项目5
把握组件通用信息
随手而动的小球 79
【项目引言】 79
【学习目标】 79
【思维导图】 79
【学习任务】 80
任务5.1 掌握组件常见属性 80
5.1.1 尺寸属性 80
5.1.2 边框属性 86
5.1.3 背景属性 89
5.1.4 颜色渐变属性 94
5.1.5 形状裁剪属性 98
5.1.6 动态交互属性 100
任务5.2 学习组件手势事件 103
5.2.1 手势事件原理 103
5.2.2 绑定手势 103
5.2.3 点击手势 105
5.2.4 长按手势 107
5.2.5 组合手势 108
任务5.3 综合案例:随手而动的
小球 110
【项目小结】 111
【技能提升】 111
【AIGC实验室】MindSpore Lite Kit:
HarmonyOS的轻量化
AI引擎 112
【项目评价】 113
项目6
精通ArkUI组件构建
模仿美团App消息
列表页面 115
【项目引言】 115
【学习目标】 115
【思维导图】 115
【学习任务】 116
任务6.1 利用容器组件巧妙布局 116
6.1.1 线性布局
(Linear Layout) 116
6.1.2 弹性布局
(Flex Layout) 121
6.1.3 层叠布局
(Stack Layout) 125
6.1.4 相对布局
(Relative Layout) 127
6.1.5 网格布局
(Grid Layout) 133
6.1.6 列表布局
(List Layout) 138
任务6.2 学会使用基础组件 144
6.2.1 文本显示与输入组件 144
6.2.2 图片与视频组件 155
6.2.3 按钮与选择组件 169
任务6.3 综合案例:模仿美团App
消息列表页面 177
【项目小结】 180
【技能提升】 181
【AIGC实验室】Vision Kit:场景化
视觉服务 181
【项目评价】 183
项目7
融会贯通七彩天气App
开发之旅 184
【项目引言】 184
【学习目标】 184
【思维导图】 185
【学习任务】 185
任务7.1 搭建开发工程 185
7.1.1 快速创建工程 185
7.1.2 工程中模块的设计 186
7.1.3 七彩天气应用配置 187
任务7.2 应用开屏页 191
7.2.1 创建开屏页 191
7.2.2 了解UIAbility 192
7.2.3 沉浸式用户体验 194
7.2.4 倒计时跳转 194
7.2.5 将文字作为资源使用 197
7.2.6 自定义组件的生命周期 197
任务7.3 应用主页 199
7.3.1 路由根容器组件:
Navigation 199
7.3.2 搭建七彩天气App
主页 201
任务7.4 我的页面 204
7.4.1 国际化支持i18n 204
7.4.2 关于弹窗 206
7.4.3 登录拦截 208
任务7.5 登录页面 214
7.5.1 登录页面UI实现 215
7.5.2 网络服务 216
7.5.3 完成接口部署 217
7.5.4 对接登录接口 218
7.5.5 个人页面数据共享 223
任务7.6 个人信息页面 232
7.6.1 自定义页面标题组件 232
7.6.2 模态弹窗完成信息编辑 234
7.6.3 多媒体库获取图片 240
7.6.4 个人信息的获取与更新 241
任务7.7 天气详情页面 247
7.7.1 实时定位 247
7.7.2 获取实时天气 251
7.7.3 语音播报天气 255
任务7.8 新闻模块 261
7.8.1 分页新闻列表 261
7.8.2 Web组件展示详情 263
【项目小结】 265
【技能提升】 265
【AIGC实验室】CodeGenie为七彩
天气App生成服务
卡片 266
【项目评价】 268