系统及应用场景介绍
系统及应用场景介绍
HarmonyOS 三大特征: “硬件互助,资源共享”、“一次开发,多端部署”、“统一 OS,弹性部署”
HarmonyOS Connect(中文名称:鸿蒙智联)是华为消费者业务面向生态智能硬件的全新技术品牌。
HarmonyOS Connect来自 Works With HUAWEI HiLink 品牌和 Powered by HarmonyOS 品牌的融合升级,旨在提
供统一的生态产品开发、销售与运营服务。
在各项服务功能上,HarmonyOS Connect承接了Works With HUAWEI HiLink的碰一碰、
快速连接的功能体验,而在连接技术上,HarmonyOS Connect 使用了
Powered by HarmonyOS 的分布式软总线连接能力。
HarmonyOS Connect 智能硬件具备 4 项主要特点:
1、不同设备,同一语言。
2、硬件互助,形成超级终端。
3、服务跨端流转,脱离单设备依赖。
4、微内核架构,重塑终端设备可信安全。
HarmonyOS Connect 服务包为合作伙伴提供设备开发、原子化服务开发、设备全生命周
期运营运维等一站式智能化解决方案,由基础服务、增强服务、HarmonyOS Connect 云等组成。
HarmonyOS Connect 服务包的基础服务主要有四方面能力。
极简连接。
万能卡片作为设备与服务的载体,支持多设备运行,服务免安装,一步直达。
极简交互实现全场景接入,支持碰一碰、靠近发现、扫一扫等多种用户场景化交互方式拉
起服务卡片,以及通过服务中心、控制中心、智慧生活和负一屏中的设备卡片,完成设备状态
查询、设备控制和更多服务。
硬件互动建立多设备间视频、音频、信息服务流转,组合不同设备的软硬件能力,融合成
“超级终端”,为用户打造全场景智慧生活体验。
智慧场景联动是华为面向消费领域的智能软硬件开放生态平台,通过聚合设备能力和应用
服务能力,赋能开发者,进行一站式场景开发和运营,提升消费者智慧全场景的生活体验。
小艺智慧助手是用户与设备的主要交互入口,支持基于用户、设备、服务建模的主动服务等智能化体验。
小艺智慧助手平台的语音功能支持语音唤醒、多轮对话、协同唤醒,提供全面语音服务。
小艺智慧助手主要有六大使用场景:出行、家居、健康、教育、办公、娱乐。
小艺智慧助手目前已有大量的应用,典型的应用案例包括家居智能中控、随身看&智慧盒子、学习台灯。
OpenHarmony 生态组成
OpenHarmony 是由开放原子开源基金会孵化及运营的开源项目,也是 HarmonyOS 和
HarmonyOS Connect 共同的技术底座。囊括了 HarmonyOS 的核心能力:分布式软总线、分
布式数据管理、分布式任务管理、分布式设备虚拟化等各项能力。
OpenHarmony 支持如下几种系统类型:
1、轻量系统面向 MCU 类处理器的设备,此类设备硬件资源极其有限,支持最小内存 128KiB
2、小型系统面向应用处理器设备,支持最小内存 1MiB
3、标准系统面向应用处理器设备,支持最小内存 128MiB
方舟开发框架
方舟开发框架(ArkUI),是一套 UI 开发框架,为开发者提供应用 UI 开发时所必须的能力。
组件:组件是界面搭建与显示的最小单位。
页面:page 页面是方舟开发框架最小的调度分割单位。
主要能力:UI组件、布局、动画、绘制、交互事件、平台API通道
开发范式:
1. 是基于 JS 扩展的类 Web 开发范式(简称“类 Web 开发范式”)
1)类 Web 开发范式,采用经典的 HML、CSS、JavaScript 三段式开发方式。
2. 基于 TS 扩展的声明式开发范式(简称“声明式开发范式”)
1)声明式开发范式,采用 TS 语言并进行声明式 UI 语法扩展,从组件、动效和状态管理三个维度提供了 UI 绘制能力。
JS UI 概述
基础能力
类 Web 范式编程/跨设备/高性能
整体架构:包括应用层(Application)、前端框架层(Framework)、引擎层(Engine)和平台适配层(Porting Layer)。
JS UI 自定义组件
自定义组件通过 element 引入到宿主页面,element 是指用于创建元素对象的默认构造函数。
TS UI 概述
基础能力
开箱即用的组件
丰富的动效接口
状态与数据管理
系统能力接口
整体架构:声明式 UI 前端/语言运行时/声明式 UI 后端引擎/渲染引擎/平台适配层
TS UI 自定义组件
特点:可组合/可重用/生命周期/数据驱动更新
Build 函数
自定义组件必须定义 build 方法,build 函数满足 Builder 构造器接口定义,用于定义组件
的声明式 UI 描述。
自定义组件成员变量初始化 本地初始化/在构造组件时通过构造参数初始化
@State 、@StorageLink、@StorageProp、@Provide 变量需要本地初始化,初始化的值可以被构造参数覆盖;
@Prop 和@Link 变量必须且仅通过构造函数参数进行初始化。
? 父组件的常规变量可以用于初始化子组件的@State 变量,但不能用于初始化@Link 或
@Prop 变量。
? 父组件的@State 变量可以初始化子组件的@Prop、@Link(通过$)或常规变量,但不能
初始化子组件的@State 变量。
? 父组件的@Link 变量可以初始化子组件的@Link 或常规变量。但是初始化子组件的
@State 成员是语法错误,此外不建议初始化@prop。
? 父组件的@Prop 变量可以初始化子组件的常规变量或@Prop 变量,但不能初始化子组件
的@State 或@Link 变量。
? @StorageLink 和@StorageProp 不允许由父组件中传递到子组件。
生命周期回调函数定义
aboutToAppear 函数在创建自定义组件的新实例后,在执行其build函数之前执行。
aboutToDisappear 函数在自定义组件析构消耗之前执行。
onPageShow 页面显示时触发一次,包括路由过程、应用进入前后台等场景,仅@Entry修饰的自定义组件生效。
onPageHide 页面消失时触发一次,包括路由过程、应用进入前后台等场景,仅@Entry修饰的自定义组件生效。
onBackPress 当用户点击返回按钮时触发
分布式关键技术
流转架构
统一流转管理 UI,支持设备发现、选择以及任务管理。
支持远程服务调用等能力,可轻松设计业务。
支持多个应用同时进行流转。
支持不同形态设备,如手机、平板、TV、手表等。
流转任务管理服务
分布式任务调度
分布式安全
分布式软总线
兼容性设计
不管跨端迁移还是多端协同,流转都是由两个设备上的用户应用程序共同完成的;
跨端应用版本兼容
建议用户应用程序设计版本号和最小兼容版本号。只有满足如下规则,才可以进行流转:
? 设备 A 的用户应用程序版本号 ≥ 设备 B 的用户应用程序最小兼容版本号;
? 设备 B 的用户应用程序版本号 ≥ 设备 A 的用户应用程序最小兼容版本号。
流转任务管理服务提供的版本兼容性检查机制要求两个设备是同一个用户应用程序。
要求用户应用程序在填写 config.json 时,填写 minCompatibleVersionCode 字段(最小兼
容版本号)和 code 字段(当前版本号)。minCompatibleVersionCode 标识 app pack 能够兼
容的最低历史版本号。该标签值为 32 位整形数值,非负整数。如果应用/服务未配置
minCompatibleVersionCode,则系统将minCompatibleVersionCode默认填写为当前版本号。
跨端被拉起的程序建议设计为原子化服务
跨端迁移是一种实现用户应用程序流转的技术方案
多端协同是一种实现用户应用程序流转的技术方案,指多端上的不同 FA/PA 同时运行、或者交替运行
实现完整的业务;或者,多端上的相同 FA/PA 同时运行实现完整的业务
流转任务管理服务
流转控制服务提供多种 API,提供注册、解注册、显示设备列表、上报业务状态等功能。
在 JS 框架中,使用如下代码可以导入服务:
import continuationRegisterManager from '@ohos.ability.continuationRegisterManager';
流转任务管理服务提供系统推荐流转和用户手动流转两种流转方式。
权限:
必须向用户动态请求 ohos.permission.DISTRIBUTED_DATASYNC 权限。
ohos.permission.DISTRIBUTED_DATASYNC 权限为 user_grant 级别
continuationRegisterManager 相关函数
1、register(bundle: string, callback: AsyncCallback<number>): void
注册流转 Ability 到任务管理服务,并获取对应的注册 token,无过滤条件,使用 callback
方式作为异步方法。
2、register(bundle: string, extraParams?: ContinuationExtraParams): Promise<number>
注册流转 Ability 到任务管理服务,并获取对应的注册 token,使用 Promise 方式作为异步
方法。
3、on(type: "deviceConnect", callback: Callback<ContinuationResult>): void
异步方法,监听设备连接状态,使用 callback 形式返回连接的设备信息。
4、on(type: "deviceDisconnect", callback: Callback<string>): void
异步方法,监听设备断开状态,使用 callback 形式返回断开的设备信息。
5、off(type: "deviceConnect", callback?: Callback<ContinuationResult>): void
异步方法,取消监听设备连接状态。
6、off(type: "deviceDisconnect", callback?: Callback<string>): void
异步方法,取消监听设备断开状态。
7、showDeviceList(token: number, callback: AsyncCallback<number>): void
显示组网内流转可选择设备列表信息,无过滤条件。
8、back: AsyncCallback<number>): void
通知流转任务管理服务,更新当前流转 Ability 的连接状态,使用 callback 方式作为异步方
法
9、updateConnectStatus(token: number, deviceId: string, status: DeviceConnectState):
Promise<number>
通知流转任务管理服务,更新当前流转 Ability 的连接状态,使用 Promise 方式作为异步方
法
10、unregister(token: number, callback: AsyncCallback<void>): void
从流转任务管理服务解注册流转 Ability,传入注册时获取的 token 进行解注册,使用
callback 方式作为异步方法
11、unregister(token: number): Promise<void>
从流转任务管理服务解注册流转 Ability,传入注册时获取的 token 进行解注册,使用
Promise 方式作为异步方法。
12、disconnect(callback: AsyncCallback<void>): void
断开与流转任务管理服务的连接,使用 callback 方式作为异步方法。
流转任务管理服务提供的注册、解注册、显示设备列表、上报业务状态是实现跨端迁移和多端协同的前提。
提供接口和类,用于与流转任务管理服务,实现能力跳转。
开发者可以向流转任务管理服务注册跳转能力,通过流转任务管理服务管理支持跳转的设
备,为用户提供候选设备列表,并根据选择的设备信息开始跳转。
分布式数据服务
分布式数据服务主要实现用户设备中应用程序的数据内容的分布式同步。
通过调用分布式数据接口,应用程序将数据保存到分布式数据库中。
通过结合帐号、应用和数据库三元组,分布式数据服务对属于不同应用的数据进行隔离,
保证不同应用之间的数据不能通过分布式数据服务互相访问。在通过可信认证的设备间,分布
式数据服务支持应用数据相互同步,为用户提供在多种终端设备上最终一致的数据访问体验。
“KV 数据模型”是“Key-Value 数据模型”的简称,“Key-Value”即“键-值”。它是一种
NoSQL 类型数据库,其数据以键值对的形式进行组织、索引和存储。
KV 数据模型适合不涉及过多数据关系和业务关系的业务数据存储,比 SQL 数据库存储拥
有更好的读写性能,同时因其在分布式场景中降低了解决数据库版本兼容问题的复杂度,和数
据同步过程中冲突解决的复杂度而被广泛使用。分布式数据库也是基于 KV 数据模型,对外提
供 KV 类型的访问接口。
分布式数据库事务性
分布式数据库事务支持本地事务(和传统数据库的事务概念一致)和同步事务。同步事务
是指在设备之间同步数据时,以本地事务为单位进行同步,一次本地事务的修改要么都同步成
功,要么都同步失败。
分布式数据库一致性
分布式数据库一致性可以分为强一致性、弱一致性和最终一致性。
1、强一致性:是指某一设备成功增、删、改数据后,组网内设备对该数据的读取操作都将
得到更新后的值。
2、弱一致性:是指某一设备成功增、删、改数据后,组网内设备可能能读取到本次更新数
据,也可能读取不到,不能保证在多长时间后每个设备的数据一定是一致的。
3、最终一致性:是指某一设备成功增、删、改数据后,组网内设备可能读取不到本次更新
数据,但在某个时间窗口之后组网内设备的数据能够达到一致状态
分布式数据库同步
分布式数据服务提供了两种同步方式:手动同步和自动同步。
1、手动同步:由应用程序调用 sync 接口来触发,需要指定同步的设备列表和同步模式。同
步模式分为 PULL_ONLY(将远端数据拉到本端)、PUSH_ONLY(将本端数据推送到远
端)和 PUSH_PULL(将本端数据推送到远端同时也将远端数据拉取到本端)。
2、自动同步:由分布式数据库自动将本端数据推送到远端,同时也将远端数据拉取到本端
来完成数据同步,同步时机包括设备上线、应用程序更新数据等,应用不需要主动调用
sync 接口。
单版本分布式数据库
单版本是指数据在本地保存是以单个 KV 条目为单位的方式保存,对每个 Key 最多只保存
一个条目项,当数据在本地被用户修改时,不管它是否已经被同步出去,均直接在这个条目上
进行修改。
设备协同分布式数据库
设备协同分布式数据库建立在单版本分布式数据库之上,对应用程序存入的 KV 数据中的
Key 前面拼接了本设备的 DeviceID 标识符,这样能保证每个设备产生的数据严格隔离,底层按
照设备的维度管理这些数据,设备协同分布式数据库支持以设备的维度查询分布式数据,但是
不支持修改远端设备同步过来的数据。
分布式数据库冲突解决策略
分布式数据库多设备提交冲突场景,在给提交冲突做合并的过程中,如果多个设备同时修
改了同一数据,则称这种场景为数据冲突。数据冲突采用默认冲突解决策略,基于提交时间戳,
取时间戳较大的提交数据,当前不支持定制冲突解决策略。
数据库 Schema 化管理与谓词查询
单版本数据库支持在创建和打开数据库时指定 Schema,数据库根据 Schema 定义感知 KV
记录的 Value 格式,以实现对 Value 值结构的检查,并基于 Value 中的字段实现索引建立和谓
词查询
分布式数据库备份能力
提供分布式数据库备份能力,业务通过设置 backup 属性为 true,可以触发分布式数据服
务每日备份。当分布式数据库发生损坏,分布式数据服务会删除损坏数据库,并且从备份数据
库中恢复上次备份的数据。如果不存在备份数据库,则创建一个新的数据库。同时支持加密数
据库的备份能力。
运作机制
分布式数据服务支撑 HarmonyOS 系统上应用程序数据库数据分布式管理,支持数据在相
同帐号的多端设备之间相互同步,为用户在多端设备上提供一致的用户体验,分布式数据服务
包含:
1、服务接口:分布式数据服务提供专门的数据库创建、数据访问、数据订阅等接口给应用
程序调用,接口支持 KV 数据模型,支持常用的数据类型,同时确保接口的兼容性、易用
性和可发布性。
2、服务组件:服务组件负责服务内元数据管理、权限管理、加密管理、备份和恢复管理以
及多用户管理等、同时负责初始化底层分布式 DB 的存储组件、同步组件和通信适配层。
约束与限制
应用程序如需使用分布式数据服务完整功能,需要申请ohos.permission.DISTRIBUTED_DATASYNC 权限。
分布式数据服务的数据模型仅支持 KV 数据模型,不支持外键、触发器等关系型数据库中的功能。
分布式数据服务支持的 KV 数据模型规格:
⚫ 设备协同数据库,针对每条记录,Key 的长度≤896 Byte,Value 的长度<4 MB。
⚫ 单版本数据库,针对每条记录,Key 的长度≤1 KB,Value 的长度<4 MB。
⚫ 每个应用程序最多支持同时打开 16 个分布式数据库。
分布式数据库与本地数据库的使用场景不同,因此开发者应识别需要在设备间进行同步的
数据,并将这些数据保存到分布式数据库中。
分布式数据服务当前不支持应用程序自定义冲突解决策略。
分布式数据服务针对每个应用程序当前的流控机制:
⚫ KvStore 的接口 1 秒最大访问 1000 次,1 分钟最大访问 10000 次;
⚫ KvManager 的接口 1 秒最大访问 50 次,1 分钟最大访问 500 次。
分布式数据库事件回调方法中不允许进行阻塞操作,例如修改 UI 组件。如需进行此类复杂
操作,建议使用线程管理方式处理
getKVStore<T extends KVStore>(storeId: string, options: Options, callback:
AsyncCallback<T>): void
通过指定 Options 和 storeId,创建并获取 KVStore 数据库,并通过 callback 方式返回,
此方法为异步方法。
Options 用于提供创建数据库的配置信息
createIfMissing boolean 否
当数据库文件不存在时是否创建数据库,默认创
建。
encrypt boolean 否 设置数据库文件是否加密,默认不加密。
backup boolean 否 设置数据库文件是否备份,默认备份。
autoSync boolean 否
设置数据库文件是否自动同步,默认不自动同
步。
kvStoreType KVStoreType 否
设置要创建的数据库类型,默认为多设备协同数
据库。
securityLevel SecurityLevel 否 设置数据库安全级别,默认不设置安全级别。
KVStoreType 用于指定创建的数据库的类型
DEVICE_COLLABORATION 0 表示多设备协同数据库。
SINGLE_VERSION 1 表示单版本数据库。
MULTI_VERSION 2 表示多版本数据库。此类型当前不允许使用。
SecurityLevel 用于指定创建的数据库的安全级别
NO_LEVEL 0 表示数据库不设置安全级别。
S0 1 表示数据库的安全级别为公共级别安全。
S1 2 表示数据库的安全级别为低级别安全,当数据泄露时会产生较低影响。
S2 3 表示数据库的安全级别为中级别安全,当数据泄露时会产生较大影响。
S3 5 表示数据库的安全级别为高级别安全,当数据泄露时会产生重大影响。
S4 6 表示数据库的安全级别为关键级别安全,当数据泄露时会产生严重影响。
KVStore 数据库实例,提供增加数据、删除数据和订阅数据变更、订阅同步完成的方法。
服务卡片
服务卡片(以下简称“卡片”)是 FA 的一种界面展示形式,将 FA 的重要信息或操作前置
到卡片,以达到服务直达,减少体验层级的目的。
卡片常用于嵌入到其他应用(当前只支持系统应用)中作为其界面的一部分显示,并支持
拉起页面,发送消息等基础的交互功能。卡片使用方负责显示卡片。
基本概念
⚫ 卡片提供方
提供卡片显示内容的 HarmonyOS 应用或原子化服务,控制卡片的显示内容、控件布局以及控件点击事件。
卡片提供方包含以下模块:
卡片服务
卡片提供方实例管理模块
通信适配层
⚫ 卡片使用方
显示卡片内容的宿主应用,控制卡片在宿主中展示的位置。
⚫ 卡片管理服务
用于管理系统中所添加卡片的常驻代理服务,包括卡片对象的管理与使用,以及卡片周期
性刷新等。
卡片管理服务包含以下模块:
周期性刷新
卡片缓存管理
卡片生命周期管理
卡片使用方对象管理
通信适配层
卡片开发简介
开发者仅需作为卡片提供方进行服务卡片内容的开发,卡片使用方和卡片代理服务由系统
自动处理。
卡片提供方控制卡片实际显示的内容、控件布局以及控件点击事件。开发者可以通过集成
以下接口来提供卡片服务。
JS UI卡片在使用方加载渲染,提供方只要处理数据、组件和逻辑分离
Java UI:适合将卡片作为一个直达入口,没有复杂的页面和事件时使用。
JS UI:适合有复杂界面的卡片使用。
对于同一个 Page ability,在 config.json 中最多支持配置 16 张卡片。
应用设计介绍
通用设计基础
当为多种不同的设备开发应用时,需要从如下三个方面来考虑 UI 设计:
⚫ 差异性
充分了解所要支持的设备,包括屏幕尺寸、交互方式、使用场景、用户人群等,对设备的
特性进行针对性的设计。
⚫ 一致性
除了要考虑每个设备的特性外,还需要考虑不同设备的共性,并使用通用性设计方法提供
既符合设备差异性,又具有跨设备一致性的设计,从而减少用户学习的难度,降低应用开发的
成本。
⚫ 协同性
当考虑多个设备之间的相互协同时,需要了解设备与设备之间多种可能的协同模式,最大
程度地展现 HarmonyOS 上独特的多设备无缝流转体验。
在为 HarmonyOS 的多种设备进行通用性设计和开发时,可以从如下方面进行考虑:
⚫ 设计理念:了解 HarmonyOS 设计系统的核心理念,确保在多设备上的一致体验。
⚫ 人因研究:了解人因研究如何为 UI 设计提供系统性的科学指导。
⚫ 应用架构:了解常用的应用架构,并在应用设计中进行实践。
⚫ 人机交互:了解多种不同的人机交互方式,以及每种交互方式设计中的注意事项。
⚫ 视觉风格:了解基础概念、色彩、字体、图标、插画、布局等关键视觉设计的概念和规则。
⚫ 动效:了解时长、曲线、帧率等动效基础要素,以及特征、转场、手势动效的设计方法和
微动效、插画动效的设计指导。
⚫ 声音:了解声音的设计属性以及音色、音响、频段、动态响应等关键声音元素在差异设备
间的设计方法
⚫ 多态控件:了解不同设备下多态控件的特点,以及控件的不同显示状态,确保应用正确使
用控件。
⚫ 界面用语:了解如何确保用语风格统一、清晰明了、流畅自然,给用户带来良好的阅读体
验。
⚫ 全球化:了解如何提供通用方案满足不同国家的常规需求,以及如何提供个性化方案满足
某些国家的特殊需求。
⚫ 无障碍:了解如何让视障用户正常使用智能设备,获得良好的信息无障碍体验,包括色
彩、对比度和屏幕朗读器等。
⚫ 隐私设计:了解如何保护用户的隐私,并让用户自主管控自己的信息,做到清晰可知,方
便可控。
应用中的导航结构
导航需要遵循以下原则:
⚫ 一致。导航操作的结果应该与用户的期望保持一致。相同或类似的场景使用用户熟悉的界
面布局和控件,确保一致的导航行为,让用户无论在什么页面,都知道如何导航。例如二
级界面使用左上角的返回按钮来返回界面的上一个层级。
⚫ 清晰。导航应该提供清晰的路径。用户使用的时候,逻辑关系简单且容易理解,能够知道
当前处在界面的什么位置,操作后将会跳转到什么位置,不会迷失方向。例如使用底部页
签,让用户在平级页面之间进行切换。
⚫ 导航要避免以下设计:
⚫ 层级过深:导航层级建议在三层以内。对于太深的层次,会带来操作效率的问题。如果确
实需要深层级设计,建议使用面包屑设计或增加一键回到首页的功能。
⚫ 导航复杂:在侧边导航中,使用底部页签,会让操作变得复杂,建议仅使用侧边导航。
常用的应用导航有:平级导航、层级导航、混合导航
常用应用界面框架:启动页、详情页、列表视图、网格视图
人机交互
在全场景的人机交互方面,HarmonyOS 的核心思想是“根据用户的状态,提供符合当前
状态的交互方式,保证用户交互体验的一致性”。
典型的输入方式包括但不限于触屏上手指/手写笔等直接交互、鼠标/触摸板/键盘/表冠/遥
控器/车机摇杆/旋钮/手柄/隔空手势等间接交互、以及语音交互。
在多数情况下,应将触控交互作为用户首要的交互方式。
基于光标的交互
光标形态的设计遵循以下三个原则:功能表达、简单性、自动隐藏和显现
悬浮对象的形态:界面元素需要响应光标悬停的动作,以清晰表达该元素的可交互性。
隔空手势设计原则:巧用隐喻建立联系、基于原有交互习惯进行延伸、尊重各国文化,避免手势禁忌、设计疲劳度低的手势
视觉风格
像素单位 虚拟像素单位:vp,字体像素单位:fp。
色彩 HarmonyOS 采用宇宙蓝作为系统的主色调,卡片背景色常用雪域灰。主题分为浅色、深色、半透明三种样式。
字体 HarmonyOS 设计了全新系统默认的字体HarmonyOS Sans。
图标 系统图标根据不同场景使用描边图形与填充图形两种样式。
插画 HarmonyOS插画是友好的、令人愉悦的,容易被理解的。包含场景型和功能型
两种类型。主要使用在以下场景:帮助引导页、启动页和欢迎页。
布局
自适应布局:自适应拉伸、自适应缩放、自适应延伸。
响应式布局:分栏布局、重复布局、挪移布局和缩进布局。
声音设计原则:自然流畅的、通用的、品质的
分布式设计
分布式流转包括跨端迁移体验和多端协同体验两种类型。
⚫ 跨端迁移是指当用户在一个设备上发起操作,并切换到另一个设备上继续操作时,用户能
够马上在新的设备上继续当前的操作。
⚫ 多端协同是指多个设备上的软件和硬件能力相互协同,作为一个整体为用户提供比单设备
更加高效、沉浸的体验。
原子化服务
原子化服务是 HarmonyOS 提供的一种面向未来的服务提供方式,是有独立入口的(用户
可通过点击、碰一碰、扫一扫等方式直接触发)、免安装的(无需显式安装,由系统程序框架
后台安装后即可使用)、可为用户提供一个或多个便捷服务的用户程序形态。原子化服务基于
HarmonyOS API 开发,支持运行在 1+8+N 设备上,供用户在合适的场景、合适的设备上便捷
使用。
原子化服务具有随处可及、服务免安装直达、分布式流转等特性。
原子化服务具有如下基本要素,必须设计和开发:
⚫ 基础信息
每个原子化服务有独立的图标、名称、描述、快照。基础信息将根据场景在服务中心、系
统设置等界面展示。
⚫ 服务卡片
为了给用户提供便捷、智能的服务体验,每个原子化服务都需要开发至少一个服务卡片,
每个应用可选配置服务卡片。卡片作为服务的轻量承载,需要做到易用可见、智能可选和多端
可变。