当前位置: 首页 > article >正文

HCIP-HarmonyOS Application Developer V1.0 笔记(二)

类Web开发范式自定义组件基本用法

自定义组件通过element引入到宿主页面。
在这里插入图片描述

Props自定义属性

自定义属性支持类型 String,Number,Boolean,Array,Object。
命名规范:
命名时禁止以on、@、on:、grab:等保留关键字为开头。
必须用小写开头,不能以$或_开头,不要使用保留字for, if, show, tid。
当属性名使用驼峰命名法时,在外部父组件传递参数时需要使用短横线分隔命名
在这里插入图片描述

自定义属性默认值

通过固定值default设置默认值,当父组件没有设置该属性时,将使用其默认值,此情况下props属性必须为对象形式,不能用数组形式
在这里插入图片描述

数据单向性

web开发父子组件之间数据的传递是单向的,只能从父组件传递给子组件,子组件不能直接修改父组件传递下来的值。

感知数据改变

通过$watch方法增加属性变化回调。

计算属性

使用computed字段

自定义事件

子组件也可以通过绑定的事件向父组件传递参数,父组件接收时通过e.detail来获取参数

生命周期定义

onAttached:自定义组件被创建后,加入到Page组件树时,触发该回调,该回调触发时,表示组件将被进行显示,该生命周期可用于初始化显示相关数据,通常用于加载图片资源、开始执行动画等场景

Canvas属性

lineWidth :设置绘制线条的宽度 ctx.lineWidth = 5;
strokeStyle: 设置描边的颜色 ctx.strokeStyle = ‘#0000ff’;

svg子组件

在这里插入图片描述

声明式开发范式自定义组件基本用法

@Component装饰的struct表示该结构体具有组件化能力,也称为自定义组件
在这里插入图片描述

自定义组件生命周期

onPageShow 当此页面显示时触发一次 包括路由过程、应用进入前后台等场景,仅@Entry修饰的自定义组件生效
onPageHide 当此页面消失时触发一次 仅@Entry修饰的自定义组件生效
onBackPress 当用户点击返回按钮时触发 仅@Entry修饰的自定义组件生效
在这里插入图片描述

声明式开发范式动画

转场动画页面间转场组件内转场共享元素转场

属性动画

在这里插入图片描述

流转任务管理服务提供如下流转方式

系统推荐流转
用户手动流转

跨端迁移概念

一种实现用户应用程序流转的技术方案,指在A端运行的FA迁移到B端上,完成迁移后,B端FA继续任务,而A端应用根据业务需求选择退出或继续运行

跨端迁移—流转完成

设备A上的应用通过调用分布式任务调度的能力,如continueAbility等,向设备B的应用发起跨端迁移。流转中将流转状态上报到流转任务管理服务。

跨端迁移

调用continueAbility()continueAbilityReversibly()方法发起流转。
在这里插入图片描述

设备不支持流转任务管理服务时如何实现跨端迁移?

需要指定对端设备的deviceId
实现跨端迁移。关键代码所示:
在这里插入图片描述

跨端迁移回调方法执行顺序

FA发起迁移后,主要有以下几种回调方法:
onStartContinuation,FA发起迁移时的回调,在此回调中应用可以根据当前状态决定是否迁移;
onSaveData,保存状态数据的回调,开发者需要往参数对象中填入需迁移到目标设备上的数据。
onRestoreData,恢复发起迁移时onSaveData方法保存的数据的回调;
onCompleteContinuation,迁移完成的回调,在调用端被触发,表示应用迁移到目标设备上的结果。
在这里插入图片描述

多端协同

一种实现用户应用程序流转的技术方案,指多端上的不同FA/PA同时运行、或者交替运行实现完整的业务;或者,多端上的相同FA/PA同时运行实现完整的业务

多端协同流程

流转进行设备A上的应用通过调用分布式任务调度的能力,如startAbility, connectAbility等,向设备B的应用发起多端协同。流转中将流转状态上报到流转任务管理服务。

设备不支持流转任务管理服务时如何实现多端协同?

需要在Intent中指定对端设备的deviceId。
在这里插入图片描述

跨端原子化服务安装

当设备A的用户应用程序向设备B的原子化服务发起多端协同,如果设备B上没有安装对应服务,HarmonyOS会自动下载相关原子化服务,和A端的用户应用程序一起进行多端协同。

如跨端被拉起的程序设计为传统方式的需要安装的应用,则当设备A的用户应用程序向设备B的原子化服务发起多端协同,如果设备B上没有安装相关应用,会提示流转失败


http://www.kler.cn/a/372684.html

相关文章:

  • 信息安全数学基础(35)同态和同构
  • hvie SQL优化之where子句过滤模式
  • 测试管理|如何做好质量管理、提高研发的代码质量?
  • Pytorch学习--神经网络--线性层及其他层
  • 代码随想录算法训练营第十二天(补) 二叉树| 二叉树理论知识、深度优先遍历、广度优先遍历
  • YOLO即插即用模块---CAA
  • 问题记录01
  • Oracle视频基础1_1.1练习
  • C# 企业微信机器人推送消息 windows服务应用程序的使用
  • ComfyUI - ComfyUI 工作流中集成 SAM2 + GroundingDINO 处理图像与视频 教程
  • docker-高级(待补图)
  • 百度SEO中的关键词密度与内容优化研究【百度SEO专家】
  • 职业技术学校新出路,无人机飞手考证、组装、调试全面提高市场就业率
  • Qt:信号和槽
  • leetcode动态规划(二十三)-打家劫舍III
  • 【Python学习计算机知识储备】
  • 如何从多个方面进行oracle数据库存储过程优化?
  • 【QNAP威联通NAS系统恢复进阶教程】如果 .conf 和 md9 无法自动组装,如何恢复 NAS?
  • hive 异常任务中间数据清理
  • 数据结构与算法分析——你真的理解查找算法吗——二叉查找树(代码详解)
  • 论文阅读:三星-TinyClick
  • k8s之调动pod到指定节点与创建多容器pod并查找pod日志
  • 【设计模式】《Java 设计模式魔法:解锁高效编程的秘密武器》
  • Linux线程安全(二)条件变量实现线程同步
  • Logstash 迁移索引元数据(设置和映射)
  • Word中遇到的问题记录(页眉,页码分节符,跨页断行)