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

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上没有安装相关应用,会提示流转失败

相关文章:

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

类Web开发范式自定义组件基本用法 自定义组件通过element引入到宿主页面。 Props自定义属性 自定义属性支持类型 String,Number,Boolean,Array,Object。 命名规范: 命名时禁止以on、、on:、grab:等保留关键字为开头…...

初体验鸿蒙 HarmonyOS NEXT开发

上个星期三就下载了鸿蒙 HarmonyOS NEXT,安装好了后测试了一下,感觉界面和功能设计与IntelliJ IDEA很像,对初学者非常友好,所见即所得。不知道什么原因,写了代码后测试起来很慢,简单测试后就没有再动。 今天…...

MySQL---主从复制和读写分离

文章目录 MySQL---主从复制和读写分离主从复制mysql主从复制的作用mysql主从复制的分类mysql主从复制原理mysql主从复制的配置步骤mysql主从复制的同步模式在什么情况下半同步复制会将为异步复制?mysql主从复制不一致问题如何解决?mysql主从复制延迟问题…...

Apache Kyuubi概述——网易数帆(网易杭州研究院)开源

Apache Kyuubi概述 一、Apache Kyuubi 历史 Kyuubi是网易数帆(网易杭州研究院)旗下易数大数据团队开源的一个企业级数据湖探索平台,建立在Apache Spark之上。(Kyuubi依赖Apache Spark提供高性能的数据查询能力,扩展了…...

前端代码注释

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言类注释属性注释函数注释函数参数注释解构 & 函数返回结果 注释Vue Props 注释注释建议注释内容要清晰简洁注释类型避免不必要的注释采用一致的风格版本与更…...

Linux线程安全(二)条件变量实现线程同步

目录 条件变量 条件变量初始化和唤醒 键盘触发条件变量唤醒线程demo 条件变量的等待 条件变量定时等待demo 条线变量实现多线程间的同步 条件变量 条件变量是为了控制多个线程的同步工作而设计的 比如说一个系统中有多个线程的存在但有且仅有一个线程在工作&#xff0c…...

Linux初阶——线程(Part2):互斥同步问题

一、互斥锁 1、CPU 运算过程 执行完整个语句后,才会把数据写入内存;如果执行时被中断,那么数据和上下文就会保存到线程的 TCB,但数据并不会被写入内存。 1.1. 当 CPU 执行完整个语句时 CPU 最终执行完整个语句的过程 就用上图举…...

力扣——二叉树的后序遍历(C语言)

1.题目: 给你一棵二叉树的根节点 root ,返回其节点值的后序遍历。 2.原理: 这里的遍历,是要存入到数组中,所以需要建立数组,这里传参有*returnSize,需要求节点个数,可以调用前面Tr…...

利用kimi编程助手从0到1开始搭建小程序!

电脑崩了,更新5次小程序,什么都不剩!(但是遗留下来了一些东西,开源的思维和不断地对于技术的使用和掌握“一个软件更多的哲学:(01)优秀的ui页面设计(02)更加细…...

WSL(Ubuntu20.04)编译和安装DPDK

编译和安装DPDK DPDK可以使用工具meson和ninja在您的系统上进行配置、构建和安装。 DPDK配置 要配置DPDK构建,请使用: meson setup build --prefix/home/xx/dpdk19.11xxxx:~/dpdk-stable-19.11.14/$ meson setup build Message:Content Skipped libs…...

HLS协议之nginx-hls-多码率测试环境搭建

运行环境:ubuntu 20.04 时间:2024年10月26日 环境更新 sudo apt-get update sudo apt-get install build-essential libtool libpcre3 libpcre3-dev zlib1g-dev openssl下载nginx wget http://nginx.org/download/nginx-1.19.2.tar.gz tar xvzf n…...

函数式接口与回调函数实践

函数式接口与回调函数实践 一、Java 的函数式接口 是指仅包含一个抽象方法的接口,通常用于 lambda 表达式或方法引用。Java 8 引入了很多内置的函数式接口,比如 Runnable、Callable、Predicate、Function、Consumer 等 演示,数据类型转换的函…...

Windows11系统如何使用自带的录音、录屏工具?

电脑录音和录屏作为现代办公的辅助工具,不仅极大地提升了工作效率,也保障了信息传递的准确性和完整性。通过合理利用这些工具,我们可以更好地保存和管理重要资料,为办公带来无与伦比的便利。 在会议记录、讲座学习、语音备忘等场景…...

使用 web (vue 和DRF))实现 模拟一个IDE 功能思路

采用文件系统和数据库相结合的方案,不仅可以实现基本的文件管理,还可以为未来的扩展提供灵活性。结合我们讨论的内容,以下是更完善的策略: 方案概述:文件系统与数据库结合 文件系统负责实际的文件存储和执行操作&…...

智航船舶租赁综合管理系统

1.产品介绍 产品介绍方案 产品名称: 智航船舶租赁综合管理系统 主要功能: 船舶信息管理租赁合同管理运营调度与优化财务分析与报告功能介绍: 1. 船舶信息管理 具体作用与使用方式:该功能模块允许用户录入、编辑和查询所有船舶的详细信息,包括但...

统信UOS下启动图形界面应用工具monitor报JAVA相关错:An error has occurred. See the log file

☞ ░ 前往老猿Python博客 ░ https://blog.csdn.net/LaoYuanPython 一、前言 在博文《基于飞腾2000CPU浪潮电脑统信UOS安装达梦数据库详解 https://blog.csdn.net/LaoYuanPython/article/details/143258863》中介绍了基于飞腾2000CPU浪潮电脑统信UOS安装达梦数据库的详细过程…...

N-154基于springboot酒店预订管理系统

开发工具:IDEA 服务器:Tomcat9.0, jdk1.8 项目构建:maven 数据库:mysql5.7 前端技术:AdminLTEBootstrapLayUIHTMLjQuery 服务端技术:springbootmybatis-plusthymeleaf 本项目分前台和后台…...

微信小程序如何实现地图轨迹回放?

要在Uni-app中实现微信小程序的地图轨迹回放功能,你可以按照以下步骤进行操作: 在Uni-app项目中引入地图组件:在页面中使用uni-app提供的map组件,可以使用uni.createMapContext方法获取地图上下文对象,以便后续操作地图…...

vscode的一些使用心得

问题1:/home目录空间有限 连接wsl或者remote的时候,会在另一端下载一个.vscode-server,vscode的插件都会安装进去,导致空间增加很多,可以选择更换这个文件的位置 参考:https://blog.csdn.net/weixin_4389…...

Python金色流星雨(完整代码)

文章目录 环境需求完整代码下载代码代码分析1. 导入库和窗口设置2. 创建画笔对象3. 流星的颜色4. 定义流星类`Meteor`5. `meteor`方法:绘制流星6. `move`方法:流星的运动7. 创建流星对象列表8. 动画循环总结系列目录写在后面环境需求 python3.11.4PyCharm Community Edition …...

从零到一:基于泛微E9开源资源的企业级业务模块二次开发实战指南

1. 为什么选择泛微E9进行二次开发? 泛微E9作为国内领先的OA系统,在企业信息化建设中扮演着重要角色。我接触过不少企业客户,他们选择E9的主要原因很简单:开箱即用的功能已经能满足80%的日常办公需求,而剩下的20%特殊需…...

SOLIDWORKS Simulation实战:带孔矩形板拓扑优化全流程解析(附避坑指南)

SOLIDWORKS Simulation实战:带孔矩形板拓扑优化全流程解析(附避坑指南) 在机械设计领域,轻量化与结构强度往往是一对矛盾体。如何在保证零件功能的前提下最大限度减少材料使用?拓扑优化技术给出了完美答案。作为SOLIDW…...

OpenClaw多模型切换指南:Qwen3-32B与本地Llama混合调用

OpenClaw多模型切换指南:Qwen3-32B与本地Llama混合调用 1. 为什么需要多模型切换? 去年冬天,当我第一次尝试用OpenClaw自动处理周报时,发现一个有趣的现象:用同一个模型处理文本润色和代码生成任务,效果差…...

RPA工程化实践:三种核心设计模式让复杂流程优雅可控

一、为什么RPA需要设计模式? 在回答这个问题前,我们先看一个典型的复杂RPA场景:企业财务自动化需要从多个系统获取数据(ERP、CRM、银行),经过清洗、验证、转换,然后生成报表并上传至OA系统&…...

OpenClaw故障排查大全:百川2-13B量化模型接入常见报错解决

OpenClaw故障排查大全:百川2-13B量化模型接入常见报错解决 1. 当网关拒绝启动时 上周深夜调试OpenClaw时,我遇到了最棘手的网关启动失败问题。控制台反复报错Error: listen EADDRINUSE: address already in use :::18789,但用lsof -i :1878…...

玩转AI!用FastAPI+RAG轻松构建智能文档问答系统,代码、文档全公开!

在企业数字化转型的浪潮中,我们常遇到这样一个痛点:海量的业务文档、研究报告、技术手册堆积如山,当需要从中寻找某个特定答案时,员工往往要花费数小时甚至数天进行翻阅。这不仅是效率的浪费,更是知识资产沉睡的体现**…...

免费内容解锁工具:提升信息获取效率的技术解决方案

免费内容解锁工具:提升信息获取效率的技术解决方案 【免费下载链接】bypass-paywalls-chrome-clean 项目地址: https://gitcode.com/GitHub_Trending/by/bypass-paywalls-chrome-clean 在信息爆炸的数字时代,专业内容与普通用户之间往往隔着一道…...

asp毕业设计下载(全套源码+配套论文)——基于asp+access的公司门户网站设计与实现

基于aspaccess的公司门户网站设计与实现(毕业论文程序源码) 大家好,今天给大家介绍基于aspaccess的公司门户网站设计与实现,更多精选毕业设计项目实例见文末哦。 文章目录: 基于aspaccess的公司门户网站设计与实现&a…...

终极指南:如何用LanceDB向量数据库构建智能学习资源检索系统

终极指南:如何用LanceDB向量数据库构建智能学习资源检索系统 【免费下载链接】lancedb Developer-friendly, serverless vector database for AI applications. Easily add long-term memory to your LLM apps! 项目地址: https://gitcode.com/gh_mirrors/la/lanc…...

如何使用Compiler Explorer实时编译原理:揭秘代码到汇编的转换过程

如何使用Compiler Explorer实时编译原理:揭秘代码到汇编的转换过程 【免费下载链接】compiler-explorer Run compilers interactively from your web browser and interact with the assembly 项目地址: https://gitcode.com/gh_mirrors/co/compiler-explorer …...