HarmonyOS 鸿蒙Next asset 运行add方法时报错

发布于 1周前 作者 bupafengyu 来自 鸿蒙OS

HarmonyOS 鸿蒙Next asset 运行add方法时报错

asset 运行add方法时报错,模拟器是最新版本

2 回复

demo:

import { asset } from '@kit.AssetStoreKit';

import { util } from ‘@kit.ArkTS’;

import { BusinessError } from ‘@kit.BasicServicesKit’;

function stringToArray(str: string): Uint8Array {

  let textEncoder = new util.TextEncoder();

  return textEncoder.encodeInto(str);

}

function string2Uint8Array(str: string): Uint8Array {

  if (!str) {

    console.error(‘stringToUint8Array’, ‘params error’);

    throw new Error(‘stringToUint8Array, params error’);

  }

  let arr: number[] = [];

  for (let i = 0; i < str.length; ++i) {

    arr.push(str.charCodeAt(i));

  }

  return new Uint8Array(arr);

}

export function addAsset() {

  let attr: asset.AssetMap = new Map();

  attr.set(asset.Tag.SECRET, string2Uint8Array(‘demo_pwd’));

  attr.set(asset.Tag.ALIAS, stringToArray(‘demo_alias’));

  attr.set(asset.Tag.ACCESSIBILITY, asset.Accessibility.DEVICE_POWERED_ON);

  // attr.set(asset.Tag.IS_PERSISTENT, true);

  attr.set(asset.Tag.DATA_LABEL_NORMAL_1, stringToArray(‘demo_label’));

  try {

    asset.remove(attr)

    asset.add(attr).then(() => {

      console.info(Asset added successfully.);

    }).catch((err: BusinessError) => {

      console.error(Failed to add Asset. Code is ${err.code}, message is ${err.message});

    })

  } catch (error) {

    let err = error as BusinessError;

    console.error(Failed to add Asset. Code is ${err.code}, message is ${err.message});

  }

}

@Entry

@Component

struct Index {

  aboutToAppear(): void {

    addAsset()

  }

  build() {

    Column() {

      Row() {

        Text(‘Hello Huawei’)

      }

    }

  }

}<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>

更多关于HarmonyOS 鸿蒙Next asset 运行add方法时报错的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


针对您提到的HarmonyOS鸿蒙Next asset运行add方法时报错的问题,这通常涉及多个潜在因素,包括但不限于方法定义错误、参数不匹配、资源文件缺失或权限设置不当等。以下是一些排查思路:

  1. 检查方法定义:确保add方法在对应的类中已正确定义,且访问权限符合调用要求(如public、protected等)。

  2. 参数匹配:验证调用add方法时传递的参数是否与定义完全一致,包括类型、数量和顺序。

  3. 资源文件:如果add方法依赖于特定资源(如图片、布局文件等),请检查这些资源是否存在且路径正确。

  4. 权限配置:检查应用的manifest文件,确保所有必要的权限都已声明,特别是与资源访问或外部交互相关的权限。

  5. 日志分析:查看详细的错误日志,通常能提供更多关于错误原因的信息,如空指针异常、类型转换错误等。

  6. 环境兼容性:确认您的开发环境(IDE、SDK版本等)与HarmonyOS鸿蒙Next版本兼容。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html 。这将帮助您获得更专业的技术支持。

回到顶部