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

【每日学点鸿蒙知识】上架流程、h5返回收拾拦截、两个枚举类型之间转换、hvigorw命令、绘制本地图片

1、HarmonyOS 上架流程?
  • 上架流程,请参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/ide-publish-app-V5
    在这里插入图片描述

  • 上架的一些条件,也请 这边悉知,参考链接:https://developer.huawei.com/consumer/cn/doc/app/agc-help-releaseapkrpk-0000001106463276

  • 在这里插入图片描述

2、h5和原生的交互,h5页面跳转很多层,是否支持拦截H5返回手势

可以通过webview提供的接口accessBackward设置当前页面是否可后退。文档链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-basic-components-web-V5#accessbackwarddeprecated

3、HarmonyOS 两个枚举类型之间转换问题?

两个枚举类型的变量之间如何转换赋值。

export enum m1{
  a = 1,
  b = 2
}
export enum m2{
  c = 1,
  d = 2
}
mm:m1 = m1.a;
nn:m2 = m2.c;

如何将nn 赋值给mm

确定两个枚举类型是否相同或兼容。使用as关键字进行类型转换。
示例代码:

enum Color {
  RED, GREEN, BLUE;
}

enum Size {
  SMALL, MEDIUM, LARGE;
}

var red: Color = Color.RED;
var small: Size = Size.SMALL;

// 将Color类型的变量red赋值给Size类型的变量small
var redAsSize: Size = red as Size;

在这个示例中,我们首先定义了两个枚举类型Color和Size。然后,我们创建了一个Color类型的变量red和一个Size类型的变量small。最后,我们使用as关键字将red赋值给small,前提是red可以被转换为Size类型。
需要注意的是,这种类型转换必须满足参数类型要求。如果不满足这些要求,编译器会报错,或者在运行时抛出异常。

4、HarmonyOS 流水线 使能daemon问题?

执行命令:

hvigorw --mode module -p module=phone@default,basicInterface@default,common@default,configuration@default,login@default,featureInterface@default,easyui@default,personalCenter@default,company@default,debug@default,resume@default,selector@default,personalInfo@default,position@default,easybusiness@default,message@default,imagePicker@default,basicdata@default,location@default -p product=default -p buildMode=debug assembleHap assembleHsp --analyze --parallel --incremental --daemon

报错:

> hvigor ERROR: Failed :basicInterface:default@ProcessLibs...  
> hvigor ERROR: ENOENT: no such file or directory, uv_cwd 
> hvigor ERROR: BUILD FAILED in 678 ms  

将 使能daemon关闭以后正常 --no-daemon
请问如果要打开需要如何配置?

命令行和流水线一般使用commandline-tools下的hvigorw,这个hvigorw会设置sdk的环境变量(sdk在commandline-tools中有内置) 如果要使用IDE下的hvigor.js在命令行中使用,需要设置DEVECO_SDK_HOME环境变量指向sdk

5、HarmonyOS Canvas.drawImage怎么绘制本地图片,并指定大小?
import image from '@ohos.multimedia.image'

@Entry
@Component
struct Index {
  @State message: string = '点击获取图片尺寸';
  @State imagePixelMap: PixelMap | undefined = undefined;
  @State imageWidth: number = -1;
  @State imageHeight: number = -1;

  build() {
    Row() {
      Column() {
        Button(this.message)
          .fontSize(30)
          .width(350)
          .height(150)
          .fontWeight(FontWeight.Bold)
          .onClick(() => {
            getContext(this).resourceManager.getMediaContent($r("app.media.startIcon")).then((data) => {
              let arrayBuffer = data.buffer.slice(data.byteOffset, data.byteLength + data.byteOffset)
              let imageSource: image.ImageSource = image.createImageSource(arrayBuffer);
              imageSource.getImageInfo((err,
                value) => { //获取图片资源的尺寸
                console.log(`图片的尺寸为:width:${value.size.width}height:${value.size.height}`)
                if (err) {
                  return;
                } // 转PixelMap
                let opts: image.DecodingOptions = {
                  editable: true,
                  desiredSize: {
                    height: value.size.height,
                    width: value.size.width
                  } // desiredSize: { height: 300, width: 200 }
                };
                imageSource.createPixelMap(opts, (err, pixelMap) => {
                  this.imagePixelMap = pixelMap
                  this.imagePixelMap.getImageInfo().then((value) => {
                    this.imageWidth = value.size.width
                    this.imageHeight = value.size.height
                  })
                })
              })
            })
          })
        Image(this.imagePixelMap).width(this.imageWidth).height(this.imageHeight)
        Text(`图片尺寸信息:width: ${this.imageWidth}, height: ${this.imageHeight}`)
      }
    }
  }
}

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

相关文章:

  • AppAgent 源码 (xml 解析)
  • MySQL for update skip locked 与 for update nowait
  • 从数据仓库到数据中台再到数据飞轮:电信行业的数据技术进化史
  • 小程序app封装公用顶部筛选区uv-drop-down
  • SDMTSP:粒子群优化算法PSO求解单仓库多旅行商问题,可以更改数据集和起点(MATLAB代码)
  • WebRTC搭建与应用(五)-Coturn踩坑记
  • 代码随想录算法训练营第一天 | 704. 二分查找、 27. 移除元素、977.有序数组的平方
  • Python知识图谱框架
  • 22【AUTOSAR自适应平台设计的概述01】杂项概念介绍
  • Hive其十,优化和数据倾斜
  • 要查询 `user` 表中 `we_chat_open_id` 列不为空的用户数量
  • 多边形内角问题@三角形的基本性质@平面镶嵌问题
  • CASA(Carnegie-Ames-Stanford Approach) 模型原理及实践技术
  • Python PDF批量加密工具
  • 妙用编辑器:如何使用编辑器的筛选功能更高效的阅读日志
  • 在 macOS 和 Windows 平台上使用 SVN 的完整指南20241225
  • Golang的性能监控指标
  • Milvus矢量数据库 麒麟v10安装
  • unity 打包出来的所有执行文件内容打包成一个exe程序
  • 强大且灵活的终端工具Tabby的强大功能与详细配置指南
  • 十五、新一代大模型推理架构Manba
  • 【Leetcode】3218. 切蛋糕的最小总开销 I
  • 【计算机视觉】轮廓检测
  • ArcGIS经纬度转平面坐标教程
  • 第3章 集合与关系
  • 重温设计模式-外观模式和适配器模式的异同