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

【每日学点鸿蒙知识】Web高度适配、变量声明规范、动画取消、签名文件、包体积优化相关

1、HarmonyOS Web页面高度适配?

在Web页面设置高度100%时,发现和Web控件的高度不一致,这个需要设置什么可以达到页面高度和Web容器高度一致

目前只支持两种web布局模式,分别为Web布局跟随系统WebLayoutMode.NONE和Web基于页面大小的自适应网页布局WebLayoutMode.FIT_CONTENT。默认为WebLayoutMode.NONE模式。参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-container-tabcontent-V5#layoutmode10%E6%9E%9A%E4%B8%BE%E8%AF%B4%E6%98%8E

Web({ src: $rawfile('index.html'), controller: this.controller }).width(CommonConstants.WIDTH_OR_HEIGHT).layoutMode(WebLayoutMode.FIT_CONTENT)
2、HarmonyOS ArkTS对于变量类型的声明有相关规范吗?

是否需要在变量声明时候加上变量类型,不同类型要求一致吗,比如:
let result = ''这里是否要求写成let result: string = ‘’
const TEST_RESULT = 'ok’是否要求写成const TEST_RESULT: string = ‘ok’
成员变量和临时变量有差异吗?

使用 let result = ‘’; 就可以,引擎会根据值来推导类型。let 和 const 是一样的,不论是什么类型的变量,都是可以自动推导的。

3、HarmonyOS animateTo或animation动画如何取消?

看了看文档好像没看到有相关的取消方法

如果你需要打断动画可以参考下这个demo,设置一个为0的动画去打断之前的动画。
参考demo:

