首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

鸿蒙HarmonyOS开发实战—流转

  • 25-02-22 03:41
  • 2097
  • 5316
blog.csdn.net

流转概述

介绍

随着全场景多设备生活方式的不断深入,用户拥有的设备越来越多,每个设备都能在适合的场景下提供良好的体验,例如:手表可以提供及时的信息查看能力,电视可以带来沉浸的观影体验。但是,每个设备也有使用场景的局限,例如:在电视上输入文本相对手机来说是非常糟糕的体验。当多个设备通过分布式操作系统能够相互感知、进而整合成一个超级终端时,设备与设备之间就可以取长补短、相互帮助,为用户提供更加自然流畅的分布式体验。

基本概念
  • 流转:在HarmonyOS中泛指多设备分布式操作。流转能力打破设备界限,多设备联动,使用户应用程序可分可合、可流转,实现如邮件跨设备编辑、多设备协同健身、多屏游戏等分布式业务。流转为开发者提供更广的使用场景和更新的产品视角,强化产品优势,实现体验升级。流转按照体验可分为跨端迁移和多端协同。
  • 跨端迁移:一种实现用户应用程序流转的技术方案,指在A端运行的FA迁移到B端上,完成迁移后, B端FA继续任务,而A端应用退出。在用户使用设备的过程中,当使用情境发生变化时(例如:从室内走到户外或者周围有更合适的设备等),之前使用的设备可能已经不适合继续当前的任务,此时,用户可以选择新的设备来继续当前的任务。常见的跨端迁移场景实例:
    • 视频来电时从手机迁移到智慧屏,视频聊天体验更佳,手机视频应用退出。
    • 手机上阅读应用浏览文章,迁移到平板上继续查看,手机阅读应用退出。
  • 多端协同:一种实现用户应用程序流转的技术方案,指多端上的不同FA/PA同时运行、或者交替运行实现完整的业务;或者,多端上的相同FA/PA同时运行实现完整的业务。多个设备作为一个整体为用户提供比单设备更加高效、沉浸的体验。例如:用户通过智慧屏的应用A拍照后,A可调用手机的应用B进行人像美颜,最终将美颜后的照片保存在智慧屏的应用A。常见的多端协同场景实例还有:
    • 手机侧应用A做游戏手柄,智慧屏侧应用B做游戏显示,为用户组成一个全新的游戏体验。
    • 平板侧应用A做答题板,智慧屏侧应用B做直播,为用户组成一个全新的上网课体验。

流转架构

HarmonyOS流转提供了一组API库,可让用户应用程序更轻松、快捷地完成流转体验。HarmonyOS流转架构有如下优势:

  • 统一流转管理UI,支持设备发现、选择以及任务管理。
  • 支持远程服务调用等能力,可轻松设计业务。
  • 支持多个应用同时进行流转。
  • 支持不同形态设备,如手机、平板、TV、手表等。

流转架构如下图所示。

  • 流转任务管理服务:在流转发起端,接受用户应用程序注册,提供流转入口、状态显示、退出流转等管理能力。 说明
    • 当前仅手机、平板设备支持流转任务管理服务。
    • 如果流转发起端不支持流转任务管理服务,则流转业务实现方式有区别。
  • 分布式任务调度:提供远程服务启动、远程服务连接、远程迁移等能力,并通过不同能力组合,支撑用户应用程序完成跨端迁移或多端协同的业务体验。
  • 分布式安全:提供E2E的加密通道,为用户应用程序提供安全的跨端传输机制,保证“正确的人,通过正确的设备,正确地使用数据”。
  • 分布式软总线:使用基于手机、平板、智能穿戴、智慧屏等分布式设备的统一通信基座,为设备之间的互联互通提供统一的分布式通信能力。
跨端迁移流程

以设备A的应用和设备B的应用进行跨端迁移为例,业务流程如下:

  1. 流转准备:设备A上的应用向流转任务管理服务注册一个流转回调
    • Alt1-系统推荐流转:系统感知周边有可用设备后,主动为用户提供可选择流转的设备信息,并在用户完成设备选择后回调通知应用开始流转,将用户选择的设备B的设备信息提供给应用。
    • Alt2-用户手动流转:系统在用户手动点击流转图标后,被动为用户提供可选择交互的设备信息,并在用户完成设备选择后回调通知应用开始流转,将用户选择的设备B的设备信息提供给应用。
  2. 流转完成:设备A上的应用通过调用分布式任务调度的能力,如continueAbility等,向设备B的应用发起跨端迁移。流转中将流转状态上报到流转任务管理服务。 说明 跨端迁移后,设备A上的应用需要自行退出。
 多端协同流程

