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.mzph.cn/news/883935.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

天润融通突破AI客服局限,三大关键提升文本机器人问答效果

近期,AI客服再次登上热搜,引发网友集体吐槽,比如AI客服虽然态度客气,但听不懂客户诉求,回答问题驴唇不对马嘴,解决不了问题...... 更有网友将这些问题升级到,企业就是不想解决问题才交给AI客服…

aarch64-opencv341交叉编译,并在arm上部署helloopencv

背景 当需要在jetson xavier nx或者rk 3562等平台上开发关于视觉检测的工程时,由于arm板子资源不足或者不能联网等原因,通常在虚拟机上利用交叉编译器编译得到可执行程序,然后部署到arm板上。 aarch64-opencv341交叉编译 ubuntu虚拟机中先…

mysql中redolog、binlog

我们中说删库跑路,那么数据库删除后,里面的数据怎么恢复呢? 这里就涉及到了redolog和binlog了 一、什么是存储引擎和缓冲池 存储引擎是 MySQL 中直接与磁盘交互部分。也是存储引擎读写数据的最小单位,一个页里可以有一条或多条…

排序算法在最坏情况下的性能差异:深入分析

目录 1. 排序算法简介 2. 最坏情况示例分析 2.1 插入排序 2.2 归并排序 2.3 快速排序 2.4 堆排序 3. 性能差异与优化策略 4. 拓展知识:算法选择与优化 5. 结语 在软件工程中,排序算法是数据处理的基石。不同的排序算法在不同情况下表现出不同的…

【分布式技术】分布式事务深入理解

文章目录 概述产生原因关键点 分布式事务解决方案3PC3PC的三个阶段:3PC相比于2PC的改进:3PC的缺点: TCCTCC事务的三个阶段:TCC事务的设计原则:TCC事务的适用场景:TCC事务的优缺点:如何解决TCC模…

使用 Mermaid 语言描述 AGI 系统架构图

使用Mermaid语言描述AGI系统架构图 一、整体架构概述 以下是一个简化的AGI(Artificial General Intelligence,通用人工智能)系统架构的Mermaid描述。该系统主要包括数据收集与预处理、模型训练、推理与决策以及交互接口等模块,各…

字节青训-找出最长的神奇数列

问题描述 小F是一个好学的中学生,今天他学习了数列的概念。他在纸上写下了一个由 0 和 1 组成的正整数序列,长度为 n。这个序列中的 1 和 0 交替出现,且至少由 3 个连续的 0 和 1 组成的部分数列称为「神奇数列」。例如,10101 是一…

华为配置BFD状态与接口状态联动实验

组网图形 图1 配置BFD状态与接口状态联动组网图 BFD简介配置注意事项组网需求配置思路操作步骤配置文件 BFD简介 为了减小设备故障对业务的影响,提高网络的可靠性,网络设备需要能够尽快检测到与相邻设备间的通信故障,以便及时采取措施&…

解压缩工具详解:ZArchive对比解压专家

ZArchiver 和解压专家在手机版解压缩工具市场中都占据着重要地位,深受用户喜爱。 ZArchiver 是一款功能强大的解压缩文件应用程序。它支持创建多种格式的压缩文件,如 7z (7zip)、zip、bzip2 (bz2)、gzip (gz)、XZ、tar 等;同时支持解压众多格…

CPU算法分析LiteAIServer视频智能分析平台噪声检测功能在视频监控中的应用与优势

在视频监控系统中,噪声问题一直是影响视频画面清晰度和可用性的关键因素。这些噪声可能源于多种因素,如低光环境、摄像机传感器的高灵敏度或编码压缩过程中的失真等。为了应对这些挑战,CPU算法分析LiteAIServer引入了噪声检测功能&#xff0c…

MATLAB实现蝙蝠算法(BA)

MATLAB实现蝙蝠算法(BA) 1.算法介绍 蝙蝠算法(简称BA)是一种受微型蝙蝠回声定位机制启发的群体智能算法,由Xin-She Yang于2010年提出。这种算法模拟了微型蝙蝠通过向周围环境发出声音并监听回声来识别猎物、避开障碍物以及追踪巢穴的行为。…

git push到远程怎么回退

git push到远程服务器想继续修改,你必须要回退然后在此提交。而且需要保留本地的修改文件。 下面给你一些git命令,回退很简单。 按照下面的流程操作就行: 1.查看提交历史 首先,使用git log命令查看提交历史。可以使用以下命令显…

【Go】-基于Gin框架的博客项目

目录 项目分析 项目分层 初始化 用户模块 注册 登录 社区模块 所有社区 指定社区 帖子模块 顺序获取帖子 获取指定帖子 投票模块 发帖 投票 项目开发及部署 开发中使用air makefile的编写 docker 总结 项目分析 基于Gin框架的IM即时通讯小demo&#xff0c…

智能EDA小白从0开始 —— DAY30 冉谱微RFIC-GPT

在科技日新月异的今天,电子设计自动化(EDA)行业正以前所未有的速度推动着半导体产业的革新与发展,引领着全球电子产业迈向更加智能化、高效化的未来。作为EDA领域的佼佼者,冉谱公司始终站在技术创新的前沿,…

ai说ajax

var xhr new XMLHttpRequest();//创建 XMLHttpRequest 对象xhr.open(GET, https://api.example.com/data, true);//指定请求的类型和 URL:xhr.onreadystatechange function() {if (xhr.readyState 4 && xhr.status 200) {console.log(xhr.responseText);} }; //设置…

邮件系统SSL加密传输,保护你的电子邮件免受网络威胁

在互联网的浪潮中,企业数字化转型的步伐不断加快。企业邮箱作为数字化应用的重要组成部分,已成为员工沟通、协同工作和企业管理的关键工具。但是在公共网络安全性普遍较弱的背景下,黑客容易侵入企业网络,监控流量,截获…

跨平台开发支付组件,实现支付宝支付

效果图: custom-payment : 在生成预付订单之后页面中需要弹出一个弹层,弹层中展示的内容为支付方式(渠道),由用户选择一种支付方式进行支付。 该弹层组件是以扩展组件 uni-popup 为核心的,关于…

usb学习笔记

1 学习链接 https://zhuanlan.zhihu.com/p/683251257https://zhuanlan.zhihu.com/p/683251257控制传输固定使用端点0 ,枚举过程使用大量的控制传输,可参考后文中枚举过程的实际报文。控制传输为了保证配置数据的传输的有效性,使用了指令再确…

Go性能基础

本篇内容是根据2020年2月份#117 Foundations of Go performance音频录制内容的整理与翻译 在这个多部分系列的第一部分中,Ian 和 Johnny 以及 Miriah Peterson 和 Bryan Boreham 一起揭开了 Go 程序性能的第一层重要内容。 过程中为符合中文惯用表达有适当删改, 版…

uniapp一键打包

1.先安装python环境, 2.复制这几个文件到uniapp项目里面 3.修改自己证书路径,配置文件路径什么的 4.在文件夹页面双击buildController.py或者cmd直接输入buildController.py 5.python报错,哪个依赖缺少安装哪个依赖 6.执行不动的话&…