5 个鸿蒙 Next 特色实战案例
2 个真实落地项目
鸿蒙 Next 原生 AI 实战
教学目标
快速理解鸿蒙操作系统(HarmonyOS)概念、应用程序框架
学会 IDE 基础使用、ArkTS 基础语法、ArkUI 页面开发
掌握鸿蒙系统处理本地或网络数据获取与存储流程
实现第一个基础的鸿蒙应用开发
- 1. 鸿蒙操作系统 HarmonyOS 整体介绍
-
万物互联时代,从手机单设备到全场景多设备的转变,需要全新的操作系统生态。
鸿蒙生态新特征:
单一设备延伸到多设备
厚重应用模式到轻量化服务模式
集中化分发到 AI 加持下的智慧分发
纯软件到软硬芯协同的 AI 能力
- 2. 开发环境构建 DevEco Studio 的使用
-
安装体验鸿蒙的集成开发环境,DevEco Studio,运行您的第一个 HarmonyOS 应用。
软件安装
编辑器使用
预览器使用
HDC 常用命令
- 3. JavaScript 与 TypeScript 概要介绍
-
快速掌握 ArkTS 语言的两种基础语言。TypeScript 在兼容 JavaScript 的基础上增加类型标识和一些新功能。
基础类型
条件语句
函数
HDC 面向对象
模块
- 4. ArkTS 语法介绍
-
ArkTS 是在 TypeScript 基础上的裁剪和新增一些新功能的强类型语言。 本节掌握 ArkTS 语言的基本语法和规则,掌握变量、类型、函数、类和模块以及基础容器类的使用方法。掌握 ArkTS 声明式开发范式,熟悉 ArkTS 中 UI 装饰器使用,如 @State、@Entry、@Component 等。
重点内容
类型和函数
类 class 定义
接口和泛型
空安全和模块
声明式 UI 语法
实战案例:实现 ToDo 待办列表
使用 ArkTS 声明式 UI 语法和基础组件,实现一个 ToDo 待办列表
类 class 定义实现效果为点击某一事项,替换标签图片、虚化文字
- 5. 鸿蒙应用程序框架 UIAbility 介绍使用
-
从鸿蒙应用入口开始,了解用户如何与应用交互,理解应用的生命周期。当用户打开、切换和返回到对应应用时,应用中的 UIAbility 实例会在其生命周期的不同状态之间转换。UIAbility 类提供了一系列回调,通过这些回调可以知道当前 UIAbility 实例的某个状态发生改变,会经过 UIAbility 实例的创建和销毁,或者 UIAbility 实例发生了前后台的状态切换。
重点内容
应用创建状态
应用 UI 加载态
应用处于前台或后台态
应用销毁态
实战案例
基于 Stage 模型下的 UIAbility 开发,实现 UIAbility 内页面间的跳转和数据传递。
- 6. 从一个购物社交应用开始
-
以一个常用的购物社交应用开始,了解基础组件、常用容器,并学习如何构建列表、页签切换等常用场景。
重点内容
基础组件:Text、Image、TextInput、Button、LoadingProgress、资源引用类型
容器组件:Column、Row、主轴和交叉轴
列表组件:List、Grid、长列表性能优化
页签组件:Tabs、布局模式、自定义样式
实战案例
以购物社交应用为例,学习如何使用常用的基础组件和容器组件
包含:“登录”、“首页”、“我的”三个页面
- 7. 构建更丰富的高级页面
-
构建更复杂的页面,需要管理页面组件的各种状态,并且使用一些高级组件来丰富页面表现力。
重点内容
父子组件状态装饰器:@State、@Prop、@Link
后代组件状态装饰器:@Provide 和 @Consume、@Observed 和 @ObjectLink
Video 组件:加载本地视频、播放网络视频、Video 控制器使用
应用弹窗:警告弹窗、文本选择弹窗、日期选择弹窗、自定义弹窗
实战案例
一个季度工作目标管理器的应用实例,可以添加各种子目标,展开和更新工作进度
使用@State、@Prop、@Link、@Watch、@Provide、@Consume 管理页面级变量的状态
实现对工作目标数据的增加、删除、修改
- 8. 网络数据访问
-
使用 HTTP 从网络获取数据,构建一个从网络实时获取数据的应用。日常生活中我们使用应用程序看新闻、发送消息等,都需要连接到互联网,从服务端获取数据。
重点内容
HTTP 基础知识:状态码、请求头、请求参数
发起 HTTP 请求:GET 和 POST 请求的实现
发起 HTTP 流式请求:requestInStream 的使用
实战案例
基于 HTTP 请求和 ArkUI 组件,实现了一个类似今日头条首页的新闻应用
包含新闻类别、下拉刷新、上拉加载等功能的实现
使用 List、Tabs、TabContent 组件进行页面布局和展示
通过 HTTP 模块发起网络请求,获取新闻数据
利用 OnTouch 事件回调实现下拉刷新和上拉加载的交互效果
教学目标
掌握鸿蒙开发 ArkUI 高级功能、ArkWeb 开发、Native 适配开发
学会使用鸿蒙系统第三方库和 SDK 的调用
独立完成应用的打包、部署和最终上线
- 1. 鸿蒙应用程序框架进阶
-
深入应用程序框架的基本概念和设计思想,进一步学习 UIAbility 组件和应用程序包相关知识。
鸿蒙生态新特征:
AblilityStage 组件容器
UIAbility 启动模式与 UIAblity 组件间的交互
Stage 模型程序包结构:开发态、编译态、发布态
HSP 动态共享包:使用场景、约束限制、开发和使用
HAR 静态共享包:实现多个模块或多个工程间共享 ArkUI 组件、资源
- 2. ArkUI 进阶
-
通过学习页面布局优化的相关技术来优化页面性能、提升用户体验。
布局性能优化
长列表加载性能优化
ArkUI 最近实践之 ForEach 循环渲染
ArkUI 最近实践之状态管理最近实践
- 3. 动画和转场
-
使用 HarmonyOS 动效引力体系,围绕回归本源设计理念,打造自然、流畅、品质一体的操作体验,使用动画提升用户体验。基于视觉效果设计,我们可以将动效划分为特征动效、转场动效、手势动效、微动效、插画动效。设计转场动效,从主页到详情页、从列表页到结果页都设置一些转场动效使得用户体验更加流畅。
重点内容
动效场景设计:特征动效、转场动效、手势动效、微动效、插画动效
动画能力选型:系统能力、资源调用、第三方库
转场场景设计:转场动效、转场场景、场景解构
转场场景开发:转场能力、动画能力
实战案例
属性动画:一个学校园区介绍的长页面,随着用户上下滑动,顶部图标和文字需要随着内容变更而切换。
路径动画:一个地图地点指示器,对应地点位置的小图标持续上下跳动。
粒子动画:在一个雪山为背景的介绍页面,雪以粒子的形式飘下。
gif 动画:在背景页面,加入一段用 gif 动画显示的小魔法棒动效,反复播放。
lottie 特征动效:实现一个点击徽章后将其放大并播放烟花动效,加载 After Effects 制作好的动效。
导航转场模板实现层级转场:在地图上显示 6 个具体的坐标位置,点击对应坐标 icon 后,跳转到对应的详情介绍页面。
Tabs 组件实现层级转场:在用户主页切换显示收藏、浏览、成就三个页面。
模态转场模板实现通用转场:当用户点击介绍详情页中的图片时,图片会放大展示,覆盖在原有界面上,并且点击空白处完成返回。
- 4. Web 组件
-
使用 Web 组件和 WebView 来显示并控制网页,以快速构建应用。
重点内容
Web 组件:加载本地网页资源,加载在线网页
WebView 使用:WebViewController、ArkTS 调用 H5
实战案例
一个在线抽奖的应用,加载本地和云端 H5 小程序,所加载的页面是由 HTML、CSS、JavaScript 实现的完整小应用。
- 5. 媒体(音视频)
-
使用媒体相关接口来实现音视频、图片相关操作。
重点内容
视频播放:通过 mulitimedia 接口实现视频播放、暂停、调速、切换等
媒体会话:通过 avsession 接口实现媒体控制方自定义信息交互
拼图:通过 image 和 photoAccessHelper 接口实现获取图片、图片裁剪分割
- 6. 数据安全(加解密)
-
使用 security 接口实现各种加解密
重点内容
使用 cert 接口实现对签名数据进行校验
使用 cryptoFramework 实现对文本文件进行加解密、签名和验证签名
使用 Cipher 对象实现字符串加解密算法,例如 RSA、AES 等加密算法
- 7. 文件管理
-
使用各种持久化能力来保存和管理用户数据
重点内容
使用 preferences 接口来实现首选项持久化存储
使用 picker、mediaLibrary、file 接口实现新建文件、编辑文件、保存文件,打开系统相册图片查看,打开视频播放
使用内置基于 SQLite 的关系数据库接口,实现数据库增删改查和数据库事务操作
- 8. 应用通知和提醒
-
旨在让用户以合适的方式及时获得有用的新消息,帮助用户高效地处理任务。应用可以通过通知接口发送通知消息,用户可以通过通知栏查看通知内容,也可以点击通知来打开应用。
重点内容
通知表现形式和结构
创建通知、设置通知通道、创建通知组、为通知添加行为意图
后台代理提醒:倒计时类、日历类、闹钟类
实战案例
下载进度通知应用:使用通知能力和基础组件,实现模拟下载文件,发送通知的案例。
经典闹钟应用:使用后台代理提醒,实现一个标准的华为闹钟应用。
实况窗服务:实现了即时配送场景下实况窗的创建、更新和结束功能。即时配送提供了待支付、待商家接单、待骑手接单、骑手已接单、骑手已到店、商品配送中、商品放入取餐柜和商品已送达,共 8 个状态。
- 9. Native 适配开发
-
掌握使用 Node-API 实现跨语言开发,掌握使用 Node-API 进行异步任务、线程安全等典型场景开发,能够在项目上实现 ArkTS 应用侧与 Native 侧交互与通信,以提升应用开发的效率和系统性能。
重点内容
Node-API 介绍:组成架构、关键交互流程
Node-API 支持的数据类型和接口
Node-API 实现跨语言交互开发流程:Native 侧方法的实现,ArkTS 侧调用 C/C++ 方法实现,Node-API 的约束限制
典型开发场景:同步开发、异步开发、线程安全开发
开发案例概述:案例设计思路、案例流程图、案例效果
实战案例
Native C++ 计算器:使用 C 标准库 hypot 接口计算两个给定数平方和的平方根。在输入框中输入两个数字,点击计算结果按钮显示计算后的数值。
- 10. 第三方库使用
-
使用包含 UI、动画、图片、多媒体、文件数据、网络、安全、工具等类型的第三方库,帮助快速开发应用。
重点内容
如何获取第三方库
常用第三方库:UI 库、网络库、动画库、其他类别
使用开源第三方库 lottie:介绍、安装与卸载、引用 lottie 动国资源
如何移植第三方库
实战案例
一个包含 lottie 动画使用的库调用和一个本地库的使用的小应用
- 11. HarmonyOS SDK 开放能力简介
-
快速了解 HarmonyOS SDK 开放能力的使用场景、业务特性以及领域类型。HarmonyOS SDK 是 HarmonyOS 面向应用和服务开发的开放能力合集,基于 HarmonyOS SDK 前沿技术,广大开发者可以构建焕然一新的 HarmonyOS 应用。能力覆盖应用框架、应用服务、系统、媒体、AI、图形六大领域。
重点内容
应用框架:丰富 UI 组件、跨设备同步、高效编程语言
应用服务:账号服务、游戏服务、位置和地图、联系人、广告和支付、分析服务、推送和通知
系统服务:身份认证、通信服务、多端互联、应用测试
媒体能力:媒体开放能力、视觉和听觉处理
图形能力:2D、3D 渲染,GPU 原子化接口、AR/VR 场景
AI 开放能力:本地硬件加速和推理、各种基于网络 API 的 AI 能力接入
教学目标
快速体验华为帐号服务教程和开发实例
掌握 HarmonyOS SDK 调用相应的 API 接口能力
快速实现鸿蒙系统下各项服务的开发
- 1. 华为帐号登录
-
华为帐号注册用户量已达到 10 亿,通过华为帐号可以一键登录应用,通过与华为帐号绑定,可以为应用快速引入新用户和登录。华为帐号开放遵循 OAuth 2.0 协议以及 OpenID Connect 标准规范。
重点内容
如何在 AppGallery Connect 上创建应用
如何配置指纹证书
如何调用华为帐号服务的 API 接口
实战案例
使用华为帐号登录、授权的流程。获取华为帐号开放的用户基本信息(用户标识、头像昵称等),以及取消用户对应用的授权。
- 2. 应用内支付服务
-
华为应用内支付服务(In-App Purchases,IAP)为 App 提供便捷的应用内支付体验和简便的接入流程。通过应用内支付服务,用户可以在您的 App 内购买各种类型的虚拟商品,包括消耗型商品、非消耗型商品和自动续费订阅商品。
重点内容
接入购买:使用场景、业务流程、提供购买功能、处理非消耗型商品的权益发放
确保权益发放:使用场景、业务流程、开发步骤
实战案例
通过调用应用内支付服务的 API 来实现购买消耗型商品的功能。
- 3. 推送服务
-
推送服务是 HarmonyOS 的重要系统级服务,为开发者建立了从云端到终端设备的长连接通道,应用通过华为 Push Kit 发送的,在华为终端设备上显示的通知消息,显示位置主要包括通知中心、锁屏、横幅等。
重点内容
推送通知定义
通知内容
开通推送服务
获取 AAID
获取推送服务 Token
实战案例
配置应用签名证书指纹、开通推送服务,和配置 Client ID,最后获取 Push Token。
- 4. 位置服务
-
Location Kit(位置服务)使用多种定位技术提供服务,如 GNSS 定位、基站定位、WLAN/蓝牙定位。通过这些定位技术,无论用户设备在室内或是户外,都可以准确地确定设备位置。
重点内容
运作机制
约束与限制
申请位置权限开发
获取设备的位置信息开发
地理位置编码转化开发
- 5. 扫码服务
-
统一扫码服务(Scan Kit)提供的功能之一,提供了默认的扫码界面,在本模式下,对系统相机权限进行预授权,调用接口时,无需您再次申请相机权限。适用于不同扫码场景的应用开发。
重点内容
适用场景介绍
业务流程分析
接口说明详解
开发步骤解析
实战案例
通过使用 Scan Kit(统一扫码服务)实现码图生成、默认界面扫码、自定义界面扫码、图片识码的功能。
- 6. 游戏登录服务
-
游戏登录是指游戏启动后进行初始化,并向玩家展示华为帐号登录入口。玩家使用华为帐号登录游戏,帐号认证成功后游戏获取玩家个人信息并获得玩家授权。根据游戏是否需要获取玩家头像和昵称等隐私数据,可分为显式授权和隐式授权。
重点内容
场景介绍、业务流程、基础概念
开发步骤:导入模块、初始化、华为账号认证与授权、获取玩家信息、获取 Access Token、玩家信息核验、提交玩家角色
实战案例
通过建立一个具备华为帐号登录功能的 HarmonyOS 应用程序,具备游戏登录按钮,登录成功后能够获取玩家信息,包括玩家标识、等级,上报玩家角色(角色 ID、角色名、玩家标识和区服等)到华为服务器。
- 7. 通用文字识别
-
Core Vision Kit 提供计算机视觉相关基础能力来处理图片和视频,当前支持文本识别。文本识别可以帮助您识别收据、名片、文档照片等含文字的图片,将其中的文本信息提取出来。被广泛应用于印刷、教育、物流等行业。
重点内容
约束与限制
开发步骤详解
场景案例剖析
实战案例
本案例通过拍照、扫描等光学输入方式,把各种票据、卡证、表格、报刊、书籍等印刷品文字转化为图像信息,再利用文字识别技术将图像信息转化为计算机等设备可以使用的字符信息,便于用户提取字符内容、屏幕坐标及外框。
教学目标
掌握综合性的、前沿性的 HarmonyOS 应用开发案例
学会创建具有鸿蒙特色的应用功能
掌握鸿蒙新特性,服务卡片开发应用
- 1. 酷酷音乐 App(一次开发,多端部署)
-
HarmonyOS 系统面向多终端提供了“一次开发,多端部署”的能力,让开发者可以基于一种设计,高效构建多端可运行的应用。
重点内容
界面级的一次开发,多端部署
功能级的一次开发,多端部署
工程级的一次开发,多端部署
实战案例
本案例基于自适应布局和响应式布局,实现一次开发,多端部署的一个音乐专辑页应用。
- 2. 恒达理财 App(一次开发,多端部署)
-
一个应用要在多类设备上提供统一的内容,需要适配不同的屏幕尺寸和硬件,开发成本较高。 "一次开发,多端部署"的应用开发理念,可以让开发者基于统一的设计,在多类设备上,高效构建可运行的应用。
重点内容
介绍手机、折叠屏、平板等不同屏幕尺寸设备的页面设计和实现方案
掌握学习鸿蒙 Next 系统能力差异的兼容性问题
实现一次开发,多端部署
- 3. 分布式邮件应用-比邻邮件 App(自由流转)
-
当多个设备通过 HarmonyOS 的分布式特性能够相互感知、进而整合成一个超级终端时,设备与设备之间就可以取长补短、相互帮助,为用户提供更加自然流畅的分布式体验。
重点内容
流转概念:跨端迁移、多端协同
典型场景:服务互通、应用接续、媒体播控、跨设备拖拽、跨设备剪切板
实战案例
本案例基于应用接续、分布式数据对象、分布式文件系统等功能,实现了一个分布式邮件应用。
- 4. 诗梦空间(服务卡片)
-
服务卡片(以下简称“卡片”)是一种界面展示形式,可以将应用的重要信息或操作前置到卡片,以达到服务直达、减少体验层级的目的,服务卡片是一种位于桌面,有着 2×2 和 2×4 等规格的快速应用入口。
重点内容
关系型数据库
卡片:卡片使用方、卡片管理服务、卡片提供
实战案例
本案例我们将实现一个诗梦空间的服务卡片,不仅能够让用户学习诗词,还可以让开发者掌握卡片开发流程。
- 5. 鸿蒙世界 App
-
教学目标: 1、掌握鸿蒙 Next 应用开发分层架构特性 2、了解鸿蒙 Next 应用开发模块化设计与实践 3、通过串联知识点和案例汇总,实现一个学习卡片应用
主要内容
探索:展示用户关注主题的热门资讯和文章,并查看资讯、文章的访问量,支持对文章进行点赞、收藏。
学习:提供学习路径查看和课程学习,点击卡片可以打开详情页进行学习,并在学习完成后获得成就勋章。
代码挑战赛:点击线下地图某个区域的悬浮图标,可以进入区域介绍详情页,并在详情页底部跳转到代码挑战赛。
活动:展示官网近期的活动内容。
我的:展示用户信息,支持查看收藏和浏览过的文章,查看获取的学习成就。
主要包含的鸿蒙特性
HSP/HAR 共享包
服务卡片
一次开发,多端部署
自由流转
自适应布局
响应式布局
- 项目一:坚果日程 App
-
坚果日程 App:随着生活中任务和日程的繁杂化,经常会遇到遗忘重要事情的情况;市场上虽然已经具有众多日程类应用,但或多或少无法满足用户需求。这是一款简洁实用又功能丰富的的日程 APP,可帮助用户更好地管理任务和日程安排,大大提升个人效率。
教学目标
掌握鸿蒙系统下真实的坚果日程 App 解决方案
学会坚果日程 App 中的创建、编辑、整理、删除日程功能
掌握鸿蒙一次开发多端部署特性,实现同网段设备的数据同步
主要功能
创建日程:创建日程时可自定义多种属性,包括标题,备注,有效时间,分类文件夹,是否收藏,是否重要等。包括可以创建循环事件,可以自定义循环周期和循环具体规则。
编辑日程:修改事件内容,包括完成标记可以撤销,过期事项可延期。
整理日程:提供分类,包括文件夹分类,日历视图,是否重要是否紧急的分类等。
删除日程:日程可随时删除,包括多端同时删除。
数据导入导出:导出日程数据到本地,或从本地备份中恢复,以便更换设备时实现数据同步。
定点提醒:在设定的时间点通过系统创建提醒,保证用户在对应时间收到提醒。
多端同步:利用鸿蒙一次开发多端部署特性,实现同网段设备的数据同步。
服务卡片:提供服务卡片服务功能,从界面直达应用。
- 真实项目实战二:徽风皖韵元服务
-
安徽省有着丰富的旅游资源,我们可以利用安徽的旅游资源,做一个文旅元服务,向外界更好的展示安徽,同时大家也可以在此学到端云一体化,本应用无需后端,所有数据,均可保存在云侧,最后可以帮助没有后端基础的,也可以开发属于自己家乡的元服务。
教学目标
掌握鸿蒙 Next 系统下文旅元服务的设计,学到端云一体化
掌握鸿蒙系统开发中 video 组件、tab 组件、轮播组件 Swiper 的应用
实现服务卡片布局跳转、一键拨打电话功能
掌握如意甘肃元服务性能优化与包体积优化流程
主要功能
徽风皖韵项目的创建,图标,应用名称的修改。
徽风皖韵的视频介绍,这里面主要包含 video 组件的使用。
安徽概况,安徽的介绍。
历史沿革和人口自然地理实现,包括历史文化名城,行政区域,大事记,以及自然地理,气候情况,地理地图,人口状况这里主要包含 tab 组件的使用。
畅游安徽,这里主要包含的是轮播组件 Swiper 的使用。
特产和红色旅游模块的实现,这里主要就是详情页的制作。
2-2 和 2-4 卡片的实现,包括布局和跳转。
联系客服,关于我们的实现。包括一键拨打电话。
应用的上架流程。
性能优化与包体积优化
教学目标
掌握 HarmonyOS 原生 AI 能力
学会创建具有鸿蒙原生特色的 AI 应用
转变思路,打造具有 AI 能力的 App,从鸿蒙 NEXT 新生态中获取新流量
- 实战一:机器学习-文字识别
-
HUAWEI ML Kit Photo-Reader 使用华为 ML Kit 的文本识别,文本翻译和文本转语音功能,将照片中的文字识别出来,进行翻译,并利用文本转语音功能把文字变成语音输出。利用相机或者图片库,快速提取任意图片中的文字,省去大量人力,轻松实现智能识图。
- 实战二:语音机器人 App(机器学习-基础语音)
-
机器学习服务可以提供丰富的文本类、语音语言类、图像类和人脸人体类服务 API,打造AI新体验,轻松构建AI应用。只要你说的不是火星语言,豆豆机器人都可以听得懂,还能陪你正儿八经的聊天。只要你说的不是火星语言,豆豆机器人都可以听得懂,还能陪你正儿八经的聊天。
- 实战三:图分大师 App(HiAI Foundation)
-
HUAWEI HiAI 是面向智能终端的AI能力开放平台,基于 “芯、端、云”三层开放架构,即芯片能力开放、应用能力开放、服务能力开放,构筑全面开放的智慧生态,让开发者能够快速地利用华为强大的 AI 处理能力,为用户提供更好的智慧应用体验。具有对一堆杂乱无章的图片,快速分类的好本事。比如垃圾分类,商品分类等等。
讲师带着刷 HarmonyOS 应用开发者高级认证题库
考前组织考试动员会,统一组织线上考试
课题 | 具体内容 | 内容占比 |
---|---|---|
HarmonyOS 系统特征介绍 | HarmonyOS 先进性+创新场景分享(白皮书) | 6% |
HarmonyOS 应用架构介绍 | 1.如何构建一个 HarmonyOS 应用架构(通用架构,参考安卓的应用架构指南,覆盖编译器原理,分合,一多,流转等) 2.或是如何使用 ArkUI-x 来构建一个跨平台应用 一期 |
13% |
准备工作 | 工程台理(IDE) +实操+端云一体化开发 | 13% |
应用开发知识域 | ArkUI 进阶+实操(含 ArkTS 基本语法) | 6% |
Stage 模型进阶+实操 | 6% | |
公共事件通知+实操 | 6% | |
网络连接开发+实探 | 6% | |
数据库开发+实操 | 6% | |
安全其础+实操 | 6% | |
WebView 适配开发+实操 | 6% | |
Native 适配开发+实操 | 6% | |
DFX 及调试调优+实操 | 6% | |
闭源库集成指导 | HMS Core 集成+实操 | 3% |
三方库使用 | 常用三方库的使用+实操 | 3% |
Harmonyos 上架 | HarmonyOS 应用&元服务上架指导(含审核标准) | 3% |