
OpenHarmony
文章平均质量分 67
开放原子基金会主导的开源操作系统,旨在构建面向万物互联的智能终端操作系统。
它采用分布式架构,支持跨设备的无缝与资源共享,适用于多种智能设备,如智能家居、可穿戴设备、车载系统等。
OpenHarmony具备轻量化、标准化和高安全性功能,支持多端统一开发与应用部署,推动物联网生态的创新与发展。
MardaWang
90后,生于鄂西北武当山下,热爱阅读,篮球,游泳,旅游等,属于非典型宅人。
OpenHarmony 2024 MVP , 鸿蒙原⽣应⽤开发培训讲师
展开
-
HarmonyOS开发,Worker线程、Taskpool线程如何与宿主线程通信
Worker支持通过PostMessage往父线程抛任务。TaskPool支持通过sendData往父线程发消息,触发任务。原创 2025-03-21 12:02:03 · 221 阅读 · 0 评论 -
HarmonyOS开发,将公钥转为十六进制或者base64进制数据
ArkTS 开发中,把公钥转换为十六进制和 Base64 编码数据的功能,以下是参考代码。原创 2025-03-21 10:52:36 · 350 阅读 · 0 评论 -
HarmonyOS 开发中条件渲染的选择:if/else 与取反操作的对比与实践
在HarmonyOS开发里,if/else条件渲染和取反操作(常借助三元运算符)都能根据不同情况设置组件属性值。下面从多个维度分析如何选择,以及各自的利弊,并附上代码示例。原创 2025-03-20 12:25:21 · 528 阅读 · 0 评论 -
HarmonyOS开发,防截屏&防录屏的api介绍及功能实现
窗口提供管理窗口的一些基础能力,包括对当前窗口的创建、销毁、各属性设置,以及对各窗口间的管理调度。window模块提供了setWindowPrivacyMode用来设置窗口隐私模式,此接口可用于禁止截屏/录屏的场景。下面将基于 setWindowPrivacyMode 接口,分别给出在鸿蒙开发中实现你所提到的两种防截屏 / 录屏方式的详细代码示例。原创 2025-03-20 11:43:00 · 1021 阅读 · 0 评论 -
HarmonyOS开发,解决Kill server failed 报错问题
当执行hdc kill命令返回 “Kill server failed operation not permitted” 错误时,意味着系统不允许你执行终止 HDC(HarmonyOS Device Connector)服务器的操作。下面是可能的原因及解决方案。原创 2025-03-19 20:12:08 · 687 阅读 · 0 评论 -
HarmonyOS开发,console.log和hilog的区别,如何选择使用?
console.log的日志业务领域、日志TAG、日志级别是固定的,其中,日志业务领域为‘A0c0d0’,日志TAG为‘JSApp’,日志级别为info。hilog日志在打印的时候,会包含4部分内容:日志业务领域、日志TAG、日志级别、日志内容,可以自定义设置日志业务领域、日志TAG、日志级别。console主要用于应用开发调试阶段。推荐使用hilog,可以对日志系统进行分类和统一处理,使用console.log打印日志,则不方便日志定位。原创 2025-03-19 20:00:48 · 618 阅读 · 0 评论 -
HarmonyOS开发,A持有B,B引用A的场景会不会导致内存泄漏,看这里!
问题 :A持有B,B引用A的场景会不会导致内存泄漏?答案 :方舟虚拟机的内存管理和GC采用的是根可达算法,根可达算法可以解决循环引用问题,不会导致A引用B,B引用A的内存泄漏。根可达算法以一系列被称为 “根对象”(如栈中的局部变量、静态变量等)作为起始点,从这些根对象开始向下搜索,能够被搜索到的对象被认为是可达对象,而那些无法被搜索到的对象则被判定为不可达对象,会在垃圾回收时被清理。所以,即使存在对象之间的循环引用,只要它们都不可达(即没有根对象能引用到它们),就会被回收。1. 定义类 A :2. 定义原创 2025-03-18 16:26:32 · 783 阅读 · 0 评论 -
harmonyOS开发,如何使用Record,将一种类型的属性映射到另一种类型
在 HarmonyOS 开发中,如果你提到的“使用Record”指的是 TypeScript 里的Record类型工具,并且想要将一种类型的属性映射到另一种类型,下面会结合具体示例详细介绍操作方法。原创 2025-03-18 15:46:57 · 421 阅读 · 0 评论 -
HarmonyOS开发,深拷贝、浅拷贝的封装和调用
在 HarmonyOS 开发中,实现深拷贝和浅拷贝可以通过封装工具类来完成。下面分别介绍浅拷贝和深拷贝的实现方式,并将它们封装成一个工具类。原创 2025-03-17 20:53:44 · 491 阅读 · 0 评论 -
不可忽视的细节:HarmonyOS应用 编译态包结构 & 发布态包结构
当应用发布上架到应用市场时,需要将Bundle打包为一个.app后缀的文件用于上架,这个.app文件称为App Pack(Application Package),与此同时,DevEco Studio工具自动会生成一个pack.info文件。每个应用中至少包含一个.hap文件,可能包含若干个.hsp文件、也可能不含,一个应用中的所有.hap与.hsp文件合在一起称为Bundle,其对应的bundleName是应用的唯一标识(详见app.json5配置文件中的bundleName标签)。原创 2025-03-13 18:53:24 · 465 阅读 · 0 评论 -
技巧分享:不建议在高频函数中使用Hilog
高耗时函数处理场景下,建议优先修改。原创 2025-03-13 15:19:39 · 217 阅读 · 0 评论 -
终于等到你! DevEco CodeGenie接入 DeepSeek,助您高效开发鸿蒙应用及元服务!
随着小艺接入了 DeepSeek,智能体的问答变得更加丝滑流畅,让人不禁想到鸿蒙原生应用开发如果接入这个智能体会产生什么样的效果?确实,当我们把负责开发原生鸿蒙应用的 DevEco Studio 联合小艺接入 DeepSeek 后,这 4 个亮点迫不及待要和大家分享:只需轻松两步,就可以在 DevEco Studio 中使用 DeepSeek!原创 2025-03-12 18:56:31 · 789 阅读 · 0 评论 -
HarmonyOS 应用程序包结构 (发布态)
pack.info文件描述了App Pack中每个HAP和HSP的属性,包含APP中的bundleName和versionCode信息、以及Module中的name、type和abilities等信息。每个应用中至少包含一个.hap文件,可能包含若干个.hsp文件、也可能不含,一个应用中的所有.hap与.hsp文件合在一起称为Bundle,其对应的bundleName是应用的唯一标识(详见app.json5配置文件中的bundleName标签)。开发者可以根据实际场景所需的能力,选择相应类型的包进行开发。原创 2025-03-07 17:08:07 · 440 阅读 · 0 评论 -
HarmonyOS 应用程序包结构 (编译态)
在编译HAP和HSP时,会把他们所依赖的HAR直接编译到HAP和HSP中。原创 2025-03-07 15:42:00 · 392 阅读 · 0 评论 -
鸿蒙开发中,数据持久化之Transaction(事务)的概念及应用
以常见的转账功能为例,A 账户向 B 账户转账一般包含两个独立步骤:先从 A 账户扣除相应金额,再将同等金额存入 B 账户。在没有事务保障的情况下,这两个独立操作可能出现不一致的结果,比如 A 账户扣钱成功,但 B 账户却未收到款项,这种情况会严重影响系统数据的准确性和业务的正常运行。而事务机制就能很好地解决这个问题,当某个操作失败时,它可以将所有操作回滚到初始状态,确保数据的一致性和完整性。在鸿蒙开发中,rdbStore提供了和rollBack()方法来实现事务,从而保证操作的原子性。原创 2025-03-04 19:21:24 · 610 阅读 · 0 评论 -
为什么Navigation系统路由表不依赖目标模块却能实现跳转? Navigation跨模块跳转原理分析
Navigation组件跳转到跨包路径时使用系统路由表只需目标路径的名称,不需要在依赖里声明目标模块。但是使用自定义路由表进行动态import却需要声明目标依赖。系统路由表是如何做的不需要依赖却能跳转的?以下从多个方面深入剖析鸿蒙中Navigation。原创 2025-02-27 18:51:21 · 814 阅读 · 0 评论 -
鸿蒙开发中的 RawFile:功能、特性与使用示例
RawFile 主要用于存放原始资源文件,这些文件不会经过编译处理,而是以原始形式存在并被应用程序使用。这种特性使得 RawFile 在处理一些特定类型的资源时具有独特的优势。RawFile 在鸿蒙开发中扮演着重要的角色,它为开发者提供了一种方便、高效的方式来管理和使用原始资源文件。通过了解 RawFile 的功能特性和使用方法,开发者可以更好地利用这一机制,提升应用程序的开发效率和资源管理能力。同时,在使用过程中要注意其线程安全问题,合理处理文件操作,避免出现数据不一致或资源泄漏等问题。原创 2025-02-26 18:24:11 · 943 阅读 · 0 评论 -
HarmonyOS开发,遇到 Object.assign(this, source)报错怎么解决?
最近在升级某个api 9 的鸿蒙项目到api 12,发现项目中较多用到如下图所示这样的代码,然后升级到api12就会编译报错:Usage of standard library is restricted (arkts-limited-stdlib)。ArkTS 是基于 TypeScript 进行扩展的,虽然大部分 TypeScript 语法和标准库可以使用,但由于 HarmonyOS 平台的特殊性,部分标准库的功能可能无法正常工作,因此对其使用进行了限制。原创 2025-02-20 18:15:11 · 713 阅读 · 0 评论 -
HarmonyOS开发中断点续传的简单实现
背景:看到某技术交流群有朋友咨询断点续传是什么,怎么实现,寻思写篇短文简单介绍一下。 在应用开发中,断点续传功能通常指在文件上传或下载过程中,当因网络中断、应用崩溃等原因导致传输中断后,能够从上次中断的位置继续进行传输。原创 2025-02-20 15:09:32 · 556 阅读 · 0 评论 -
鸿蒙开发中,使用DFX工具,快速检测定位鸿蒙应用内存泄露问题
鸿蒙系统中的内存泄漏检测机制主要包括以下几个方面:JavaScript内存泄漏(JS_LEAK) :当JavaScript运行时的heap使用量超过85%或者遇到内存耗尽(OOM)时,系统会捕捉heapdump信息,并同步上报故障。Native内存泄漏(PSS_MEMORY) :系统会监控应用进程的动态内存使用情况,当动态内存峰值超过平均基线值的两倍时,会判定为内存泄漏,并触发相应的管控措施。原创 2024-12-18 12:45:19 · 594 阅读 · 0 评论 -
DFX子系统之hiview、hiview_lite日志组件介绍
在OpenHarmony中,DFX(Design for X)是为了提升质量属性软件设计,目前包含的内容主要有:DFR(Design for Reliability,可靠性)和DFT(Design for Testability,可测试性)特性。提供以下功能:HiLog流水日志。HiView插件平台。FaultLoggerd应用故障收集和订阅。HiAppEvent应用事件记录接口及框架。HiSysEvent系统事件记录接口及服务。原创 2024-12-18 12:44:28 · 905 阅读 · 0 评论