- 博客(196)
- 资源 (3)
- 收藏
- 关注
原创 【HarmonyOS 5】初学者如何高效的学习鸿蒙?
在全球科技格局风云变幻的当下,谷歌安卓系统的管控逐步收紧,加之国际形势愈发复杂,打造中国人自主的操作系统,已成为时代发展的必然要求,这不仅是突破技术瓶颈的关键之举,更是构建国内自主生态闭环的核心所在。鸿蒙操作系统,正是顺应这一趋势的前沿探索,其研发代表了我国操作系统领域的重要方向。2021 年 6 月 2 日,华为举办鸿蒙操作系统及华为全场景新品发布会,正式发布面向智能手机的鸿蒙操作系统 2.0 版本,并且支持 Java 语言进行开发。
2025-03-29 18:17:18
1206
原创 【HarmonyOS NEXT】EventHub和Emitter的使用场景与区别
和EventHub不同的是,事件广播的内容,也进行了约束。发送事件时传递的数据,支持数据类型包括Array、ArrayBuffer、Boolean、DataView、Date、Error、Map、Number、Object、Primitive(除了symbol)、RegExp、Set、String、TypedArray,数据大小最大为16M。标准的事件广播通知,订阅,取消订阅的处理。多了事件id和优先级的概念。获得到EventHub单例对象后,就可以调用emit发送事件,on监听事件,off取消监听事件。
2025-03-26 22:49:06
1195
1
原创 【HarmonyOS Next】鸿蒙应用弹框和提示气泡详解(二)之浮层(OverlayManager),半模态页面(bindSheet),全模态页面(bindContentCover)详解
上期围绕 HarmonyOS Next 最新API趋势,介绍了鸿蒙应用中最新的自定义弹框和提示气泡的使用。在鸿蒙ArkUI响应式布局中,早期弹框 Dialog 和提示气泡 Toast 与 UI 绑定,在纯逻辑类文件中使用不便,后续 API 迭代实现了解耦,且与 UI 强绑定的方式已不推荐。接着详细讲解了鸿蒙中弹框的使用,弹框有系统定制弹框(包括基础弹框如警告弹框、列表弹窗,以及带业务性质的 PickerDialog 弹框如日历选择器弹窗等)和自定义弹框两种方式,并给出了相应示例代码。
2025-03-26 16:44:18
733
原创 【HarmonyOS Next】鸿蒙中App、HAP、HAR、HSP概念详解
综上所述,HAR 是静态共享包,HSP 是动态共享包,它们和 HAP(应用的基本功能模块)一起被打包成 App Pack(应用发布形态)用于应用的发布与分发。
2025-03-19 23:38:42
1299
原创 【HarmonyOS Next】鸿蒙中自定义弹框OpenCustomDialog、CustomDialog与DialogHub的区别详解
1. 官方迭代过程为迭代过程表明,弹框的调用越来越便捷,与UI解耦,最终达到在纯逻辑中使用自定义弹出,弹框内容更新和生命周期可控,写法简洁。首先需要创建@CustomDialog装饰的自定义弹框布局,CustomDialogController来实现弹窗弹出和关闭。// CustomDialog可直接获取到dialogController// 定义事件回调给外部使用onClose?build() {Column() {Text('我是内容')// 点击关闭弹框@Entry。
2025-03-18 23:16:54
1325
原创 【HarmonyOS Next】鸿蒙应用实现弹框DialogHub详解
鸿蒙中实现弹框目前官方提供openCustomDialog和CustomDialog两种模式。UI强绑定的实现方式API已标注不推荐。推荐使用UI框架层预留挂靠节点的方式,即openCustomDialog。这两者的差别详见【HarmonyOS Next】鸿蒙应用弹框和提示气泡详解(一)DialogHub底层实现原理为,使用浮层OverlayManager➕半模态页面bindSheet来实现弹框。可以达到我们在传统Android和IOS开发中,弹框与页面生命周期绑定的效果(页面隐藏,弹框隐藏。
2025-03-18 17:59:53
498
原创 SourceTree的安装与使用
作为可视化Git管理工具,SourceTree可以避免我们使用命令进行常规的代码拉取,更新,合并等操作。鼠标点点就可以完成代码管理的工作。所以强烈推荐可视化的工具。不过SourceTree还是有点bug,比如大数据量的操作会卡死,平常操作可以注意下。
2025-03-17 11:23:01
484
原创 【HarmonyOS Next】鸿蒙应用常规面试题和答辩思路参考
建议根据自己的实际项目经验来准备。因为如果不是自己的开发的功能,面试官逐步问到细节,会导致出问题。当然能力强无所谓。复杂度亮眼的功能,突出自己的工作能力,学习能力和解决问题的能力即可。
2025-03-13 16:51:41
1075
2
原创 【HarmonyOS Next】鸿蒙应用弹框和提示气泡详解(一)
应用开发中我们会很频繁的接触,弹框Dialog和提示气泡Toast的使用。移动开发的同学会比较熟悉。不过在鸿蒙的响应式布局中,使用鸿蒙早期提供的弹框Dialog和提示气泡Toast,会很不方便。因为是和UI绑定在一起,在纯逻辑类文件中使用不了。因为该历史问题,后续API迭代时,对鸿蒙的弹框Dialog和提示气泡Toast进行了升级。目前可以在纯逻辑类中使用,与UI进行了解耦。迭代优化过程从page界面UI上弹出 =》挂靠子窗口实现弹出=》UI框架层预留挂靠节点。
2025-03-10 16:00:20
645
原创 【HarmonyOS Next】鸿蒙应用加载SVG文件显示图标
r 是资源引用函数,media.icon 表示引用 media 目录下名为 icon 的资源文件。这里会加载 entry/src/main/resources/base/media 目录下的 icon.svg 文件。SVG 使用 XML 文本格式来描述图形,与传统的位图图像(如 JPEG、PNG 等)不同,SVG 图形是由一系列的点、线、形状和颜色定义组成的,而不是像素点。首先将 SVG 文件放置在项目的 entry/src/main/resources/base/media 目录下。
2025-03-10 10:47:09
431
原创 【HarmonyOS Next】鸿蒙加固方案调研和分析
根据鸿蒙应用的上架流程,本地构建app文件后,上架到AGC平台,平台会进行解析。根据鸿蒙系统的特殊设置,仿照IOS的生态闭环方案。只能从AGC应用市场下载app进行安装。这样的流程一定程度上提高了防破解和逆向的成本。但应用代码防逆向是一个持续攻防对抗的过程,如对代码文件保护有更高的要求,需要结合其他安全加固措施,进一步提高逆向分析应用的难度。
2025-03-09 19:41:39
1181
原创 【HarmonyOS Next】鸿蒙应用故障处理思路详解
一般碰到内存泄漏,根据提供的复现步骤,很多情况下是非必现。根据复现步骤,我们需要查看日志表现,鸿蒙的DevEco IDE提供了日志看板,根据HiLog和FaultLog,我们可以初步区分崩溃问题的类型。因为提供复现步骤得人,可能是用户和测试,非开发人员,其中的步骤并非最短路径。一般是由于耗时操作,导致堵塞主线程。这种问题排查起来是最麻烦的,所以保持良好的代码编程规范,不需要的对象该释放释放,不用的句柄也需要释放。可以根据JS Crash提示的错误行数,直接点击跳转到错误代码处,根据提示检查和修复问题。
2025-03-09 17:54:00
951
原创 【HarmonyOS Next】鸿蒙状态管理装饰器V1和V2混用方案
大量使用的都是V1方案。原则上,只使用@ObservedV2与@Trace装饰器来解决深层嵌套对象更新UI的问题。暂时不使用其他的V2装饰器,其他的状态管理依旧使用V1即可。当需要监听处理更新的多层级对象是七八层,就需要配套创建七八层的ObjectLink,代码太过于冗余。V2就是为了解决该问题,华为官方才提出的新状态管理装饰器方案。该方案在解决该问题的基础上,也对V1的进行加强。但是不用V2,前面提到的嵌套更新问题又需要好的方案解决。所以就需要V1和V2混用。所以官方V1和V2目前是相关独立,也可混用。
2025-02-27 11:47:54
838
原创 【HarmonyOS Next】鸿蒙应用折叠屏设备适配方案
目前应用上架华为AGC平台,都会被要求适配折叠屏设备。目前华为系列的折叠屏手机,有华为 Mate系列(左右折叠,华为 Mate XT三折叠),华为Pocket 系列(上下折叠)。
2025-02-27 10:23:04
1749
原创 【HarmonyOS Next】鸿蒙TaskPool和Worker详解 (一)
【内存共享并发模型指多线程同时执行任务,这些线程依赖同一内存并且都有权限访问,线程访问内存前需要抢占并锁定内存的使用权,没有抢占到内存的线程需要等待其他线程释放使用权再执行。从而最大化系统的利用率,降低整体资源消耗,并提高系统的整体性能。现在Worker同个进程下,最多支持同时开启64个Worker线程,实际数量由进程内存决定。互相之间不打扰,内存不共享,通过消息进行传递,线程间进行通信传输。在鸿蒙中通过TaskPool和Worker实现多线程并发,两者都基于Actor并发模型实现。
2025-02-26 18:00:34
775
原创 【HarmonyOS Next】 共享HSP和应用内HSP,useNormalizedOHMUrl详解
例如,在加载一些远程模块或者资源时,可能需要将基础 URL 和具体的资源路径进行拼接,并且要确保生成的 URL 格式符合要求,避免出现多余的斜杠、编码问题等。useNormalizedOHMUrl 为true的时候ohmurl使用的是新的拼接和解析方式,不能和旧的ohmurl混用,会导致运行时无法识别。关于字节码HAR包,指的是其中包含的是编译后的abc字节码,相比包含源码的HAR和包含js中间码的HAR,可以有效提升应用模块的编译构建效率。ohmurl使用的是新的拼接和解析方式。
2025-02-26 10:35:41
839
原创 【HarmonyOS Next】鸿蒙应用公钥和证书MD5指纹的获取
华为AppGallery Connect简称 AGC平台,是我们的鸿蒙应用进行上架和开发生产和测试证书配置的管理后台。政府的icp备案时,或者某些三方SDK以来的管理后台,都需要配置鸿蒙应用的公钥和证书MD5指纹。根据提示去配置证书公钥:(此时将相关信息粘贴走即可。
2025-02-25 17:28:19
715
原创 【HarmonyOS Next】鸿蒙循环渲染ForEach,LazyForEach,Repeat使用心得体会
Repeat提供了两种模式non-virtualScroll模式和virtualScroll模式。non-virtualScroll模式类似于ForEach的使用。渲染短数据列表、组件全部加载的场景。@Entry@Local tempList: Array<string> = ['第一行代码', '开发艺术探索', '入门到精通'];build() {Row() {Column() {Text('点击修改第1个数组项的值')
2025-02-24 14:34:54
1144
原创 【HarmonyOS Next】拒绝权限二次申请授权处理
综上所述,当应用通过requestPermissionsFromUser()拉起弹框请求用户授权时,用户拒绝授权。应用将无法再次通过该接口申请权限拉起弹框,需要用户在系统应用“设置”的界面中,手动授予权限。之前的通用方案是,跳转到应用设置界面,让用户自己去手动设置同意所需的权限。应用此种情况下,可以通过调用requestPermissionOnSetting(),直接拉起权限设置弹框,引导用户授予权限。当用户选择不允许后,再次向用户申请权限,该弹框就不会再显示。因为鸿蒙系统机制处理如此,为了避免骚扰用户。
2025-02-23 21:26:41
664
原创 【HarmonyOS Next】鸿蒙状态管理V2装饰器详解
Local可理解为v1版本的@State,当被@Local装饰的变量变化时,会刷新使用该变量的组件。
2025-02-23 21:14:06
1128
原创 【HarmonyOS Next】鸿蒙应用进程和线程详解
进程是系统进行资源分配的基本单位,是操作系统结构的基础。在鸿蒙系统中,一个应用下会有三类进程(1)主进程(2)ExtensionAbility进程,同一种类型的ExtensionAbility会放在一个进程里。例如FromExtensionAbility,创建了两个,也会在同一个进程里。ExtensionAbility组件(3)WebView渲染进程,用于网页容器渲染的进程。【这种设计提升了鸿蒙系统中arkWeb的网页容器渲染能力】
2025-02-19 16:59:20
804
原创 【HarmonyOS Next】鸿蒙监听手机按键
应用开发中我们会遇到监听用户实体按键,或者扩展按键的需求。亦或者是在某些场景下,禁止用户按下某些按键的业务需求。这两种需求,鸿蒙都提供了对应的监听事件进行处理。onKeyEvent 默认的按钮监听事件onKeyPreIme 这是优先级最高的监听回调,别上面多了一个return开关,用于告诉系统监听事件是否再向下传递。窗口是第一级接收按钮事件的实体。后续会传递给后三级。
2025-02-19 14:55:23
976
2
原创 【Vue 3.0】Vue介绍和开发环境安装与配置
1.Vue是什么?Vue (发音为 /vjuː/,类似 view) 是一款用于构建用户界面的JavaScript框架。Vue.js(通常简称为 Vue)采用了组件化的架构,允许将一个复杂的用户界面分解为多个可复用的组件,每个组件都有自己的 HTML 模板、JavaScript 逻辑和 CSS 样式。这使得开发人员可以更加高效地组织和管理代码,提高代码的可维护性和可扩展性。无论是简单还是复杂的界面,Vue都可以胜任。
2025-02-12 11:05:01
971
原创 【HarmonyOS NEXT】systemDateTime 时间戳转换为时间格式 Date,DateTimeFormat
在鸿蒙应用开发中,经常需要将时间戳转化为标准时间格式。即:一串数字转化为年月日时分秒。时间戳通常是一个长整型的数字,如,对于普通用户来说,这个数字没有实际的意义,他们难以从中获取到有用的时间信息。而将其转换为常见的时间格式,如,用户可以直观地了解到具体的日期和时间,极大地提升了信息的可读性。因为鸿蒙应用开发使用ArkTS包含于TypeScript语言,所以我们可以通过传统的Date对象解析进行时间戳转化时间格式的处理。不过在鸿蒙系统API中,提供了用于国际化时间格式转化的接口。
2025-02-07 17:23:04
1339
原创 【HarmonyOS NEXT】设备显示白屏 syswarning happended in XXX
该问题是因为启动页没有注册导致,需要在路由表中添加路径(resources - base - profile - main_pages )创建页面时,通过右键New - Page 进行创建,IDE会自动加入到路由表中。添加完成后,重新同步项目,启动即可正常加载。运行启动鸿蒙应用项目,
2025-02-07 17:05:35
787
原创 【HarmonyOS NEXT】鸿蒙三方应用跳转到系统浏览器
从三方应用跳转到系统浏览器是比较常见的功能。三方应用的功能通常相对聚焦和特定,无法涵盖用户可能需要的所有网络浏览需求。跳转到系统浏览器能让用户访问更广泛的网页内容,弥补三方应用自身功能的局限性,如在购物应用中点击外部链接查看商品评测、在阅读应用中打开链接获取更多背景知识等。不同的应用场景对浏览体验有不同要求。有些场景下,用户需要在应用内进行深度交互,而在另一些场景下,可能更需要系统浏览器提供的通用、全面的浏览功能,如全屏浏览、多标签页管理等。
2025-01-20 18:02:57
1014
原创 【HarmonyOS NEXT】鸿蒙跳转华为应用市场目标APP下载页
随着鸿蒙系统用户越来越多,大家都希望能在鸿蒙设备上快速找到想用的 APP。华为应用市场里有海量的 APP,但之前从鸿蒙设备进入应用市场找特定 APP 的过程有点繁琐。站在用户体验方面,这么做能大大节省用户找 APP 的时间,让大家更快下载想用的应用,极大地提升用户使用鸿蒙设备获取应用的体验。从开发角度来说,打通鸿蒙设备到华为应用市场目标 APP 下载页的直接跳转,能优化整个开发链路。从产品需求出发,这能提升应用分发的效率,助力产品推广。跳转目标app的下载页,需要知道其包名即可。
2025-01-14 16:56:34
942
1
原创 【HarmonyOS NEXT】鸿蒙应用点9图的处理(draw9patch)
首先在鸿蒙中是不支持安卓 .9图的图片直接使用。只有类似拉伸的处理方案,鸿蒙提供的Image组件有与点九图相同功能的API设置。可以通过设置resizable属性来设置ResizableOptions,也就是图像拉伸时可调整大小的图像选项。ResizableOptions的参数slice中有top、left、bottom和right四个属性,分别代表图片上下左右四个方向拉伸时保持不变距离。
2025-01-06 20:42:29
877
原创 【HarmonyOS NEXT】鸿蒙应用使用后台任务之长时任务,解决屏幕录制音乐播放等操作不被挂起
1.后台是什么?了解后台任务和长时任务前,我们需要先明白鸿蒙的后台特性:所谓的后台,指的是设备返回主界面、锁屏、应用切换等操作会使应用退至后台这个状态。2.鸿蒙系统为什么这么做?当应用退至后台后,如果继续活动,可能会造成设备耗电快、用户界面卡顿等现象。鸿蒙系统为了降低设备耗电速度、保障用户使用流畅度,系统会对退至后台的应用进行管控,包括进程挂起和进程终止。3.会有什么问题?当系统将应用挂起后,应用进程无法使用软件资源(如公共事件、定时器等)和硬件资源(CPU、网络、GPS、蓝牙等)。
2025-01-06 15:11:09
947
原创 【HarmonyOS NEXT】鸿蒙应用实现屏幕录制详解和源码
官方文档关于屏幕录制的API和示例介绍获取简单和突兀。使用其他会让上手程度变高。所以特意开篇文章,讲解屏幕录制的使用。使用AVScreenCaptureRecorder录屏写文件(ArkTS)
2025-01-05 21:38:46
1286
2
原创 【HarmonyOS NEXT】鸿蒙应用如何进行页面横竖屏切换以及注意事项,自动切换横竖屏,监听横竖屏
鸿蒙应用如何进行页面横竖屏切换以及注意事项,自动切换横竖屏,监听横竖屏
2025-01-03 16:23:13
999
1
原创 【HarmonyOS NEXT】解决自定义弹框遮挡气泡提示的问题
弹框和气泡,dialog和toast。是我们应用开发中常用的两种提示媒介。在鸿蒙应用中,如果自定义弹框在底部展示时,又弹出气泡进行提示,会发现气泡在弹框层级之下。会被遮挡住,影响气泡的显示。
2024-12-30 18:32:05
531
原创 【HarmonyOS NEXT】解决自定义弹框和键盘之间安全距离的问题
我们在应用开发评论输入框时,常规的需求样式是:输入框view和键盘贴近,上半部展示信息区的形式,这样的设计,方便用户不割裂的去评论发言。但是在使用鸿蒙提供的自定义弹框时,会发现键盘和弹框之间有个安全空隙。就算弹框布局是置底,每次显示键盘都会将弹框顶上去。自定义弹框源码@Componentcontroller?build() {Column() {})@Entry@Component}),},})// 在自定义组件即将析构销毁时将dialogController置空。
2024-12-30 17:20:07
1219
2
原创 【HarmonyOS NEXT】鸿蒙arrayBuffer和Uint8Array互相转化
【HarmonyOS】鸿蒙arrayBuffer和Uint8Array互相转化。
2024-12-27 17:51:31
872
原创 【HarmonyOS NEXT】鸿蒙应用压缩和解压处理
鸿蒙应用中经常会遇到使用压缩包的场景。例如H5的离线包逻辑,需要提前将资源包下载到本地,进行压缩操作获取资源。
2024-12-27 17:17:43
1246
原创 【HarmonyOS NEXT】鸿蒙将资源文件夹Resource-RawFile下的文件存放到沙箱目录下
应用开发中,我们经常会遇到一些文件原先是放在资源文件夹 rawfile下,但是逻辑处理时,需要转移到本地沙箱才能操作。这种情况下,就需要将将资源文件夹Resource-RawFile下的文件存放到沙箱目录下。在鸿蒙系统中,文件存储分为不同的域,如应用内部存储(应用私有目录)和外部存储(公共目录等)。而rawfile是一种资源文件类型,通常在应用开发过程中作为原始文件被打包进应用的资源目录。在鸿蒙中,应用仅能保存文件到“应用文件目录”下,根据目录的使用规范和注意事项来选择将数据保存到不同的子目录中。
2024-12-26 18:53:52
1100
原创 【HarmonyOS NEXT】鸿蒙使用ScanKit实现自定义扫码 (二)之解析相册图片二维码
1.从相册中选图,目前最简单的方式是 PhotoPicker/*** 去相册选择图片*/try {// 设置筛选过滤条件// 选择用户选择数量// 实例化图片选择器// 唤起安全相册组件if (err) {return;// 用户选择确认后,会回调到这里。});2.将拿到的图片信息给scanKit提供的decode接口进行解析二维码/*** 解析图片码数据*/if(uri){uri: uri,scanCore],// 开启识别多码try {
2024-12-24 11:25:01
500
原创 【HarmonyOS NEXT】如何读取Raw下的JSON文件内容
读取工程中/resources下json文件,json文件推荐放在rawfile路径下,通过getRawFileContent接口访问。但是通过该接口拿到的是Uint8Array类型数据,那怎么拿到JSON的文本内容?2.通过util.TextDecoder设置编码,解析字节流内容转化为string文本。1.首先通过getRawFileContent拿到文件的字节流内容。
2024-12-24 11:02:48
694
原创 【HarmonyOS NEXT】鸿蒙使用ScanKit实现自定义扫码 (一)之业务流程和扫码
鸿蒙官方提供了ScanKit来实现自定义扫码的功能诉求。但是对于扫码业务的讲解缺失,所以这篇文章主要是通过扫码业务路程,串连官方Kit的接口。让大家能更深刻的理解自定义扫码业务。官方Scan Kit接口说明扫码直达自定义扫码,图像识码 (自定义扫码需要这两种能力组合在一起,所以我分类在一起)码图生成系统提供的默认界面扫码扫码(单,多)【鸿蒙最多支持四个二维码的识别】解析图片二维码扫码动画扫码振动和音效无网络监测与提示多码暂停选中点的绘制。
2024-12-20 15:32:26
961
4
原创 【HarmonyOS NEXT】HarmonyOS和React Native混合开发 (一)之环境安装
React Native 也是声明式的组件开发,与ArkTS类似。相较于React Native在Android和IOS上,将js和react组件代码转化成对应的原生UI控件,实现原生UI的思路。HarmonyOS和React Native混合开发首先需要安装各自的开发环境。直接将js和react组件代码转化成了ArkUI的后台Cpp信息,并非转化为ArkUI控件,这样的思路提升了很高的渲染效率。与flutter不同的是,RN偏向于前端开发语言去实现跨平台应用的效果。而前者的开发思路偏重。
2024-12-19 22:15:58
1382
HaronyOS+BLE蓝牙DEMO
2024-11-15
HarmonyOS 蓝牙配对Demo TestBlueTooth
2024-08-25
tsetActivity.rar
2019-11-30
org.ucdetector_1.10.0.jar
2016-09-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人