自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

鸿蒙的技术博客

记录开发日常

  • 博客(1839)
  • 收藏
  • 关注

原创 OpenHarmony开发案例【大合集】

为帮助开发者快速熟悉OpenHarmony的能力以及相关的应用开发流程,我们提供了一系列的基于趣味场景的应用示例,即Codelabs,开发者可以根据我们的文档一步步的学习和完成简单项目的开发。

2024-05-12 21:11:37 1371

原创 鸿蒙5.0开发【是否支持模块的动态加载?如何实现】应用运维

当前不支持动态加载设备侧的二进制包;可以使用动态import进行异步加载,达到类似于Class.forName()反射的效果。

2025-04-30 21:40:28 158

原创 鸿蒙5.0开发【是否支持开发者自行管理线程数量】应用运维

ArkTS侧不支持,Native侧无限制。

2025-04-30 20:32:56 149

原创 鸿蒙5.0开发【ArkTS里有哪些转换数据类型的方法】应用运维

ArkTS支持通过JavaScript/TypeScript的内置方法进行类型转换,例如Number(), String(), Boolean()等。ArkTS支持TS语义的as类型转换,不支持使用<>运算符进行类型转换。当前as类型转换只用在编译时,无法通过as在运行时进行类型转换。

2025-04-30 19:30:48 96

原创 鸿蒙5.0开发【如何实现类似Java中的反射方法调用能力】应用运维

可以通过[动态import]的方式实现类似反射能力,具体实现可参考以下代码。

2025-04-30 16:47:09 81

原创 鸿蒙5.0开发【如何合并两个对象】应用运维

出于性能考虑,目前ArkTS限制了ES6的Object.assign()方法的使用。若需要在ets文件中扩展对象属性或合并两个对象时,可以自行实现assign方法。

2025-04-30 15:41:49 235

原创 鸿蒙5.0开发【如何访问类的静态变量和方法】应用运维

在ArkTS中,静态变量和方法是属于类自身的,无法通过this访问,因为this是指向类的实例化对象。如果要在类中访问静态变量和静态方法,需要使用类名访问。

2025-04-30 14:37:58 80

原创 鸿蒙5.0开发【ArkTS中this的常用场景及使用】应用运维

在ArkTS中,this是常用于类中访问对象属性及方法或者自定义组件的回调中使用getContext(this)。

2025-04-30 13:36:08 98

原创 鸿蒙5.0开发【ArkTS中globalThis无法使用该如何替换】应用运维

ArkTS不支持动态更改对象的布局,因此不支持全局作用域和globalThis。

2025-04-29 22:03:30 129

原创 鸿蒙5.0开发【.ets文件和.ts文件的区别及如何互相调用文件中定义的方法】应用运维

ArkTS基于兼容了TS语法,继承了TS的所有特性,当前,ArkTS在TS的基础上主要扩展了声明式UI能力,让开发者能够以更简洁、更自然的方式开发高性能应用。推荐用ArKTS开发UI相关内容,TS可以用来开发业务逻辑相关内容。

2025-04-29 20:18:53 314

原创 鸿蒙5.0开发【AOT编译模式的产物及ap、an、ai文件是什么】应用运维

an、ai文件是字节码结合ap文件生成的机器码文件,an是arkcompiler native的缩写,ai是arkcompiler image的缩写。ap文件:即ark profiler文件,是在方舟AOT编译器中,记录预先profiling运行时类型等信息的文件。AOT编译模式的产物是可以直接执行的机器码。

2025-04-29 19:17:38 115

原创 鸿蒙5.0开发【如何开启AOT编译模式】应用运维

AOT(Ahead Of Time)即预先编译,在程序运行前,预先编译成高性能机器码,让程序在首次运行就能通过执行高性能机器码获得性能收益。

2025-04-29 17:11:19 122

原创 鸿蒙5.0开发【如何将类Java语言的线程模型(内存共享)的实现方式转换成在ArkTS的线程模型下(内存隔离)的实现方式】应用运维

可以利用TaskPool接口转换,大概可以分为如下五个场景

2025-04-29 16:09:17 135

原创 鸿蒙5.0开发【ArkTS类的方法是否支持重载】应用运维

