- 博客(98)
- 资源 (1)
- 收藏
- 关注
原创 鸿蒙6.0应用开发——模块化设计选型:HAP、HAR、HSP?
模块化在HarmonyOS中超越简单的代码分解,它是一种为多设备协同与团队并行开发量身定制的架构哲学。其核心在于通过**契约化接口**,将应用拆分为可独立开发、测试、部署的功能单元。这不仅提升了代码的可维护性,更重要的是为应用的**按需分发**与**跨设备能力流转**提供了基石。
2026-01-28 09:07:00
963
原创 鸿蒙6.0应用开发——V2装饰器@Event的使用
本文介绍了ArkTS框架中@Event装饰器的使用场景与实现原理。@Event主要用于装饰子组件的回调方法,作为与父组件通信的"输出口",解决@Param变量本地不可修改的限制。通过@Event回调触发父组件更新数据源,再经@Local机制同步回子组件,实现数据双向绑定。文章通过表单输入和状态联动两个案例,展示了单向/双向同步的实现方式,并对比了引用传递与值传递的区别。合理使用@Event装饰器可以构建松耦合的组件架构,实现父子组件间的灵活数据交互。
2026-01-29 11:16:05
1060
原创 鸿蒙6.0应用开发——丰富多彩的菜单(Menu)
Menu是菜单接口,一般用于鼠标右键弹窗、点击弹窗等。具体用法请参考菜单控制。使用bindContextMenu并设置预览图,菜单弹出时有蒙层,此时为模态。使用bindMenu或bindContextMenu未设置预览图时,菜单弹出无蒙层,此时为非模态。
2026-01-29 11:15:18
1413
原创 鸿蒙6.0应用开发面试——ArkUI界面面试问题
ArkUI是鸿蒙(HarmonyOS)的声明式 UI 开发框架,为应用界面开发提供基础设施,支持高效构建高性能、跨设备的用户界面。
2026-01-28 09:08:58
1110
原创 鸿蒙PC应用开发——挪移布局与缩进布局
挪移布局是指在空间充足时,通过调整组件的位置与展示方式,在左右布局与上下布局之间切换,用以展示更多内容或提高用户体验。常用的挪移布局包括插图和文字组合布局、底部/侧边导航。
2026-01-27 09:29:22
1702
原创 鸿蒙6.0应用开发——V2装饰器@Monitor的使用
摘要: @Monitor是ArkTS状态管理V2中的深度监听装饰器,支持监听嵌套对象、多维数组等复杂数据结构的变化。需配合@ObservedV2和@Trace使用,通过IMonitor接口获取变化路径(dirty)及新旧值(value())。相比@Watch,@Monitor具备多属性联合监听(单事件合并触发)、深度监听、完整值对比等优势。典型应用场景包括:监听类属性变化(需装饰器组合)、数组元素/长度监控、动态路径解析等。案例演示了基本变量、复杂对象及数组的监听实现,突出新旧值追踪能力。
2026-01-27 09:28:42
1263
原创 鸿蒙6.0应用开发——Repeat组件的使用
摘要: Repeat是基于数组数据的循环渲染组件,需与List等滚动容器配合使用,支持懒加载和节点复用。其核心特性包括:仅渲染可视区域及预加载节点(默认1个,可调整);子组件需匹配容器类型(如List中需为ListItem);支持通过.template()定义多模板并根据条件切换。案例展示了全量加载与懒加载(virtualScroll+cachedCount)的性能对比,以及多模板按索引动态渲染的效果。注意事项包括:避免混用V1装饰器、不支持动画、单容器内仅允许一个Repeat等。通过合理配置可显著提升长列
2026-01-20 11:02:45
1637
原创 鸿蒙6.0应用开发面试——应用程序包问题
用户应用程序是指运行在设备操作系统之上,为用户提供特定服务的程序,简称“应用”。一个应用所对应的软件包文件,称为“应用程序包”。
2026-01-20 11:02:16
1543
原创 鸿蒙6.0应用开发——V2装饰器@ObservedV2和@Trace的使用
摘要: HarmonyOS状态管理V2引入@ObservedV2和@Trace装饰器,实现深度嵌套类属性变化的精准观测。核心特性包括: 协同使用:必须同时装饰类(@ObservedV2)和属性(@Trace)才能生效; 精细更新:仅@Trace标记的属性变化会触发关联组件刷新; 嵌套支持:支持多层嵌套类及继承关系,父/子类属性均可观测; 限制条件:类实例不可JSON序列化,需通过new实例化,且不与V1装饰器混用。 对比V1版本,V2减少50%以上代码量,实现属性级更新。案例显示,未装饰时需重建对象才能刷新
2026-01-19 11:16:11
1344
原创 鸿蒙6.0应用开发——多线程批量插入数据
应用中的每个进程都会有一个主线程,主线程主要承担执行UI绘制操作、管理ArkTS引擎实例的创建和销毁、分发和处理事件、管理Ability生命周期等职责,具体可参见线程模型概述。在主线程中执行耗时操作将会引起UI绘制卡顿,因此,开发应用时应当尽量避免将耗时的操作放在主线程中执行。ArkTS提供了多线程并发能力,多线程并发允许在同一时间段内同时执行多段代码,本文介绍如何利用多线程解决密集型文件和数据库读写时造成主线程阻塞的问题。
2026-01-19 11:15:36
1750
原创 鸿蒙6.0应用开发——仿朋友圈富文本编辑器开发
在移动应用开发中,富文本编辑器是社交、评论、笔记等场景的核心组件。ArkUI提供了RichEditor组件,支持图文混排和交互式文本编辑。本文旨在探讨如何使用RichEditor组件,在内容发布场景中实现自定义表情、@好友、添加话题等功能,并提供示例代码详细拆解细节逻辑,如@好友如何被视为一个整体,编辑器中内容如何获取并归一化处理等。
2026-01-13 10:01:48
1750
原创 鸿蒙6.0应用开发——ArkUI组件动态化FrameNode
在传统的声明式开发范式中,组件只能在`build()`生命周期中创建,这常常导致页面加载缓慢、用户体验不佳。ArkUI框架为此引入了**组件动态操作**机制,允许开发者在非`build()`阶段进行组件的预创建、动态添加、更新和卸载。
2026-01-10 09:07:40
1767
原创 鸿蒙6.0应用开发——仿微博文本折叠
列表中的博文、评论等复合型内容组件,在文本行数超过预设阈值时,触发“展开”“收起”的功能。内容收起时,如果有用“图片”展示“表情”的功能场景,由于图片出现的位置和大小都不固定,在收起展开时,截止到文字结尾的位置不好判断。
2026-01-10 09:02:09
1150
1
原创 HarmonyOS 6.0应用开发——V2装饰器@once的使用
在鸿蒙ArkTS开发中,`@Once`装饰器用于实现子组件仅接受父组件传递的初始值,后续父组件数据变化不再同步至子组件。以下是其核心要点:
2026-01-09 15:00:00
1736
原创 鸿蒙6.0应用开发——事件传递原理
在复杂的应用界面中,多个组件嵌套时同时绑定手势事件,或者同一个组件同时绑定多个手势,都有可能导致手势事件产生冲突,达不到用户的预期效果。本文从事件响应的机制入手,介绍手势触发的基本流程,以及如何响应手势事件,了解背后的执行原理,并用来解决冲突问题等。
2026-01-09 09:51:14
1658
原创 HarmonyOS 6.0应用开发——V2装饰器@local的使用
@Local是专为ComponentV2设计的组件内部状态管理装饰器,强调状态封装性(禁止外部传值初始化)。支持基本类型和复杂数据结构的状态观测,通过不同触发机制实现UI刷新。相比@State,@Local具有更严格的初始化规则、更精细的观测能力,适用于API 12+的新组件体系。典型使用场景包括按钮计数、列表数据更新等,但不能用于父子组件传值。示例代码展示了数值增减、数组操作等场景的应用方式。
2026-01-08 17:00:00
1683
1
原创 鸿蒙PC开发——重复布局
重复布局是指在空间充足时,重复使用相同或相似的结构、组件或排列方式,用以展示更多内容、保持视觉一致性并提高用户体验。常用的重复布局包括列表布局、瀑布流布局、轮播布局和网格布局。
2026-01-08 10:37:50
1648
3
原创 鸿蒙6.0应用开发——ArkUI组件复用@Resuable
组件复用是指自定义组件从组件树上移除后被放入缓存池,后续在创建相同类型的组件节点时,直接复用缓存池中的组件对象。
2026-01-08 10:36:13
1788
7
原创 鸿蒙6.0应用开发——Window和Display获取屏幕信息
在鸿蒙中有window和Display两个模块管理屏幕的相关信息,包括屏幕宽高、屏幕分辨率、屏幕刷新率、通知栏信息,导航栏信息等。但是两者又有所不同:
2026-01-06 17:27:01
488
原创 AI编程指南——Cursor集成Manim库的过程
本文介绍了如何在Cursor中集成Manim数学动画库的完整过程。首先需要安装Python 3.8+环境,通过pip安装Manim库(可选用清华镜像加速)。文章详细展示了两个基础动画示例:文字显示和几何图形变换,并提供了运行命令参数说明(-p预览,-qh高质量渲染)。最后指导了LaTeX环境的配置(安装MiKTeX),以实现数学公式渲染功能,并演示了一个包含三角函数曲线的复杂动画案例。整个过程从环境搭建到实际应用,为使用Manim创建教学动画提供了完整指南。
2025-09-24 11:24:50
623
原创 鸿蒙5.0项目开发——横竖屏切换开发
横竖屏切换功能即实现应用内既支持竖屏显示也支持横屏显示的效果。对于应用内不同页面显示方向不同的情况,需要在应用逻辑中,动态修改窗口方向,来实现该效果,例如包含视频播放功能的应用,首页内容是采用竖屏方式,而视频详情页则采用横屏方式展示。
2025-06-03 15:55:14
1394
原创 鸿蒙5.0项目开发——接入有道大模型翻译
本文介绍了鸿蒙5.0接入有道大模型翻译的开发实现。项目提供了文本翻译、生词本、历史记录等功能,采用了上下布局界面设计。重点阐述了有道翻译API的接入过程,包括参数配置、签名生成和流式响应处理。
2025-05-26 08:50:34
462
原创 鸿蒙5.0项目开发——鸿蒙天气项目的实现(主页2)
这是一个基于 HarmonyOS 开发的天气应用,提供实时天气查询、天气预报和城市搜索等功能。
2025-05-16 10:22:57
585
原创 鸿蒙5.0项目开发——鸿蒙天气项目的实现(主页1)
这个页面是整个天气应用的核心,集成了天气查询、定位、搜索等主要功能,提供了完整的天气信息服务。
2025-05-14 17:30:47
409
原创 鸿蒙5.0项目开发——鸿蒙天气项目的实现(介绍)
这是一个基于鸿蒙系统(HarmonyOS)开发的天气应用,采用 ArkTS 语言开发,提供了实时天气查询、天气预报、城市搜索等功能。该应用充分利用了鸿蒙系统的各项能力,为用户提供流畅的天气信息服务体验。
2025-05-13 18:24:18
906
原创 HarmonyOS 5.0应用开发——MVVM模式的应用
MVVM 将应用分为Model、View和ViewModel三个核心部分,实现数据、视图与逻辑的分离。通过这种模式,UI可以随着状态的变化自动更新,无需手动处理,从而更加高效地管理数据和视图的绑定与更新。MVVM(Model-View-ViewModel)模式是一种广泛用于应用开发的架构模式,它有助于分离应用程序的业务逻辑、数据和用户界面。
2025-04-23 11:36:34
1573
原创 HarmonyOS 5.0应用开发——五子棋游戏(鸿蒙版)开发
五子棋是一款传统的两人策略型棋类游戏,游戏的目的是在棋盘上首先形成连续的五个同色棋子的玩家获胜。游戏规则简单,易于上手,但要达到高手水平则需要相当的策略和技巧。五子棋因其规则简单而深受各个年龄层的玩家喜爱,同时也因为其策略性而吸引了一批忠实的棋艺爱好者。
2025-04-16 10:40:00
1381
原创 HarmonyOS 5.0应用开发——浮层OverlayManager
浮层(OverlayManager) 用于将自定义的UI内容展示在页面(Page)之上,在Dialog、Popup、Menu、BindSheet、BindContentCover和Toast等组件之下,展示的范围为当前窗口安全区内。可适用于常驻悬浮等场景。
2025-03-31 15:27:19
672
原创 HarmonyOS 5.0应用开发——Emitter实现线程间即时通信
Emitter是一种用于进程内线程间通信的事件处理机制,它允许应用程序在不同线程之间异步发送和处理事件。
2025-02-28 15:09:14
477
原创 HarmonyOS 5.0应用开发——多线程Worker和@Sendable的使用方法
Worker在HarmonyOS中提供了一种多线程的实现方式,它允许开发者在后台线程中执行长耗时任务,从而避免阻塞主线程并提高应用的响应性。@Sendable 注解主要用于标记那些需要在多线程环境中共享的数据对象或函数。被 @Sendable 标记的对象或函数可以在不同的线程之间高效地传输数据,这主要得益于 ArkTS 的序列化和反序列化机制。
2025-02-28 09:19:26
863
原创 HarmonyOS 5.0应用开发——多线程TaskPool与@Sendable的使用
在鸿蒙(HarmonyOS)开发中,`taskpool` 是一个用于管理异步任务的工具,它允许开发者创建和执行异步任务,这些任务可以在不同的线程中并发执行。@Sendable装饰器在HarmonyOS开发中主要用于处理并发任务和数据共享。它允许开发者在多线程环境中安全地处理和共享数据,特别适用于需要在子线程中处理大量数据并在UI线程中更新视图的场景。
2025-02-27 11:15:08
611
原创 HarmonyOS 5.0应用开发——鸿蒙接入高德地图实现POI搜索
鸿蒙系统作为华为自主研发的分布式操作系统,具有高性能、低功耗等诸多优势,为智能设备提供了强大的支持。而高德地图凭借其丰富的数据资源、精准的定位功能以及多样化的地图服务,在国内地图应用领域占据重要地位。将鸿蒙与高德地图相结合,能够充分发挥双方的优势,为用户提供更加便捷、高效的地图导航和POI检索服务。
2025-02-24 11:38:13
2853
1
原创 HarmonyOS 5.0应用开发——Canvas制作个人签名
使用鸿蒙Canvas制作个人签名是一种在HarmonyOS系统环境下,利用Canvas组件实现手写签名功能的技术。
2025-02-14 10:02:40
1537
1
原创 HarmonyOS 5.0应用开发——Canvas绘制饼图
Canvas提供画布组件,用于自定义绘制图形,开发者使用CanvasRenderingContext2D对象和OffscreenCanvasRenderingContext2D对象在Canvas组件上进行绘制,绘制对象可以是基础形状、文本、图片等。
2025-02-13 09:50:40
512
原创 HarmonyOS 5.0应用开发——全局自定义弹出框openCustomDialog
CustomDialog是自定义弹出框,可用于广告、中奖、警告、软件更新等与用户交互响应操作。开发者可以通过CustomDialogController类显示自定义弹出框。但是使用起来有很多问题,不支持动态创建也不支持动态刷新,在相对较复杂的应用场景中推荐使用UIContext中获取到的PromptAction对象提供的openCustomDialog接口来实现自定义弹出框。
2025-02-08 15:04:24
1496
原创 HarmonyOS 5.0应用开发——NodeContainer自定义占位节点
NodeContainer是用来占位的系统组件,主要用于自定义节点以及自定义节点树的显示,支持组件的通用属性,对通用属性的处理请参考默认左上角对齐的Stack组件。NodeController提供了一系列生命周期回调,通过makeNode回调返回一个 FrameNode 节点树的根节点。
2025-02-08 10:58:45
967
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