@Component
@Entry
struct Index {@State clickNumber: number = 0;@State myScale: number = 1.0;uiContext: UIContext | undefined = undefined;imageIndex: number = 0aboutToAppear() {this.uiContext = this.getUIContext?.();}build() {Stack({ alignContent: Alignment.TopEnd }) {//木鱼图片Image($r('app.media.startIcon')).zIndex(2).width(200).height(200).margin({ top: 300, right: 130 }).scale({ x: this.myScale, y: this.myScale })// .clickEffect({level:ClickEffectLevel.LIGHT,scale:0.5}).onClick(() => {if (!this.uiContext) {return;}//设置一个显示动画为0的动画,去打断之前的动画animateTo({ duration: 0, iterations: 1}, () => {console.info('this.dur0xxx---', this.myScale)this.myScale = 1;})animateTo({ duration: 1500, iterations: 1 ,onFinish: () => {animateTo({ duration: 1500, iterations: 1}, () =>{console.info('this.dur2---', this.myScale)this.myScale = 1;})}}, () => {console.info('this.dur1---', this.myScale)this.myScale = 0.8;})})}.backgroundColor(Color.Black).width('100%').height('100%')}
}
4、如何在build-profile中配置debug模式使用一份签名文件,release模式使用另一份签名文件

工程级build-profile.json5文件中新增定制product,分别使用不同的签名证书,
1、配置签名文件

"signingConfigs": [ { "name": "default", "type": "HarmonyOS", "material": { "certpath": "", "storePassword": "", "keyAlias": "", "keyPassword": "", "profile": "b", "signAlg": "", "storeFile": "" } }, { "name": "useForRelease", "type": "HarmonyOS", "material": { "certpath": "", "storePassword": "", "keyAlias": "", "keyPassword": "", "profile": "b", "signAlg": "", "storeFile": "" } }, { "name": "useForDebug", "type": "HarmonyOS", "material": { "certpath": "", "storePassword": "", "keyAlias": "", "keyPassword": "", "profile": "b", "signAlg": "", "storeFile": "" } ] 

2、配置

"products": [ { "name": "default", "signingConfig": "default", "compatibleSdkVersion": "5.0.0(12)", "runtimeOS": "HarmonyOS", }, { "name": "useForDebug", "signingConfig": "useForDebug", "compatibleSdkVersion": "5.0.0(12)", "runtimeOS": "HarmonyOS", }, { "name": "useForRelease", "signingConfig": "useForRelease", "compatibleSdkVersion": "5.0.0(12)", "runtimeOS": "HarmonyOS", } ],

右上角product按钮Product 选择useForDebug 来选择使用调试证书的hap ,选择useForRelease->apply 构建出来的APP 则使用发布证书。default 配置项勿删。

3、module中 ,applytoProducts 属性中增加useForDebug,useForRelease 两个参数 “modules”:

 [ { "name": "entry", "srcPath": "./entry", "targets": [ { "name": "default", "applyToProducts": [ "default", "default_debug", "default_realse" ] } ] } ] 
5、在全局配置oh-package中配置依赖的第三方应用与在模块中配置oh-package中配置的第三方应用有什么区别,对包体积会有影响吗?

第三方库依赖配置在全局中和配置在模块中是否对包体大小有影响?

全局配置oh-package中配置依赖的第三方应用是在整个项目中都可以使用的,而在模块中配置oh-package中配置的第三方应用是只在该模块中可以使用的。因此,全局配置会影响整个项目的包体积,而模块中配置只会影响该模块的包体积。

相关文章:

【每日学点鸿蒙知识】Web高度适配、变量声明规范、动画取消、签名文件、包体积优化相关

1、HarmonyOS Web页面高度适配? 在Web页面设置高度100%时,发现和Web控件的高度不一致,这个需要设置什么可以达到页面高度和Web容器高度一致 目前只支持两种web布局模式,分别为Web布局跟随系统WebLayoutMode.NONE和Web基于页面大…...

uniapp使用ucharts组件

1.ucharts准备 有两种使用方式:一种是在uni的插件市场下载(组件化开发)。一种是手动引入ucharts包。官方都封装好组件了,我们不用岂不是浪费。 直接去dcloud插件市场(DCloud 插件市场)找,第一…...

LabVIEW工程师的未来发展

对于LabVIEW工程师以及更广义的编程从业者(包括“高级民工”码农)来说,随着AI技术和软件编程的逐步成熟,确实面临一些新的挑战和机遇。以下是对此问题的深入分析和未来方向的建议: 现状分析:技术过剩与竞争…...

java的bio、nio、aio 以及操作系统的select、poll、epoll

在 Java 和其他编程语言中,I/O 模型的选择对网络应用的性能和可扩展性有着重要影响。以下是 BIO(Blocking I/O)、NIO(Non-blocking I/O)、AIO(Asynchronous I/O),以及操作系统级别的…...

2024 年发布的 Android AI 手机都有什么功能?

大家好,我是拭心。 2024 年是 AI 快速发展的一年,这一年 AI 再获诺贝尔奖,微软/苹果/谷歌等巨头纷纷拥抱 AI,多款强大的 AI 手机进入我们的生活。 今年全球 16% 的智能手机出货量为 AI 手机,到 2028 年,这…...

RLHF,LM模型

LLM(Large Language Model) RLHF(Reinforcement Learning from Human Feedback),即以强化学习方式依据人类反馈优化语言模型。 RLHF思想:使用强化学习的方式直接优化带有人类反馈的语言模型。RLHF使得在一般文本数据语料库上训练的语言模型能与复杂的人类价值观对齐。 R…...

【机器学习】工业 4.0 下机器学习如何驱动智能制造升级

我的个人主页 我的领域:人工智能篇,希望能帮助到大家!!!👍点赞 收藏❤ 随着科技的飞速发展,工业 4.0 浪潮正席卷全球制造业,而机器学习作为这一变革中的关键技术,正以前…...

REST与RPC的对比:从性能到扩展性的全面分析

在微服务架构中,服务间通信是核心问题之一。常见的两种通信方式是REST(Representational State Transfer)和RPC(Remote Procedure Call)。它们各有优缺点,适用于不同场景。本文将从性能、扩展性、兼容性和开…...

MATLAB中将MAT文件转换为Excel文件

MATLAB中将MAT文件转换为Excel文件 MATLAB提供了多种方法将MAT文件中的数据导出到Excel文件中。下面介绍几种常用的方法: 1. 使用 writetable 函数 优点: 功能强大,可以灵活控制输出格式。用法: data load(your_data.mat); …...

leetcode hot 100 跳跃游戏2

45. 跳跃游戏 II 已解答 中等 相关标签 相关企业 给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说&#xff0c;如果你在 nums[i] 处&#xff0c;你可以跳转到任意 nums[i j] 处: 0 < j…...

【Cesium】八、Cesium 默认地图不显示,不加载默认Bing地图

文章目录 前言实现方法App.vue 前言 Cesium 默认加载的地图是bing地图&#xff0c;个人认为请求bing地图会收到网络限制&#xff0c;导致地图资源下载很慢&#xff0c;所以设置默认不加载bing地图&#xff08;后续我使用的是天地图&#xff09; 参考文章&#xff1a; cesium …...

【新方法】通过清华镜像源加速 PyTorch GPU 2.5安装及 CUDA 版本选择指南

下面详细介绍所提到的两条命令&#xff0c;它们的作用及如何在你的 Python 环境中加速 PyTorch 等库的安装。 1. 设置清华镜像源 pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple这条命令的作用是将 pip &#xff08;Python 的包管理工具&#xf…...

MySQL的sql操作有哪些

MySQL 的 SQL 操作可以分为几个主要类别&#xff0c;每个类别包含了一系列的语句&#xff0c;用于执行不同的数据库操作&#xff1a; 数据查询语言&#xff08;DQL&#xff09; SELECT&#xff1a;用于从一个或多个表中检索数据。可以使用 WHERE 子句进行条件筛选&#xff0c…...

ArcGIS计算矢量要素集中每一个面的遥感影像平均值、最大值等统计指标

本文介绍在ArcMap软件中&#xff0c;基于矢量面要素集&#xff0c;计算在其中每一个面区域内&#xff0c;遥感影像的像元个数、平均值、总和等统计值&#xff0c;并将统计信息附加到矢量图层的属性表中的方法。 首先&#xff0c;明确一下本文的需求。现在有一个矢量面要素集&am…...

EasyExcel(环境搭建以及常用写入操作)

文章目录 EasyExcel环境搭建1.创建模块 easyexcel-demo2.引入依赖3.启动类创建 EasyExcel写1.最简单的写入1.模板2.方法3.结果 Write01.xlsx 2.指定字段不写入Excel1.模板2.方法3.结果 Write02.xlsx 3.指定字段写入excel1.模板2.方法3.结果 Write03.xlsx 4.按照index顺序写入ex…...

探索Milvus数据库:新手入门指南(tencent云)

开启向量数据库的奇妙之旅 在数据科学和机器学习领域&#xff0c;Milvus是一个专为向量数据设计的开源数据库。它以其高性能和易于使用的特点&#xff0c;成为了处理大规模向量搜索任务的理想选择。如果你是Milvus的新手&#xff0c;这篇文章将带你一步步了解如何开始你的Milv…...

MySQL:一文弄懂时区time_zone

你还在被以下问题困扰吗&#xff1a; MySQL 的安装规范中应该设置什么时区&#xff1f; JAVA 应用读取到的时间和北京时间差了 14 个小时&#xff0c;为什么&#xff1f;怎么解决&#xff1f; 已经运行一段时间的业务&#xff0c;修改 MySQL 的时区会影响已经存储的时间类型数据…...

基于python的天气可视化系统

目 录 1绪论 1.1研究背景 1.2研究意义 1.3当前研究现状 1.4研究内容 第2章 相关基础理论 2.1 爬虫技术基础 2.2 Python 在爬虫中的应用 2.3 爬虫系统的设计要点 第3章 天气网数据可视化系统设计 3.1 系统概述及主要内容 3.1.1 系统架构 3.1.2 工具选择…...

STM32 高级 WIFi案例1:测试AT指令

需求描述 测试AT指令是否能够正常控制ESP32的wifi&#xff0c;比如重启、读取设备信息等。 思路&#xff1a; stm32通过串口usart2向ESP32发布命令。ESP32通过串口1返回信息。 配置&#xff1a; 第一步&#xff1a;对ESP32芯片烧录可以读取stm32命令的固件&#xff08;fac…...

SpringCloud微服务架构

文章目录 认识微服务&#xff1a;SpringCloud 服务拆分及远程调用实现夸远程服务调用使用RestTemplateEureka注册中心 搭建EruekaServer注册服务服务发现 Ribbon负载均衡 修改负载均衡规则解饿加载 Nacos注册中心&#xff08;nacos一部分功能&#xff09; 服务注册到nacosnacos…...

WebSocket封装

提示:记录工作中遇到的需求及解决办法 文章目录 前言二、背景三、WebSocket3.1 什么是 WebSocket ?为什么使用他?四、封装 WebSocket4.1 Javascript 版本4.2 Typescript 版本4.3 如何使用?五、我的痛点如何处理前言 本文将介绍 WebSocket 的封装,比如:心跳机制,重连和一…...

基于Flask后端框架的均值填充

Flask可以在Jupyter上运行&#xff0c;首先需要安装这两个库&#xff1a; !pip install Flask-CORS !pip install Flask 引入依赖&#xff1a; from flask import Flask, request, jsonify, send_file import os import pandas as pd import io from flask import Flask fr…...

SQL-Server链接服务器访问Oracle数据

SQL Server 链接服务器访问 Oracle 离线安装 .NET Framework 3.5 方法一&#xff1a;使用 NetFx3.cab 文件 下载 NetFx3.cab 文件&#xff0c;并将其放置在 Windows 10 系统盘的 C:Windows 文件夹中。 以管理员身份运行命令提示符&#xff0c;输入以下命令并回车&#xff1a; …...

Python中continue语句的使用

1 问题 本文将对在循环中continue语句的用途和如何正确使用continue进行分析与总结。 2 方法 &#xff08;1&#xff09;定义&#xff1a; 在编程中&#xff0c;“continue”是一个关键字&#xff0c;用于循环结构中。它的作用是跳过当前循环的剩余部分&#xff0c;立即进入下一…...

JavaScript的diff库详解(示例:vue项目实现两段字符串比对标黄功能)

diff库介绍 diff 库是基于 Myers 差分算法 实现的 JavaScript 文本差异库。 Myers 差分算法 是由 Eugene Myers 在 1986 年发表的一篇经典算法论文 “An O(ND) Difference Algorithm and its Variations” 中描述的一种高效算法&#xff0c;用于计算两个序列&#xff08;通常是…...

自动驾驶3D目标检测综述(六)

停更了好久终于回来了&#xff08;其实是因为博主去备考期末了hh&#xff09; 这一篇接着&#xff08;五&#xff09;的第七章开始讲述第八章的内容。第八章主要介绍的是三维目标检测的高效标签。 目录 第八章 三维目标检测高效标签 一、域适应 &#xff08;一&#xff09;…...

the request was rejected because no multipart boundary was found

文章目录 1. 需求描述2. 报错信息3. 探索过程 1. 使用postman 排除后端错误2. 搜索网上的解决方法3. 解决方法 1. 需求描述 想要在前端上传一个PDF 发票&#xff0c;经过后端解析PDF之后&#xff0c;将想要的值自动回填到对应的输入框中 2. 报错信息 org.apache.tomcat.u…...

HarmonyOS-面试整理

目录 为什么选择HarmonyOS/ 优点/特点鸿蒙系统的权限有哪些说一说鸿蒙系统的安全机制说一说鸿蒙系统的微内核与安卓的内核区别鸿蒙操作系统的微内核架构有哪些优势分布式能力在鸿蒙系统中如何实现请解释一下鸿蒙系统中的分布式软总线技术如何在鸿蒙操作系统中进行多设备协同开发…...

[C#] 「Unity」「游戏开发」如何在Canvas下的Button控件下实例化Image元素

在开发过程中,经常需要在UI上动态添加元素。特别是在Unity中,Canvas控件通常用来作为UI元素的容器,而Button控件则常用于交互。而在某些情况下,我们可能需要在一个Button下实例化一个Image元素,并确保它的位置与Button的位置保持一致。然而,简单地使用Button的坐标值往往…...

Nginx1.20.2-Linux-安装

文章目录 1.下载压缩包1.官网下载2.找到1.20.23.百度网盘 2.Linux安装1.搭建gcc环境2.上传到 /usr/local/nginx1.20.23.解压1.解压到当前目录2.删除压缩包 4.配置Nginx的编译路径1.进入nginx-1.20.22.执行内部的脚本&#xff0c;指定编译路径为/usr/local/nginx 5.编译并安装6.…...