当前ArkTS支持TS中的重载,即多个重载签名+实现签名+函数体的形式。函数签名只用在编译期进行类型检查,不保留到运行时。

2025-04-29 14:51:56 85

原创 鸿蒙5.0开发【ArkTS的SendableClass对象内存共享的原理和限制是什么】应用运维

SendableClass是基于Actor内存隔离并发模型的扩展,Sendable对象的内存是线程间共享的,但是仍然需要满足单线程无锁化运行。因此,要保证同一个Sendable实例不能多线程并发访问,开发者需要通过同步机制保证线程安全。

2025-04-29 13:37:20 161

原创 鸿蒙5.0开发【pthread创建的线程中如何读取rawfile】应用运维

可在线程安全函数中读取:

2025-04-28 22:00:41 64

原创 鸿蒙5.0开发【使用NAPI扩展TS接口时,常用属性和实现接口的基本用法】应用运维

env是使用napi的模块化编程,注册模块之后,调用回调的时候会通过回调函数调用过来

2025-04-28 20:52:56 94

原创 鸿蒙5.0开发【如何生成UUID的字符串】应用运维

【代码】鸿蒙5.0开发【如何生成UUID的字符串】应用运维。

2025-04-28 19:30:50 107

原创 鸿蒙5.0开发【如何实现字符串编解码】应用运维

TextEncoder用于将字符串编码为字节数组,支持多种编码格式,包括utf-8、utf-16le/be等。

2025-04-28 17:09:56 148

原创 鸿蒙5.0开发【编译后生成的.abc文件存放路径在哪】应用运维

执行编译操作后,abc文件存放路径为:“build/default/intermediates/loader_out/default/ets/modules.abc”。

2025-04-28 16:00:18 208

原创 鸿蒙5.0开发【如何实现应用的屏幕自动旋转】应用运维

可以通过buffer.concat()方法,将数组中的内容复制指定字节长度到新的Buffer对象中并返回。

2025-04-28 14:44:40 100

原创 鸿蒙5.0开发【如何实现应用的屏幕自动旋转】应用运维

在module.json5添加属性"orientation": “auto_rotation”。

2025-04-28 13:31:56 145

原创 鸿蒙5.0开发【如何在Native侧释放ArkTS对象】应用运维

使用napi_wrap接口,如果最后一个参数result传递不为nullptr,需要开发者在合适的时机调用napi_remove_wrap函数主动删除创建的napi_ref对象。

2025-04-27 21:56:34 83

原创 鸿蒙5.0开发【如何实现ArkUI组件字符串变量拼接】应用运维

修改"src/main/resources/en_US/element/string.json"文件,对其中的一个需要变量拼接内容增加%d拼接。例如:Text()组件的字符串变量拼接功能,如何实现?可以通过资源文件结合%d、%s的方式进行实现。

2025-04-27 20:53:32 126

原创 鸿蒙5.0开发【自定义构建函数Builder与自定义组件component的使用区别以及限制是什么】应用运维

自定义构建函数(@Builder)和自定义组件的主要区别如下

2025-04-27 19:31:17 125

原创 鸿蒙5.0开发【如何打开键鼠穿越功能开关】应用运维

在HarmonyOS 4.0 Canary2版本的PC/2in1设备上,默认提供了用于测试键鼠穿越功能的应用“AssociateAssistant”,通过该应用可打开键鼠穿越功能开关,具体方法如下:

2025-04-27 17:40:29 198

原创 鸿蒙5.0开发【如何使用ohpm引入三四方库】应用运维

打开工程目录下的entry目录,找到该目录下的oh-package.json5文件。打开Terminal窗口,通过如下指令进入到entry目录。打开Terminal窗口,通过如下指令进入到entry目录。以引入“dayjs”为例,执行以下指令进行安装。在对应的ArkTS文件中直接引用。在对应的js文件中直接引用。

2025-04-27 15:42:26 361

原创 鸿蒙5.0开发【如何使用正则表达式】应用运维

首先使用new RegExp()定义一个正则表达式

2025-04-27 14:38:31 338

原创 鸿蒙5.0开发【将rawfile中json格式的字符串转换成对应的object对象后,调用实例方法后程序崩溃】应用运维

