- 博客(44)
- 收藏
- 关注
原创 鸿蒙应用开发 分布式数据对象跨设备数据同步
摘要:分布式数据对象是鸿蒙系统提供的一种跨设备数据同步解决方案,通过内存数据库实现设备间的变量共享,开发者可像操作本地变量一样实现数据同步。其核心机制包括:1) 基于SessionID建立同步关系;2) 最小同步单位为属性级别;3) 支持资产文件同步。当前支持跨端迁移和Call调用两种场景,限制包括:单个应用最多16个实例、单对象不超过500KB、最多3设备协同。开发时需注意:迁移场景需调用save接口保存数据,接收端需将初始值设为undefined。该方案相比传统同步方式大幅简化了开发复杂度。
2025-06-27 21:13:36
882
原创 鸿蒙应用开发 关系型数据库跨设备数据同步
摘要:本文介绍了关系型数据库跨设备数据同步的实现方法,主要包括数据同步机制、通知机制和开发步骤。系统通过分布式表实现多设备间数据同步,支持推送和拉取两种同步方式,并提供数据变化订阅功能。开发步骤包括创建分布式表、数据同步、订阅变化和跨设备查询等操作。需要注意的是,数据同步受设备安全等级限制,最多支持16个分布式数据库。文中详细说明了相关接口的使用方法,如setDistributedTables、sync、on/off等,并提供了完整的代码示例展示如何实现跨设备数据同步和查询功能。
2025-06-27 19:55:47
709
原创 鸿蒙应用开发 键值型数据库跨设备数据同步
跨设备数据同步功能实现应用数据在可信设备间的共享与协作,分为键值型和关系型两种数据库类型,支持最终一致性同步。系统提供手动和自动两种同步方式,通过加密通道传输数据,并基于设备安全等级实施访问控制。开发流程包括:导入模块、申请权限、创建数据库实例、数据操作和同步触发。单版本数据库每条记录限制为Key≤1KB、Value<4MB,最多同时打开16个数据库。该功能适用于联系人、图库等需要多设备协同的场景,通过订阅机制实现数据变更通知,确保组网设备间的数据最终一致。
2025-06-27 16:57:09
998
原创 鸿蒙HarmonyOS 通过关系型数据库实现数据持久化
摘要: 本文介绍了关系型数据库在HarmonyOS中的应用,基于SQLite组件,适合存储复杂关系数据(如学生信息、雇员信息等)。主要内容包括:1) 基本概念(谓词、结果集);2) 运作机制(支持事务、索引等SQLite特性);3) 开发步骤(获取RdbStore、建表、数据操作);4) 注意事项(单次查询≤5000条、线程连接限制等)。详细说明数据库操作接口(insert/update/delete/query)的使用方法,并提供了Stage/FA模型下的代码示例,涵盖数据备份、恢复及删除操作。最后指出数
2025-06-27 15:32:09
817
原创 鸿蒙HarmonyOS 通过键值型数据库实现数据持久化
摘要:本文介绍了键值型数据库的使用方法,适合存储简单键值对数据,如商品价格、员工出勤等。内容包括:1)数据库特性:支持单版本和设备协同两种类型,对键值长度有限制;2)开发步骤:获取KVManager实例、创建数据库,以及数据操作(插入、获取、删除)的具体实现;3)注意事项:如异步接口使用、回调方法限制等。通过示例代码详细演示了从数据库创建到数据操作的完整流程,最后还介绍了关闭和删除数据库的方法。
2025-06-27 14:04:54
742
原创 鸿蒙HarmonyOS通过用户首选项实现数据持久化
摘要:HarmonyOS系统支持三种数据持久化方式:用户首选项(Preferences)用于轻量级配置信息存储,键值型数据库(KV-Store)适合分布式场景的简单数据存储,关系型数据库(RelationalStore)处理复杂关系型数据。其中用户首选项通过键值对形式将数据缓存在内存并同步到文件,具有快速访问特性,但存在多进程不安全、数据量限制(建议不超过1万条)等问题。开发时需注意:1)使用同步/异步接口操作数据;2)通过flush实现持久化;3)订阅机制监听数据变更;4)删除操作会移除内存实例及物理文件
2025-06-26 21:48:22
800
原创 鸿蒙HarmonyOS 屏幕朗读应用适配
摘要:本文介绍了移动智能设备屏幕朗读软件的无障碍开发原则,重点针对视障用户的使用需求提出具体实现方案。开发时需确保UI对象可被手势导航、提供清晰朗读反馈,并正确处理显示文本与无障碍文本的优先级。文章详细阐述了装饰性控件处理、多维嵌套场景优化、组合控件标注、按钮标注规范、动态内容播报、状态变化提示、错误操作反馈、多语言支持以及焦点位置调整等九大关键场景的开发要点,通过代码示例展示了accessibilityText、accessibilityGroup等无障碍属性的具体应用方法,为开发者实现全面无障碍支持提供
2025-06-26 19:52:32
1032
原创 鸿蒙HarmonyOS Native子进程开发(C/C++)
摘要:本文介绍了如何在OpenHarmony系统中创建Native子进程并建立父子进程间IPC通信的开发方法。主要内容包括:1)使用OH_Ability_CreateNativeChildProcess接口启动子进程并加载指定动态库,启动结果通过异步回调通知;2)子进程需实现NativeChildProcess_OnConnect和NativeChildProcess_MainProc两个导出函数;3)主进程需编写回调函数处理子进程启动结果及IPC通信;4)开发过程中需注意线程安全、资源释放等问题。本文还提
2025-06-26 17:16:48
966
原创 鸿蒙HarmonyOS 组件启动规则(FA模型)
摘要:HarmonyOS对组件启动行为制定了严格规则,主要限制后台应用弹窗、相互唤醒及随意跳转等影响用户体验和安全的行为。规则要求跨应用启动需校验组件可见性(Visible属性)及BACKGROUND权限,系统应用才能申请相关特殊权限。对于分布式设备,还区分PageAbility与ServiceAbility/DataAbility的不同启动场景。新规则自v3.2版本实施,开发者需注意权限校验流程,确保业务功能正常。关键点包括:组件可见性配置、前后台应用判定标准,以及跨设备启动的特殊要求。(150字)
2025-06-26 15:44:37
663
原创 鸿蒙HarmonyOS FA模型的Context
摘要:FA模型下的Context通过featureAbility.getContext()获取,是对featureAbility的功能扩展。开发时需先导入相关包,获取Context对象后可调用特定方法。示例展示了获取Bundle信息和设置显示方向的操作:1)通过getBundleName()查询Bundle名称;2)使用setDisplayOrientation()设置竖屏显示。Context提供了featureAbility不具备的额外功能接口。
2025-06-26 13:58:29
320
原创 鸿蒙应用开发 FA模型:DataAbility组件(三)
本文介绍了在OpenHarmony系统中访问DataAbility的具体实现方法。主要内容包括:1. 基础配置:需要导入@ohos.ability.featureAbility和@ohos.data.dataAbility依赖包,并获取与DataAbility通信的URI;2. 数据操作方法:详细说明insert、delete、update、query、batchInsert和executeBatch等核心接口的使用,提供callback和promise两种调用方式示例;3. 权限控制机制:从静态和动态两个
2025-06-25 20:50:00
470
原创 鸿蒙HarmonyOS FA模型:DataAbility组件(二)
摘要:本文介绍了如何创建DataAbility实现数据库CRUD操作,包括Insert、Query、Update、Delete接口,以及利用这些接口实现的批量处理功能BatchInsert。代码示例展示了基于HarmonyOS的DataAbility开发,包括数据库初始化、表创建和基本数据操作实现。同时提供了启动DataAbility获取DataAbilityHelper工具类的方法。该实现满足数据库存储业务的基本需求,通过RdbStore完成SQLite数据库操作,并采用异步回调机制处理结果。
2025-06-25 19:45:17
114
原创 鸿蒙HarmonyOS FA模型:DataAbility组件(一)
DataAbility,即"使用Data模板的Ability",主要用于对外部提供统一的数据访问抽象,不提供用户交互界面。DataAbility可由PageAbility、ServiceAbility或其他应用启动,即使用户切换到其他应用,DataAbility仍将在后台继续运行。使用DataAbility有助于应用管理其自身和其他应用存储数据的访问,并提供与其他应用共享数据的方法。DataAbility既可用于同设备不同应用的数据共享,也支持跨设备不同应用的数据共享。
2025-06-25 17:11:57
685
原创 鸿蒙HarmonyOS FA模型: ServiceAbility组件(二)
本文介绍了HarmonyOS中ServiceAbility的创建与使用方法。主要内容包括:1. 通过DevEco Studio创建ServiceAbility,默认生成onStart、onStop等方法,开发者需自行实现其他方法;2. 在配置文件中注册ServiceAbility,设置visible属性控制访问权限;3. 使用startAbility启动ServiceAbility,系统会根据状态调用相应回调;4. 通过connectAbility建立连接实现交互,需要实现IAbilityConnectio
2025-06-25 16:11:33
944
原创 鸿蒙应用开发 FA模型: ServiceAbility组件(一)
ServiceAbility是基于Service模板的后台能力,用于执行音乐播放、文件下载等无界面的后台任务。其生命周期包括onStart初始化、onCommand启动执行、onConnect/onDisconnect连接管理及onStop资源清理。配置需在config.json中声明type为"service",并可选设置backgroundModes定义后台服务类型(如数据传输、音频播放等)。与PageAbility的主要区别在于运行模式(后台持续运行)和配置属性。开发者需通过实现s
2025-06-25 13:54:37
340
原创 鸿蒙HarmonyOS FA模型开发:PageAbility组件实践(二)
【摘要】本文介绍了在HarmonyOS中通过PageAbility启动指定页面的两种实现方式。对于单例模式,通过want参数传递目标页面信息,在onNewWant回调中处理路由;对于多实例或首次启动场景,则在onCreate中获取want参数并跳转。两种方式都通过featureAbility.startAbility()启动PageAbility,并通过router.pushUrl()实现页面导航,开发者可根据不同启动模式选择对应方案。文中提供了完整的代码示例,包括参数传递、能力获取和页面跳转的具体实现。
2025-06-24 19:34:34
353
原创 鸿蒙HarmonyOS FA模型开发:PageAbility组件实践(一)
摘要:本文介绍了在DevEco Studio中创建和使用PageAbility的方法。首先说明DevEco Studio会自动生成onCreate()和onDestroy()方法,其他生命周期方法需开发者自行实现。接着展示了MainAbility类示例代码,说明各生命周期方法的功能。然后介绍了config.json中abilities的配置项,包括orientation、name、type等参数。文章还详细讲解了通过featureAbility接口实现的能力操作,包括获取上下文(getContext)、启动
2025-06-24 17:19:17
375
原创 鸿蒙HarmonyOS FA模型开发:PageAbility组件
PageAbility是HarmonyOS提供用户交互能力的应用组件,其生命周期包含UNINITIALIZED、INITIAL、INACTIVE、ACTIVE和BACKGROUND等状态。开发者需在config.json中配置icon图标、label名称及skills接收特征等属性,其启动模式支持单实例(singleton)和多实例(multiton)两种。生命周期回调包括onCreate()、onDestroy()、onActive()等同步接口,其中单实例模式首次启动触发onCreate(),非首次启动
2025-06-24 15:57:46
1073
原创 鸿蒙HarmonyOS 进程模型&线程模型分析
摘要:进程模型系统中,同一应用的主进程运行UIAbility及特定ExtensionAbility,其他类型ExtensionAbility各自运行在独立进程。WebView拥有独立渲染进程。系统应用可通过多进程权限为HAP配置自定义进程。系统提供公共事件机制进行进程间通信。线程模型包含主线程(处理UI和生命周期)、TaskPool线程(管理耗时任务)和Worker线程(支持线程通信)。EventHub用于线程内通信,实现数据同步。可通过shell命令查看进程和线程信息。
2025-06-24 13:48:43
653
原创 鸿蒙HarmonyOS应用开发 拉起文件处理类应用(startAbility)
摘要:本文介绍了如何使用startAbility接口实现跨应用文件打开功能。开发者可通过设置URI路径和文件类型等参数,让系统自动匹配或弹出选择框选取合适应用打开文件。详细说明了接口参数配置、调用步骤,并分别阐述了调用方(构造请求数据)和目标方(声明文件处理能力)的实现方法。同时提供了文件权限管理、URI转换等关键操作指南,以及错误处理机制,帮助开发者快速集成文件共享功能。
2025-06-23 22:09:08
768
原创 鸿蒙应用开发 拉起图片编辑类应用(startAbilityByType)
摘要:本文介绍了如何通过PhotoEditorExtensionAbility实现跨应用的图片编辑功能。当应用不具备图片编辑能力时,可通过startAbilityByType拉起支持图片编辑的外部应用。编辑类应用需实现PhotoEditorExtensionAbility,重写生命周期回调,并在onStartContentEditing中加载编辑页面。调用方需将图片URI传递给编辑应用,编辑完成后通过saveEditedContentWithImage保存结果并返回URI。整个过程包含编辑应用注册、页面实现
2025-06-23 19:49:09
612
原创 鸿蒙应用开发 拉起金融类应用(startAbilityByType)
本文介绍了金融类应用扩展面板的参数配置和使用方法。主要内容包括:1)startAbilityByType接口中type字段为finance时的参数说明,包括场景类型(sceneType)和银行卡号(bankCardNo);2)拉起方的开发步骤,包括模块导入、参数构造和接口调用;3)目标方的开发配置,需要在module.json5中声明支持的功能特性(转账汇款或信用卡还款);4)目标方解析参数和页面处理的实现方法,通过uri匹配不同功能场景。文档提供了完整的示例代码,涵盖参数传递、页面跳转和错误处理等关键环节
2025-06-23 17:49:37
343
原创 鸿蒙HarmonyOS开发 拉起邮件类应用(startAbilityByType)
摘要:本文介绍了鸿蒙系统邮件类应用扩展面板的开发实现方法。调用方可使用startAbilityByType接口(type设为mail)发起邮件请求,需传入包括收件人、抄送、密送、主题、正文和附件等参数,所有字符串类型参数需进行encodeURI编码。目标方应用需在module.json5中声明支持ComposeMail功能,并在UIAbility中解析参数时对编码内容进行decodeURI解码。文档提供了完整的调用示例代码和目标方实现代码,涵盖参数处理、权限设置和页面加载等关键环节,为开发者实现邮件功能扩展
2025-06-23 16:09:02
819
原创 鸿蒙HarmonyOS 拉起导航类应用(startAbilityByType)
本文介绍了三种应用跳转方式:1.通过startAbilityByType接口拉起垂类面板,支持导航、金融、邮件类应用;2.使用mailto协议跳转邮件应用;3.通过startAbility接口打开文件。重点讲解了startAbilityByType的实现机制,包括调用方如何设置参数(如经纬度、POIID等)以及目标方如何在配置文件中声明支持的功能(导航、路线规划、位置搜索)。文章还提供了详细的开发步骤示例代码,涵盖参数解析、页面加载等关键环节。该方案提供了统一的垂类应用接入方式,降低了调用方的接入成本。
2025-06-21 22:14:57
927
原创 鸿蒙应用开发 显式Want跳转切换应用链接跳转适配
本文介绍了HarmonyOS API12及以上版本中应用间显式跳转的实现方式。主要内容包括:1.被调用方需在module.json5中配置skills标签,包含entity.system.browsable实体、ohos.want.action.viewData动作及https协议的URI;2.调用方使用openLink接口进行跳转,通过link参数和OpenLinkOptions选项实现,系统会根据link自动匹配目标应用;3.提供了两种跳转模式:appLinkingOnly为true时需域名校验,为fa
2025-06-21 19:49:07
606
原创 鸿蒙应用开发 使用App Linking实现应用间跳转
摘要:AppLinking是华为HarmonyOS API12+提供的应用跳转技术,通过HTTPS链接实现跨应用内容直达。相比DeepLinking,它增加了域名校验机制,确保安全性,并支持"应用未安装时跳转网页"的降级方案。开发需在AGC平台配置域名关联,在DevEco Studio中声明域名校验,并处理链接参数。典型应用场景包括扫码直达、社交分享等。该技术支持多应用关联同一域名,通过path路径区分目标应用。注意事项包括必须手动签名、域名配置校验及网络条件要求等。(149字)
2025-06-20 20:39:58
997
原创 鸿蒙HarmonyOS应用开发 使用Deep Linking实现应用间跳转
摘要:本文介绍了HarmonyOS中DeepLinking的实现方式。目标应用需要在配置文件中声明skills字段,包含uri的scheme和host信息。实现跳转有三种方法:(1)使用openLink()接口传入URL;(2)通过startAbility()调用隐式want匹配;(3)在Web组件中通过onLoadIntercept拦截URL跳转。三种方式分别适用于不同场景,开发者可根据需求选择合适的方法实现应用间跳转功能。
2025-06-20 15:07:33
545
原创 鸿蒙应用开发 应用启动框架AppStartup
摘要: AppStartup框架优化了应用启动时初始化任务的执行方式,通过异步任务管理和依赖配置提升启动速度与可维护性。开发者需在entry模块的resources/base/profile路径下创建JSON配置文件,定义各启动任务的线程执行模式、依赖关系等属性,并在module.json5中引用。框架支持自动模式(AbilityStage创建时触发)或手动模式(UIAbility中调用startupManager.run启动),任务间禁止循环依赖。每个任务需实现StartupTask接口的init和onD
2025-06-19 20:34:51
776
原创 鸿蒙HarmonyOS 组件启动规则(Stage模型)
文章摘要:本文介绍了应用组件启动规则,包括UIAbility、ServiceExtensionAbility和DataShareExtensionAbility的启动方式。系统对后台弹窗、相互唤醒和前台跳转等行为进行限制,要求跨应用启动需校验目标组件的exported字段配置,后台启动需BACKGROUND权限,跨设备启动需DISTRIBUTED_DATASYNC权限。规则自API9生效,开发者需注意权限校验以避免功能异常。
2025-06-19 18:03:51
415
原创 鸿蒙HarmonyOS应用开发 Want对象
摘要:Want是应用组件间传递信息的对象,主要用于启动组件时传递数据。分为显式Want(明确指定目标组件)和隐式Want(通过系统匹配)。显式Want需指定bundleName和abilityName,适用于应用内组件启动;隐式Want通过action、uri等参数匹配skills配置中的声明,适用于跨应用启动。匹配规则包括action、entities、uri/type、linkFeature等维度,系统会根据这些参数与目标组件的配置进行多级匹配,从而确定合适的组件启动。从API12开始,显式Want不再
2025-06-19 15:46:08
730
原创 鸿蒙应用开发 Context 场景应用
本文介绍了HarmonyOS中Context的概念及其典型使用场景。Context是应用组件的上下文对象,包含资源管理、应用信息、文件路径等基础功能。系统提供了多种Context类型:UIAbilityContext、ApplicationContext、AbilityStageContext等,分别适用于不同组件层级。 主要使用场景包括: 获取应用文件路径 - 可通过不同Context获取应用级别或HAP级别的沙箱路径 加密分区管理 - 通过设置area属性在不同加密等级(EL1-EL5)间切换 跨模块通
2025-06-18 14:06:39
1051
原创 鸿蒙OpenHarmony南向开发 小型系统芯片移植指南(一)
本文介绍OpenHarmony小型系统移植指南,重点说明如何将Linux和LiteOS-A内核移植到新开发板。内容涵盖芯片解决方案目录创建、编译选项配置和编译脚本编写等关键步骤,并以hispark_taurus开发板为例详细说明移植流程。同时提供了已适配开发板的硬件规格对照表,包括支持的内核类型、处理器架构、存储类型等关键参数。移植过程要求开发者具备嵌入式系统开发经验,并需提前搭建好OpenHarmony基础编译环境。通过hbset和hbbuild命令即可启动芯片解决方案的编译流程。
2025-06-17 16:33:35
641
原创 鸿蒙HarmonyOS应用开发 AbilityStage组件容器
摘要:AbilityStage是HarmonyOS中Module级别的组件容器,在HAP首次加载时初始化Module。每个Module对应一个AbilityStage。开发者需手动创建AbilityStage文件并配置入口路径,可通过onCreate()进行资源预加载等初始化操作。此外还支持onAcceptWant(指定实例启动)、onConfigurationUpdated(配置变更)、onMemoryLevel(内存调整)等回调,用于处理不同场景下的模块行为,如在内存不足时释放资源。
2025-06-17 16:27:51
280
原创 鸿蒙HarmonyOS应用开发 ExtensionAbility组件之EmbeddedUIExtensionAbility
EmbeddedUIExtensionAbility是EMBEDDED_UI类型的ExtensionAbility组件,提供了跨进程界面嵌入的能力。EmbeddedUIExtensionAbility需要和EmbeddedComponent一起配合使用,开发者可以在UIAbility的页面中通过EmbeddedComponent嵌入本应用的EmbeddedUIExtensionAbility提供的UI。
2025-06-17 14:34:58
493
原创 鸿蒙HarmonyOS应用开发 ExtensionAbility组件
摘要: ExtensionAbility是面向特定场景的组件,如服务卡片、输入法等,由系统服务统一管理。开发者只能使用系统预定义的类型,不同类型在实现、访问权限及沙箱隔离上有差异。例如,FormExtensionAbility允许三方实现但不允许访问,而InputMethodExtensionAbility允许三方实现和访问且独立沙箱运行。系统应用不受限制,可自由实现和访问所有类型。ExtensionAbility由系统服务管理生命周期,调用方无需关心组件销毁。同一应用内同类型ExtensionAbilit
2025-06-16 21:25:13
894
原创 鸿蒙HarmonyOS应用开发 启动应用内的UIAbility组件
本文介绍了HarmonyOS中UIAbility的启动方式和页面跳转实现。主要内容包括:1. UIAbility基本概念:系统调度最小单元,支持应用内和应用间跳转;2. 应用内UIAbility启动:通过startAbility()传递want参数实现组件启动,包括参数接收和实例终止方法;3. 带返回结果的启动:使用startAbilityForResult()和terminateSelfWithResult()实现结果回调;4. 指定页面启动:通过want参数传递路由信息,在冷启动(onWindowSta
2025-06-16 20:14:18
1126
转载 鸿蒙HarmonyOS应用开发 使用Rect绘制矩形
本文介绍了鸿蒙Api13中几何图形的多种绘制方法,除传统Canvas外,重点讲解了使用组件样式(如backgroundColor、border)和Shape组件的实现方式。以矩形为例,详细解析了Rect组件的属性(width/height/radius等)和方法(fill/stroke/渐变等),并展示了实心矩形、边框矩形、圆角矩形和渐变矩形的具体实现代码及效果图。文章指出,虽然矩形可通过多种方式实现,但Rect组件因其丰富的样式属性更适用于专业场景开发。
2025-06-16 18:13:01
945
原创 鸿蒙HarmonyOS应用开发 UIAbility组件与UI的数据同步
本文介绍了UIAbility组件与UI之间实现数据同步的两种方法:1. 使用EventHub进行事件通信,包括订阅(on)、发布(emit)和取消订阅(off)事件的完整流程;2. 使用AppStorage/LocalStorage进行状态管理,其中AppStorage适用于全局状态共享,LocalStorage适用于局部状态管理。这两种方案为开发者提供了灵活的数据同步方式,有助于提升应用性能和可维护性。
2025-06-16 16:49:26
395
原创 鸿蒙HarmonyOS应用开发 UIAbility组件基本用法
UIAbility组件是HarmonyOS应用开发中的重要组成部分,主要用于管理UI页面和上下文信息。其核心功能包括:1)通过onWindowStageCreate()生命周期回调设置启动页面,避免白屏;2)获取UIAbilityContext上下文信息,包含Ability配置和实例操作方法。开发者可以在UIAbility类中使用this.context获取上下文,或在页面中通过getContext()接口获取。该组件支持启动其他Ability(startAbility)等操作,是构建HarmonyOS应用
2025-06-16 15:11:54
338
原创 鸿蒙HarmonyOS应用开发 UIAbility组件启动模式
ArkUI提供了三种UIAbility启动模式: 单实例模式(singleton) - 系统默认模式,始终复用同一实例,不会创建新实例 多实例模式(multiton) - 每次启动都创建新实例,可同时存在多个实例 指定实例模式(specified) - 通过唯一Key标识实例,相同Key复用实例,不同Key新建实例 开发者在module.json5中配置launchType字段即可指定启动模式。指定实例模式需要配合AbilityStage的onAcceptWant回调实现实例匹配逻辑,适用于文档应用等需要精
2025-06-15 22:23:52
750
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