- 博客(241)
- 收藏
- 关注
原创 鸿蒙开发中 == 和 === 的区别与作用
鸿蒙开发中==和===的区别:==会进行类型转换后比较(如5=='5'为true),而===要求类型和值都相同(5==='5'为false)。推荐优先使用===,因其行为更可预测且符合类型安全理念。对象比较时两者都检查引用地址,NaN与任何值(包括自身)都不相等。实际开发中应明确使用===进行布尔值、字符串ID和数字的精确匹配,避免隐式转换带来的潜在问题。
2025-06-23 06:30:00
153
原创 鸿蒙中 Notification功能的使用
鸿蒙应用通知开发指南摘要 本文详细介绍了鸿蒙应用的通知开发全流程。首先需要在配置文件中声明通知权限,并进行动态授权请求。核心API包括发布基础通知(支持文本、多行内容和图片)、取消通知等操作。高级功能涵盖进度条通知、通知跳转行为配置(WantAgent)、跨设备同步及厂商通道集成。开发注意事项包括通知生命周期管理、系统限制(单应用最多24条通知)以及不同厂商设备的适配要求。文中提供了完整的交互式通知示例,展示如何实现点击通知跳转页面的典型场景。通知内容大小需控制在200KB以内,华为/荣耀设备需特殊配置no
2025-06-22 18:00:00
278
原创 鸿蒙中,类型检查typeof 和 instanceof 操作符
摘要: 鸿蒙应用开发中,typeof和instanceof是类型检查的核心操作符,但适用场景不同。typeof用于检测基本数据类型(如"number"、"string"),但对对象仅返回"object";instanceof则验证对象是否为特定类的实例(如数组、自定义组件)。关键区别在于:typeof针对原始类型,instanceof适用于引用类型。鸿蒙开发中建议结合两者实现类型守卫,例如判断API返回数据或组件类型,同时注意typeof null
2025-06-22 06:30:00
970
原创 HarmonyOS开发中 构造方法重载
鸿蒙TS/JS开发中无法直接实现构造方法重载,但可通过三种方式模拟:1)使用可选参数简化构造;2)采用参数对象模式实现灵活配置;3)通过静态工厂方法提供不同构造逻辑。这些方案源于TypeScript/JavaScript的语言特性限制,虽然比Java/Kotlin的重载方式稍显复杂,但能保持代码兼容性和性能。鸿蒙选择不扩展该功能是为了维护TS/JS生态统一性,开发者可通过参数对象等模式实现类似效果,兼顾代码可读性和扩展性。
2025-06-21 06:30:00
335
原创 HarmonyOS中 Location 功能的详细使用
本文介绍了HarmonyOS定位功能开发全流程。首先在配置阶段需在manifest中声明精确/模糊定位权限,并实现动态权限检查。核心API包括单次定位(getCurrentLocation)和连续定位(on/off locationChange),支持精度模式选择(ACCURACY/LOW_POWER)。高级功能涵盖逆地理编码(坐标转地址)和地理围栏监控。文章还对比了腾讯/百度第三方SDK集成方案,并给出功耗优化建议(如设备适配、错误处理)。最后通过示例组件演示了完整定位流程:获取坐标→地址转换→界面展示。
2025-06-20 18:00:00
309
原创 鸿蒙配置 Build Variants编译环境变体
鸿蒙开发需使用DevEco Studio,无法在Android Studio上配置Build Variants。鸿蒙通过build-profile.json5文件管理环境配置,支持调试/生产环境切换和多设备资源隔离。替代方案包括:使用DevEco Studio可视化配置界面、编写脚本自动化切换环境。注意鸿蒙采用模块化资源管理,需重构Android项目的构建逻辑。建议开发者适配鸿蒙专用工具链实现多环境管理。
2025-06-20 06:30:00
640
原创 鸿蒙中 不同环境 配置签名信息
《鸿蒙应用多环境签名管理方案》摘要:本文详细介绍鸿蒙(HarmonyOS)应用开发中实现分环境签名配置的完整方案。方案涵盖签名文件准备(开发/生产环境独立证书生成)、目录结构规范,并提供手动配置(基于build-profile.json5)与自动化配置(Gradle脚本)两种实现方式。重点强调敏感信息保护策略(环境变量/密钥管理服务)、环境隔离机制及多设备类型支持,并给出证书指纹校验和动态环境切换等常见问题解决方案。该方案通过环境专属签名配置和构建时自动切换机制,有效平衡开发便捷性与生产环境安全性,满足鸿蒙
2025-06-19 18:00:00
540
原创 鸿蒙开发中 扫码功能 的详细使用
本文介绍了HarmonyOS扫码功能的开发实现。主要内容包括:1) 基础扫码功能,通过scanBarcode API调用系统默认扫码界面;2) 自定义扫码界面开发,使用XComponent控制相机流和ScanKit实现扫码;3) 高级功能如多码识别、闪光灯控制、二维码生成等;4) HarmonyOS NEXT的扫码直达功能集成;5) 项目结构建议和开发注意事项。文章详细说明了权限配置、API调用方式以及性能优化参数,为开发者提供了完整的扫码功能开发指南。
2025-06-19 06:30:00
422
原创 HarmonyOS中,控制组件隐藏、显示方法的对比
鸿蒙开发中控制组件显隐主要有两种方式:条件渲染通过if/else动态创建/销毁组件,适用于低频切换和大内存组件;显隐控制通过visibility属性调整可见性,适合高频切换和保持布局稳定。关键区别在于条件渲染会触发生命周期变化,而显隐控制仅改变视觉呈现。选择依据主要考虑组件切换频率、内存占用和布局需求,复杂场景可混合使用两种方式。合理运用显隐控制能有效优化应用性能和用户体验。
2025-06-18 18:00:00
1510
原创 鸿蒙中 @State 的底层更新机制
鸿蒙系统(HarmonyOS)中@State的更新机制采用响应式数据绑定与差异更新(Diff)相结合的方式。其核心流程分为:状态初始化时编译器生成ObservedProperty实例;组件渲染时自动收集依赖;状态变更时触发订阅组件更新;最后通过VDOM差异算法高效更新UI。关键特性包括异步批量更新(减少渲染次数)、编译时依赖收集(自动绑定变量与组件)以及优化的Diff算法(同级节点比较)。该机制在底层实现上类似React和Vue的响应式系统,但结合了鸿蒙特有的编译优化和ArkUI框架特性,最终实现高效的状态
2025-06-18 06:30:00
724
原创 鸿蒙如何适配2x、3x不同密度的切图
鸿蒙应用开发采用多级资源管理机制,通过base目录存储通用资源,限定词目录(如zh_CN-car-mdpi)实现设备/语言适配。资源分为编译型($r('app.type.name'))和原始文件($rawfile)两类,支持自动匹配设备特性。屏幕密度适配需提供不同倍率切图(1x/2x/3x),建议优先使用SVG矢量图。开发时需保持资源层级规范,确保base目录有默认资源兜底,并注意高密度切图的内存优化。系统会根据设备特征智能选择最匹配的资源,实现多设备自适应显示效果。
2025-06-17 18:00:00
1036
原创 ArkUI 中,状态变量修饰符的分类与对比
ArkUI框架状态变量修饰符对比摘要:本文系统梳理了鸿蒙ArkUI框架中状态变量修饰符的核心分类与差异。重点解析了@State、@Prop、@Link、@Provide/@Consume等常用修饰符在数据同步方向(单向/双向)、使用场景和观测能力上的区别,并对比了传统方案与V2版本(API 12+)的特性改进。特别针对嵌套对象监听问题,分别介绍了@Observed+@ObjectLink的传统方案和V2的@ObservedV2+@Trace新方案。最后提供了修饰符选型建议和常见问题解答,为开发者合理使用状态
2025-06-17 06:30:00
854
原创 鸿蒙开发中 @ohos.util 内置工具类
本文介绍了ArkTS中@ohos.util模块提供的核心工具类及其应用场景。主要包括:设备信息获取(deviceInfo)、网络状态监控(connection)、随机数生成(Random)、Base64编解码、LRUCache缓存控制以及Trie前缀树搜索等功能。文章详细说明了各类的API使用方法,并提供了具体代码示例,如设备参数查询、随机数生成、数据编码转换等。同时强调了性能优化建议,如大数据场景使用LightWeightMap替代HashMap,以及类型安全和错误处理的重要性。这些工具类覆盖了设备适配、
2025-06-16 18:07:02
298
原创 鸿蒙开发中 npm 管理依赖常见问题
本文整理了鸿蒙(HarmonyOS)开发中npm依赖管理的常见问题及解决方案。主要包括:网络连接与镜像配置问题(切换国内镜像源、代理设置);依赖安装与版本冲突(调整依赖版本、清理node_modules);环境与工具链问题(Node.js版本管理、DevEcoStudio工具修复);以及鸿蒙特有场景(OHPM安装、元服务版本冲突)等核心问题。文章提供了具体报错示例和对应解决方法,并推荐了日志分析、缓存清理等实用技巧,帮助开发者快速定位和解决npm相关问题,提高鸿蒙应用开发效率。
2025-06-16 06:30:00
1029
原创 鸿蒙开发中 Flex组件的二次布局问题
鸿蒙应用开发中,Flex布局因二次布局问题存在性能瓶颈。当子组件总尺寸与容器不匹配或存在优先级冲突时,会触发重新计算,导致渲染延迟。官方建议优先使用Row/Column线性布局替代,其单次布局机制性能更高。优化方案包括:固定子组件尺寸、用layoutWeight替代flexGrow、减少嵌套等。Flex布局仅推荐在多行排列或复杂对齐需求时使用。开发者应结合性能分析工具,在灵活性与效率间取得平衡。
2025-06-15 18:00:00
1493
原创 HarmonyOS中跳转系统设置页面
鸿蒙系统设置跳转开发指南摘要 本文介绍了鸿蒙系统中实现设置页面跳转的多种方法。基础方法包括跳转系统设置首页(MainAbility)和应用详情页(application_info_entry),通过修改uri参数可定位到通知管理、位置服务等具体功能页。高级场景涉及权限拒绝后引导跳转,使用FunctionalButton组件简化开发流程。注意事项包括兼容性检查、错误处理和结果监听。文末提供了完整示例,展示检测通知权限状态后引导用户跳转设置的场景。开发者应优先使用系统预置组件和标准uri以确保兼容性。
2025-06-15 06:30:00
505
原创 鸿蒙(HarmonyOS)中文件上传下载
鸿蒙系统的@ohos.request模块提供了文件上传下载功能,支持多任务管理、断点续传和进度监听。文件上传可通过request.uploadFile或request.agent实现,后者支持后台运行。下载功能支持单/多文件下载,并可设置前台/后台模式。文件管理涉及缓存目录、文件目录等路径操作。使用需声明网络权限,后台任务最多10个,且部分特性需API12+。官方示例工程提供了完整的实现参考。
2025-06-14 18:00:00
447
原创 ArkTS 语言中 变量修饰符 有哪些?
ArkTS变量修饰符主要分为五类:1)访问修饰符(public/private/protected)控制变量访问权限;2)readonly修饰符定义不可变常量;3)static修饰符声明类级别变量;4)类型修饰符(let/const/var)控制变量作用域;5)特殊修饰符(abstract/override)用于抽象类和继承。开发时应根据需求选择合适的修饰符,优先使用let、readonly和访问控制修饰符,确保代码安全性和可维护性。ArkTS继承了TypeScript的特性,强调静态类型和面向对象规范。
2025-06-14 06:30:00
1249
原创 鸿蒙开发中手势事件(单一事件)解析
《鸿蒙手势开发指南》系统介绍了鸿蒙系统的手势操作体系。文章首先概述了点击、长按、拖拽、捏合、旋转等基础手势的触发条件和应用场景,随后通过代码示例详细讲解了各类手势的实现方法,包括点击计数、长按菜单、图片拖拽缩放等。特别强调了手势组合与冲突解决方案,如并行处理和互斥模式。此外还介绍了自定义手势开发和性能优化技巧,最后以完整的图片查看器示例展示多手势协同应用。本文为开发者提供了鸿蒙手势交互的完整技术参考。
2025-06-13 18:00:00
355
原创 鸿蒙开发中子窗口创建的作用
本文介绍了子窗口在应用开发中的核心作用、创建步骤和高级功能实现。子窗口主要用于功能扩展、多任务处理和数据通信,支持灵活布局。创建步骤包括获取WindowStage对象、创建子窗口、开发子窗口页面和销毁子窗口。高级功能涵盖拖拽交互、主窗口与子窗口通信(AppStorage绑定和EventHub事件总线)、以及样式优化等。文章还提供了一个视频画中画的完整示例,并强调了权限声明、性能优化、兼容性和生命周期管理等注意事项。子窗口的最小尺寸为320x240vp,最大2560x2560vp,系统级悬浮窗需申请特定权限。
2025-06-13 06:30:00
469
原创 鸿蒙开发 bindSheet 的详细使用
鸿蒙bindSheet方法详解:实现动态底部弹窗数据绑定的核心能力。该方法支持状态管理(@State/@Link),可实现列表渲染、表单绑定等场景。基础用法包括控制弹窗显隐、绑定数据源和构建UI项;高级功能涵盖动态数据更新(需更新引用触发刷新)、自定义样式(背景/高度/圆角等)和事件监听(打开/关闭回调)。典型应用如多功能选择器,通过状态管理实现选项切换。性能优化建议数据分页加载和组件复用。bindSheet提供height/dragBar等配置项,以及完整的生命周期回调,是开发交互式弹窗的高效解决方案。
2025-06-12 18:00:00
447
原创 鸿蒙开发中,读取本地JSON文件
鸿蒙OS读取JSON文件方法摘要 鸿蒙系统提供两种JSON读取方式:1)通过$rawfile直接读取应用内打包的静态JSON(无需权限);2)使用文件API读取沙箱内的动态JSON(需权限配置)。核心实现包括:使用resourceManager获取打包文件、fs模块操作沙箱文件、分块处理大文件以及监听文件变化。开发时需注意路径处理、权限申请(仅公共目录需READ_MEDIA权限)和异常捕获,建议封装路径工具类并添加JSON解析安全校验。典型问题包含文件路径错误、编码不符或内存溢出,可通过分块读取和流式解析优
2025-06-12 06:30:00
370
原创 鸿蒙开发中如何截图?
本文详细介绍了鸿蒙系统(HarmonyOS)开发中的截图功能实现方案,涵盖系统级全屏截图、窗口截图、区域截图以及精准组件截图等多种方式。文章展示了如何使用@ohos.screenshot、@ohos.window等核心API实现基础截图功能,并提供了添加水印、马赛克处理等高级图像处理示例。同时重点讲解了组件级精准截图技术(@ohos.arkui.componentSnapshot)和隐私保护措施(setWindowPrivacyMode)。最后给出了一个完整的带水印分享功能实现案例,包括文件保存和相册存储方
2025-06-11 18:00:00
368
原创 鸿蒙开发中HTTP网络请求
HTTP请求开发指南摘要 本文对比了原生HTTP模块(@ohos.net.http)与第三方Axios的特点,详细解析了GET/POST/PUT/PATCH/DELETE等请求方法的语义与实现,包含参数设置、响应处理及销毁流程。特别说明文件上传、HTTPS证书校验等高级功能,并给出拦截器封装、性能优化(连接复用/数据压缩)等实用方案。针对不同场景推荐:基础请求用原生模块,复杂业务用Axios,实时通信选WebSocket。附调试技巧和错误码处理建议,帮助开发者高效完成网络通信。
2025-06-11 06:30:00
991
原创 鸿蒙中访问剪贴板(PasteButton)、保存相册控件(SaveButton)
《HarmonyOS安全控件对比与应用》摘要:PasteButton和SaveButton是HarmonyOS两大安全交互控件,分别实现无感授权场景下的剪贴板访问(临时SECURE_PASTE权限)和媒体存储(10秒写入窗口)。PasteButton支持验证码粘贴等场景,提供6种图标样式和文本描述自定义;SaveButton适用于文件保存,内置12种描述文本和2种图标样式。两者均通过点击触发临时授权,开发者需注意:PasteButton应验证剪贴板内容格式,SaveButton需在权限时效内完成存储操作。典
2025-06-10 18:00:00
343
原创 鸿蒙中Web组件的loadUrl()方法,执行后会触发onPageEnd()方法吗?
在鸿蒙开发中,Web组件的loadUrl()方法成功加载页面后会触发onPageEnd()回调,但网络错误、加载中断或SPA哈希路由跳转等情况不会触发。开发者可通过onErrorReceive监听错误,并使用onOverrideUrlLoading处理特殊场景。正确理解这些触发条件有助于优化Web页面加载流程和错误处理机制。
2025-06-10 06:30:00
413
1
原创 鸿蒙开发中容器类有哪些?
本文系统介绍了主流容器类库的核心特性与使用场景。线性容器包括ArrayList(动态数组,适合随机访问)、LinkedList(双向链表,适合频繁增删)和Deque(双端队列);非线性容器涵盖HashMap(哈希表)和TreeSet(红黑树集合)。通过性能对比图表指导容器选择,详细说明各容器的API用法,并给出LRU缓存实现等高级应用示例。最后总结最佳使用场景:ArrayList适合高频读取,LinkedList适合频繁增删,HashMap适合快速查找,TreeSet适合有序集合。
2025-06-09 06:30:00
571
原创 鸿蒙开发中后台任务的使用
本文介绍了HarmonyOS后台任务开发的完整方案。主要包括:1)短时任务(如文件下载)、长时任务(如音乐播放)、延迟任务(智能调度)和代理提醒(如闹钟)四种任务类型的特点与适用场景;2)关键API的使用方法及代码示例;3)任务优化策略,如合并短时任务、设置优先级等;4)实战案例展示后台下载管理器的实现。文章强调应根据具体需求选择合适任务类型,并注意各类任务的时间配额和系统限制。通过合理使用后台任务机制,开发者可满足音乐播放、文件下载等常见后台场景需求。
2025-06-08 18:00:00
402
原创 鸿蒙开发中 如何配置测试/生产环境
本文介绍了鸿蒙(HarmonyOS)开发中测试与生产环境的配置方案,通过模块化设计实现环境分离。主要内容包括: 项目结构采用config目录存放各环境配置,mock目录管理测试数据; 动态加载机制根据NODE_ENV自动切换配置; Mock数据通过全局变量注入,配合条件初始化; 提供编译时和运行时两种环境切换方式; 包含完整的单元测试示例,验证环境配置和Mock数据; 支持调试日志输出,便于环境验证。 该方案实现了环境隔离、一键切换、Mock集成和可测试性等核心需求,适用于API12+的鸿蒙应用开发。
2025-06-08 06:30:00
570
原创 鸿蒙开发文件相关的操作
本文全面解析鸿蒙(HarmonyOS)应用开发中的文件操作,涵盖基础到高级用法。主要内容包括:1)文件系统基础,介绍沙箱目录、公共目录等路径类型及获取方法;2)核心API详解,包括文件读写、目录管理等操作示例;3)高级功能如文件加密、大文件分片上传;4)权限管理机制;5)调试与性能优化建议;6)完整文件管理器案例。文章通过代码示例展示了如何利用鸿蒙提供的文件系统API实现各类文件操作,并给出不同场景下的最佳实践方案。
2025-06-07 18:00:00
330
原创 鸿蒙开发中,index.ets 文件有哪些用法?
摘要: 鸿蒙(HarmonyOS)应用开发中,index.ets文件的用途因模块类型而异: 主模块(entry):作为应用入口,负责路由初始化、生命周期管理,需与EntryAbility.ets配合使用; 功能模块(feature):封装模块逻辑,对外提供统一API,隐藏内部跳转细节; 共享模块(shared):集中导出工具、组件等,减少路径依赖。 最佳实践包括路由分层管理、避免在入口文件写UI、添加TypeScript类型支持。不同场景下合理设计index.ets可提升代码可维护性和扩展性。(150字)
2025-06-07 06:30:00
1115
原创 鸿蒙开发中 Gesture(手势)用法
手势系统开发指南摘要:本文详细介绍了现代UI开发中的手势交互系统。内容涵盖六种基础手势类型(点击、长按、平移等)及其触发条件,解析了手势识别流程和API使用方法(单手势绑定、多手势组合)。高级功能包括自定义手势识别、手势冲突解决方案和手势动画实现。同时提供性能优化建议与调试技巧,最后通过图片查看器案例演示综合应用。开发者可掌握从基础到高级的手势开发技术,提升应用交互体验。
2025-06-06 18:00:00
323
原创 鸿蒙开发中 文件压缩与解压
本文介绍了HarmonyOS系统中的文件压缩与解压技术,详细讲解了ZIP、GZIP和TAR三种格式的API使用方法。内容涵盖权限配置、基础压缩解压操作、高级功能实现(如批量压缩、分卷压缩等)以及性能优化建议。文章还提供了加密压缩管理器的案例实现,并对比分析了不同压缩方法的优缺点,帮助开发者根据实际需求选择合适的压缩方案。通过合理利用这些API,可以高效处理从简单文本到大型目录的各类压缩需求。
2025-06-06 06:30:00
390
原创 鸿蒙开发中 拖拽事件onDrop的使用
拖拽交互的核心概念与应用指南 摘要:本文系统介绍了拖拽功能的设计与实现,包括基础流程(onDragStart→onDrop→onDragEnd)、API使用(draggable/allowDrop设置)和事件回调周期。重点解析了数据传递方法、自定义拖拽背板实现,以及列表排序等高级功能。通过文件管理器案例展示了实战应用,并给出性能优化建议:优先使用pixelMap、预解析extraParams数据。全文对比了不同API的适用场景,为开发跨应用拖拽、动态交互等需求提供完整技术方案。(149字)
2025-06-05 18:00:00
357
原创 鸿蒙开发中 语法糖 都有哪些?
本文讲解鸿蒙(HarmonyOS)开发中 语法糖 的全面解析,涵盖基础到高级特性,结合仓颉语言(Cangjie)和ArkTS的实践案例,按功能分类详细说明。
2025-06-05 06:30:00
722
原创 鸿蒙开发中 onTouch(触屏事件) 的使用
摘要:本文详细介绍了触屏事件开发的核心概念与技术实现。内容包括:1)触屏事件类型与传递机制,包括TouchDown、Move、Up事件和冒泡机制;2)基础API使用,涵盖单点/多点触控实现;3)高级功能如手势识别(缩放、旋转)、自定义手势判定和游戏摇杆开发;4)性能优化建议和常见问题解决;5)完整画板应用案例,展示路径绘制实现。通过代码示例和原理说明,全面解析了触屏交互开发的关键技术点。(150字)
2025-06-04 18:00:00
631
原创 鸿蒙(HarmonyOS)开发中 屏幕信息获取方式
本文介绍了OpenHarmony屏幕适配与管理的核心技术,包括:1.基础API(屏幕信息获取、方向监听、安全区域识别);2.高级功能(多屏管理、亮度调节、屏幕截图);3.实战案例(横竖屏自适应布局、安全区域适配);4.调试优化建议。通过display、window等系统模块,开发者可实现完整的屏幕适配方案,满足设备多样化的显示需求。
2025-06-04 06:30:00
577
原创 鸿蒙(HarmonyOS)开发中 模态页面 的解析
本文系统介绍了模态页面的实现与应用,包括全屏模态和弹窗模态两种方式。全屏模态通过router.pushUrl的mode参数实现,支持复杂交互和数据传递;弹窗模态使用showDialog API快速构建。文章详细讲解了参数配置、动态样式控制、页面间通信等高级功能,并以支付流程为例演示完整实现。最后对比两种方式的优缺点:全屏模态适合复杂场景但需单独页面,弹窗模态简便但定制性弱。开发中需注意生命周期管理和性能优化。
2025-06-03 18:00:00
359
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人