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

【每日学点鸿蒙知识】导入cardEmulation、自定义装饰器、CallState状态码顺序、kv配置、签名文件配置

1、HarmonyOS 无法导入cardEmulation?

在工程entry mudule里的index.ets文件里导入cardEmulation失败
可以按照下面方式添加SystemCapability;在src/main/syscap.json(此文件需要手动创建)中添加如下内容

{"devices": {"general": [//这里要和module.json5中设备类型保持一致"phone"]
},"development": {"addedSysCaps": ["SystemCapability.Communication.NFC.CardEmulation"]
}
}

2、自定义装饰器ClassDecorator如何使用?

ArkTS支持TS5.0之前的TS装饰器语法。关于装饰器的定义和运行时行为,可以参考TS官方文档:https://www.typescriptlang.org/docs/handbook/decorators.html。注意,如果在ets文件中定义装饰器,则需要同时满足ArkTS的语法规则,比如不能使用any等。

以下是类装饰器、属性装饰器、方法装饰器、参数装饰器的简单示例:

function TestClassDecorator (target: Function) {}
function TestMemberDecorator (target: testClass, memberName: String) {}
function TestFunDecorator (target: testClass, propertyName: String, descriptor: PropertyDescriptor) {}
function TestArgDecorator (target: Function, methodName: String, paramIndex: Number) {}@TestClassDecorator
class testClass {@TestMemberDecoratorcount: number = 123;@TestFunDecoratorTestFun(@TestArgDecorator param: string) {}
}

3、HarmonyOS 用户拨打电话时的CallState状态码变化顺序?

用户拨打电话时(电话拨出),对方拒接、接听、未接听三种情况CallState状态码变化顺序:
主动呼叫对方拒接/呼叫方响铃过程中提前挂断:2 -> 0
对方接听:2 -> 2(响铃过程中状态码是2)

4、HarmonyOS 文件key-value形式的自定义配置?

需求为在app目录下存放各个模块都能读取的,key-value形式的自定义配置,并且value的类型不固定,string、number、bool都有,相关的json文件应该怎么创建和读取,最好能直接用key读取出value,而不需要先读取整个文件

  1. 在resources/base/element/下新建json文件 boolean.json 示例内容如下:
{"boolean": [{"name": "module_desc","value": true},{"name": "EntryAbility_desc","value": false},{"name": "EntryAbility_label","value": false}]
}
  1. 使用资源管理接口调用:getBoolean
import { common } from '@kit.AbilityKit';@Entry
@Component
struct Index {@State message: string = 'Hello World';private context = getContext(this) as common.UIAbilityContext;build() {RelativeContainer() {Text(this.message).id('HelloWorld').fontSize(50).fontWeight(FontWeight.Bold).onClick(()=>{let aa:boolean = this.context.resourceManager.getBoolean($r('app.boolean.EntryAbility_desc').id)console.log('lujun EntryAbility_desc value is '+aa)}).alignRules({center: { anchor: '__container__', align: VerticalAlign.Center },middle: { anchor: '__container__', align: HorizontalAlign.Center }})}.height('100%').width('100%')}
}

4、HarmonyOS 签名时报文件不支持的问题?

在进行HarmonyOS app打包时,发现报签名文件不支持的问题;但签名文件我是通过命令直接生成的;这个问题怎么解决?
问题场景描述:
使用签名命令生成签名文件:

keytool -genkeypair -alias "zofund" -keyalg EC -sigalg SHA256withECDSA -dname "C=CN,O=zofund,OU=zofund,CN=zofund"  -keystore /Users/lidaofu/DevEcoStudioProjects\debug.p12 -storetype pkcs12 -validity 9125 -storepass *** -keypass **** 

签名中profile应该时p7b文件。
具体的签名流程如下(手动):

  1. 生成CSR文件:编辑器:----->Build---->Generate Key and CSR;
  2. 已有p12,选择已有,否则选择新建,
  3. 填好Alias,Password等信息,并牢记
  4. 点击Finish完成---->csr文件创建完成

申请调试签名证书

  1. 登录AppGallery Connect,选择用户与访问
  2. 左侧证书管理------>新增证书,选择上面生成的csr,可以下载保存,供后续使用,
  3. 左侧设备管理------>添加相应的设备

申请调试profile

  1. 登录AppGallery Connect,选择我的项目
  2. 找到项目,在项目中找到管理HAP Provision Profile,
  3. 可以管理pfofile

相关文档:https://developer.huawei.com/consumer/cn/doc/app/agc-help-debug-app-0000001914423098
在这里插入图片描述

http://www.lryc.cn/news/513366.html

相关文章:

  • 【SpringMVC】REST 风格
  • IDEA修改编译版本
  • SkyWalking Agent 配置 Spring Cloud Gateway 插件解决日志错误
  • canvas+fabric实现时间刻度尺(一)
  • 傲雷亮相2024中国时尚体育季(珠海站),展现户外移动照明风采
  • YOLOv10-1.1部分代码阅读笔记-block.py
  • @RestControllerAdvice注解
  • Enum枚举类与静态变量和静态数组的区别
  • uniapp——微信小程序读取bin文件,解析文件的数据内容(三)
  • SpringBoot集成ECDH密钥交换
  • python文件操作相关(excel)
  • 探索React与Microi吾码的完美结合:快速搭建项目,低代码便捷开发教程
  • 【面试系列】深入浅出 Spring Boot
  • @colyseus/social 模块详解
  • 石岩路边理发好去处
  • ROS 2中的DDS中间件
  • 「下载」智慧文旅运营综合平台解决方案:整体架构,核心功能设计
  • NVR小程序接入平台EasyNVR使用FFmpeg取流时提示错误是什么原因呢?
  • 计算机因进程结束导致白屏
  • OpenGL入门最后一章观察矩阵(照相机)
  • ES6中定义私有属性详解
  • 工业5G路由器让无人机数据传输 “飞” 起来
  • 面试经典150题——滑动窗口
  • MiFlash 线刷工具下载合集
  • 【MySQL高级】第1-4章
  • 课程设计项目之基于Python实现围棋游戏代码
  • uni-app tab 双击事件监听
  • 如何在Maxscript脚本中检查磁盘可用空间?
  • pytorch梯度上下文管理器介绍
  • Redis Stream:实时数据处理的高效解决方案