以设备A的应用和设备B的应用进行多端协同为例,业务流程如下:

  1. 流转准备:设备A上的应用向流转任务管理服务注册一个流转回调:
    • Alt1-系统推荐流转:系统感知周边有可用设备后,主动为用户提供可选择流转的设备信息,并在用户完成设备选择后回调通知应用开始流转,将用户选择的设备B的设备信息提供给应用。
    • Alt2-用户手动流转:系统在用户手动点击流转图标后,被动为用户提供可选择交互的设备信息,并在用户完成设备选择后回调通知应用开始流转,将用户选择的设备B的设备信息提供给应用。
  2. 流转进行:设备A上的应用通过调用分布式任务调度的能力,如startAbility, connectAbility等,向设备B的应用发起多端协同。流转中将流转状态上报到流转任务管理服务。
  3. 流转结束:用户通过设备A的流转任务管理界面结束流转。用户点击结束任务后,流转任务管理服务回调通知应用取消流转。设备A上的应用通过调用分布式任务调度的能力,如stopAbility, disconnectAbility等,终止和设备B的多端协同。流转结束后将流转状态上报到流转任务管理服务,并向流转任务管理服务注销流转回调。

说明 设备A和B进行多端协同后,设备A和设备C重复如上流程,可实现设备A、B、C进行多端协同,此时设备A是中心控制点。

兼容性设计

不管跨端迁移还是多端协同,流转都是由两个设备上的用户应用程序共同完成的,两个设备上的用户应用程序需要做如下兼容设计:

  • 跨端应用版本兼容 建议用户应用程序设计版本号和最小兼容版本号。只有当设备A的用户应用程序版本号>=设备B的用户应用程序最小兼容版本号,且设备B的用户应用程序版本号>=设备A的用户应用程序最小兼容版本号时,才允许进行流转。 对于跨端迁移或多端协同场景,如果是同一个应用在A端和B端进行通信,此时流转任务管理服务提供了版本兼容性检查机制,可以将满足条件的设备筛选出来。 说明 流转任务管理服务提供的版本兼容性检查机制要求两个设备是同一个用户应用程序。 要求用户应用程序在填写config.json时,填写minCompatibleVersionCode字段(最小兼容版本号)和code字段(当前版本号)。minCompatibleVersionCode标识app pack能够兼容的最低历史版本号。该标签值为32位整形数值,非负整数。如果应用/服务未配置minCompatibleVersionCode,则系统将minCompatibleVersionCode默认填写为当前版本号。 对于多端协同,如果是不同应用之间的A、B端协同,则需要不同应用自己实现版本兼容性检查机制。
  • 跨端元服务安装 跨端被拉起的程序建议设计为元服务。即当设备A的用户应用程序向设备B的元服务发起多端协同,如果设备B上没有安装对应服务,HarmonyOS会自动下载相关元服务,和A端的用户应用程序一起进行多端协同。如跨端被拉起的程序设计为传统方式的需要安装的应用,则当设备A的用户应用程序向设备B的元服务发起多端协同,如果设备B上没有安装相关应用,会提示流转失败。

最后,为了能让大家更好的去学习提升鸿蒙 (Harmony OS) 开发技术,小编连夜整理了一份30个G纯血版学习资料(含视频、电子书、学习文档等)以及一份在Github上持续爆火霸榜的《纯血版华为鸿蒙 (Harmony OS)开发手册》(共计890页),希望对大家有所帮助。

纯血版鸿蒙 HarmonyOS 4.0 视频学习资料

 需要以上视频学习资料小伙伴

请点击→纯血版全套鸿蒙HarmonyOS学习资料


《纯血版华为鸿蒙 (Harmony OS)开发手册》

这份手册涵盖了当前鸿蒙 (Harmony OS) 开发技术必掌握的核心知识点

纯血版鸿蒙 (Harmony OS)开发手册部分精彩内容

HarmonyOS 概念:

  • 系统定义
  • 技术架构
  • 技术特性
  • 系统安全

如何快速入门?

  • 基本概念
  • 构建第一个ArkTS应用
  • 构建第一个JS应用
  • ……


开发基础知识: 

  • 应用基础知识
  • 配置文件
  • 应用数据管理
  • 应用安全管理
  • 应用隐私保护
  • 三方应用调用管控机制
  • 资源分类与访问
  • 学习ArkTS语言
  • ……

基于ArkTS 开发:

  • Ability开发
  • UI开发
  • 公共事件与通知
  • 窗口管理
  • 媒体
  • 安全
  • 网络与链接
  • 电话服务
  • 数据管理
  • 后台任务(Background Task)管理
  • 设备管理
  • 设备使用信息统计
  • DFX
  • 国际化开发
  • 折叠屏系列
  • .……

获取以上文中提到的这份纯血版鸿蒙 (Harmony OS) 开发资料的小伙伴 

请点击→纯血版全套鸿蒙HarmonyOS学习资料


?写在最后

  • 如果你觉得这篇内容对你还蛮有帮助,我想邀请你帮我三个小忙:
  • 点赞,转发,有你们的 『点赞和评论』,才是我创造的动力。
  • 关注小编,同时可以期待后续文章ing?,不定期分享原创知识。
  • 想要获取更多完整鸿蒙最新VIP学习资料,请点击→纯血版全套鸿蒙HarmonyOS学习资料

注:本文转载自blog.csdn.net的蜀道山QAQ的文章"https://blog.csdn.net/shudaoshanQAQ/article/details/135677956"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top