JSON.parse方法会把 function 处理成字符串,直接调用的话会因该 function 不可调用从而 crash;为了能够继续使用,一般使用 eval 函数把字符串转成 function,但是 ArkTS 中会限制使用 eval 函数,所以该方法不可行,解决方案就是使用 class-transformer 的 plainToClass 方法;通过json解析字符串得到的对象的原型是object,其原型链中不存在自有的实例方法,故无法调用。将该实例方法改为静态方法,通过类名去调用。

2025-04-27 13:34:39 159

原创 鸿蒙5.0开发【在应用中如何刷新卡片】应用运维

点击卡片触发卡片更新,可以在卡片页面中通过[postCardAction]接口触发router事件或者call事件拉起UIAbility,然后由UIAbility刷新卡片内容。在应用页面操作触发卡片更新时,可以使用[updateForm]通知卡片进行刷新,例如天气应用设置显示地区后,通知卡片刷新显示数据。

2025-04-26 21:55:21 169

原创 鸿蒙5.0开发【元服务与服务卡片的区别】应用运维

2025-04-26 20:40:35 76

原创 鸿蒙5.0开发【点击服务卡片如何跳转至指定的页面】应用运维

配置卡片事件,指定需要跳转的目标UIAbility,

2025-04-26 19:31:08 101

原创 鸿蒙5.0开发【IPC跨进程通信中是否支持异步返回数据】应用运维

支持,将服务端的onRemoteMessageRequest函数使用async设置为异步即可。具体可以参考:API参考[onRemoteMessageRequest]中的”重载onRemoteMessageRequest方法异步处理请求示例”。

2025-04-26 17:37:43 99

原创 鸿蒙5.0开发【如何查询后台任务中短时任务/长时任务/延迟任务/后台代理提醒相关的系统日志】应用运维

以后台任务中短时任务为例。可以在日志中通过过滤关键字“C01711/TRANSIENT_TASK”来查询短时任务的状态情况,包括查询申请短时任务状态、查询对应短时任务的剩余时间和取消短时任务状态等。

2025-04-26 16:13:33 169

原创 鸿蒙5.0开发【如何确认延迟任务WorkSchedulerExtensionAbility回调方法onWorkStart、onWorkStop实现】应用运维

com.hmos.workschedulerdemo、MyWorkSchedulerExtensionAbility需要替换为需要查询应用的bundleName和abilityName。延迟任务申请成功之后,执行延迟任务回调需要等到条件满足之后,为了快速验证延迟任务回调功能是否正确,可以通过以下hidumper命令手动触发延迟任务执行回调。

2025-04-26 14:43:50 295

原创 鸿蒙5.0开发【如何确认延迟任务是否申请成功】应用运维

startWork成功之后,可以通过以下命令验证延迟任务是否申请成功,如果hidumper命令返回结果中包含对应应用的bundleName、abilityName、workId,说明对应workId的延迟任务申请成功。

2025-04-26 13:34:09 153

原创 鸿蒙5.0开发【应用运行时进程资源使用规格】应用运维

内存:资源配额2G。当内存使用连续1分钟超过2G,前台告警,后台结束进程。

2025-04-25 22:20:14 386

原创 鸿蒙5.0开发【如何申请多个长时任务】应用运维

同一时刻,一个UIAbility只能申请运行一个长时任务,需要创建多个UIAbility根据不同种类的长时任务分别申请;不同时刻可以申请不同种类的长时任务。应用在后台同时有多个任务运行,需要申请多个长时任务。

2025-04-25 21:18:33 81

原创 鸿蒙5.0开发【如何在Stage模型中创建后台任务】应用运维

Stage模型中的ServiceExtensionAbility是系统接口,第三方应用不支持调用,如何在Stage模型中创建后台任务?后台任务,包括短时任务、长时任务、延迟任务、代理提醒等。

2025-04-25 19:31:32 106

原创 鸿蒙5.0开发【如何跳转到系统文件管理App界面】应用运维

可以使用openLink的方式打开,在[openLink]接口的link字段中传入系统文件管理页面的URL信息

2025-04-25 17:00:59 409

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除