自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(774)
  • 收藏
  • 关注

原创 鸿蒙0基础学习【分布式文件系统概述】文件基础服务

摘要:分布式文件系统(hmdfs)基于HarmonyOS实现了跨设备文件共享能力,支持多设备间高效的文件互访(如文档编辑、媒体播放)。其架构包含设备管理守护进程(distributedfile_daemon)和内核网络文件系统(hmdfs),通过软总线动态组网提供全局视图。核心特性包括:延迟缓存策略(仅Close-to-Open一致性)、本地/远端透明访问、元数据实时同步(网络依赖)、冲突处理机制(自动重命名)。典型场景覆盖车载娱乐、跨设备办公等,开发者可通过标准文件接口调用,需注意网络延迟和离线场景的特殊

2025-06-16 14:54:02 136

原创 鸿蒙0基础学习【获取并使用公共目录】文件基础服务

摘要:ArkTS/C++接口访问公共目录指南 本文介绍了通过ArkTS和C++接口获取并访问公共目录的方法。ArkTS接口使用Environment模块获取公共目录路径,并需要申请相应权限(如Download/Documents目录权限),适用于2in1设备。C++接口提供OH_Environment_GetUserXXXDir系列函数,同样需要权限管理。两种方式均需验证设备系统能力(SystemCapability.FileManagement.File.Environment.FolderObtain)

2025-06-16 13:49:02 297

原创 鸿蒙0基础学习【授权持久化(C/C++)】文件基础服务

摘要:本文介绍了文件持久化授权接口FileShare的功能及使用方法。该接口支持对文件或目录URI进行持久化授权管理,包括授权、撤销、激活/停用权限以及权限校验等操作。开发时需添加libohfileshare.so动态库,并申请FILE_ACCESS_PERSIST权限。接口支持批量处理最多500个URI,提供错误结果返回机制,使用后需释放内存资源。典型应用场景包括应用重启后继续访问已授权文件。

2025-06-15 21:30:17 518 1

原创 鸿蒙0基础学习【授权持久化】文件基础服务

摘要:本文介绍了在PC/2in1设备上通过Picker获取临时文件访问授权及持久化授权管理的方案。应用可通过Picker选择文件获取临时授权,使用fileShare.persistPermission接口将授权持久化以便长期访问。持久化授权需要本地存储并在每次启动时通过activatePermission激活,卸载应用时将清除所有授权。文档提供了授权持久化、取消授权(revokePermission)以及激活授权的代码示例,并强调该功能仅适用于2in1设备,需用canIUse检查系统兼容性。关键注意事项包括

2025-06-15 20:15:11 492

原创 鸿蒙0基础学习【保存用户文件】文件基础服务

文件保存功能摘要(150字) 本文介绍使用FilePicker保存文件的关键要点: 权限说明:默认获取临时读写权限(后台退出失效),2in1设备可申请永久授权。音频/图片/视频/文档类保存无需额外权限。 系统隔离:Picker保存的文件与图库隔离,需通过安全控件或PhotoAccessHelper接口保存媒体资源至图库。 操作流程: 文档类:配置文件名/后缀,调用DocumentViewPicker保存,通过fs API读写文件。 音频类:使用AudioViewPicker保存后操作文件描述符。 快捷模式:

2025-06-15 19:08:56 228

原创 鸿蒙0基础学习【选择用户文件】文件基础服务

摘要:开发者可通过文件选择器(FilePicker)访问用户文件,无需申请权限。文件选择器提供三种类型:PhotoViewPicker(图片/视频)、DocumentViewPicker(文档)和AudioViewPicker(音频)。使用时需创建对应选择选项并调用select()方法获取文件URI,该URI为临时权限。文档类文件可选择后缀过滤、批量授权等选项。获取URI后可通过基础文件API打开和读取文件数据。注意临时权限会在应用后台退出后失效,持久化权限需单独申请。(150字)

2025-06-13 21:48:17 517

原创 鸿蒙0基础学习【获取用户目录环境(C/C++)】文件基础服务

摘要 本文介绍了鸿蒙系统(HarmonyOS)中获取公共文件用户目录路径的接口使用说明。适用于PC/2in1设备,主要提供三个接口:获取用户Download目录、Desktop目录和Document目录的沙箱路径。使用时需确保设备具备相应系统能力,并需通过弹窗授权获取目录权限。开发步骤包括链接动态库、添加头文件,以及调用接口获取路径并释放内存的代码示例。注意事项强调了必须在使用后释放malloc申请的内存空间。

2025-06-13 20:40:23 353

原创 鸿蒙0基础学习【FileUri开发指导(C/C++)】文件基础服务

摘要: FileUri提供了文件URI与沙箱路径的转换功能,支持URI生成、路径获取、目录URI提取、格式验证及文件名解析等操作。使用时需注意URI来源应为系统接口返回,避免手动拼接导致的访问问题。接口如OH_FileUri_GetPathFromUri会将ASCII码解码为路径,但转换结果不保证可访问性。开发者需在CMake中链接libohfileuri.so,调用后手动释放内存。示例代码展示了URI与路径互转、目录URI获取及校验等场景的应用。

2025-06-13 19:30:54 721

原创 鸿蒙0基础学习【用户文件uri介绍】文件基础服务

文件URI是访问和修改用户文件的关键标识,主要分为文档类URI和媒体文件URI两类。文档类URI可通过文件管理器或FileAccess模块获取,适用于文本、图片、视频等各类文件。媒体文件URI包括图片、视频和音频URI,通过图库或媒体管理模块获取。普通应用需通过特定模块(如fs或photoAccessHelper)处理URI,媒体URI还支持临时授权方式获取缩略图和基本信息,无需申请完整权限。开发者应避免解析URI片段,直接使用官方接口操作文件。

2025-06-13 17:03:47 688

原创 鸿蒙0基础学习【应用升级过程代码开发注意事项】文件基础服务

本文介绍了HarmonyOS开发中两个关键场景的实现方法:1) 在BackupExtensionAbility中通过重写onRestoreEx方法区分升级和克隆场景,利用restoreInfo字段进行判断;2) 提供了公共目录文件uri继承方案,通过convertFileUris接口将HarmonyOS媒体库文件uri转换为HarmonyOS NEXT可访问的uri。两种方案均包含详细代码示例,帮助开发者在系统升级迁移过程中正确处理应用数据和文件访问问题。

2025-06-13 16:01:39 262

原创 鸿蒙0基础学习【验证应用数据迁移常见问题与异常处理】文件基础服务

摘要 应用数据迁移常见问题及解决方法:1)迁移暂停多因网络中断,需连接WLAN后点击"稍后加载"恢复;2)单个应用迁移超15分钟会失败,需优化BackupExtensionAbility代码以缩短迁移时间。提示:迁移完成前应用不可用,高效迁移可提升用户体验。(98字)

2025-06-13 14:52:47 130

原创 鸿蒙0基础学习【开发者自验证应用数据迁移】文件基础服务

HarmonyOS应用数据迁移验证指南 开发者完成应用适配后,可通过以下步骤验证数据迁移效果: 准备APK沙箱数据,按指定目录结构打包为ZIP文件 将数据包导入终端设备 使用"迁移调试"工具选择数据包和目标应用 启动迁移流程,查看迁移结果和日志 注意事项: 需使用debug签名包进行验证 单次迁移需在15分钟内完成 迁移成功仅表示框架接入正常,需进一步验证数据解析 完整流程包含数据准备、模拟迁移和结果验证三个关键环节。

2025-06-13 13:39:41 647

原创 鸿蒙0基础学习【应用数据迁移适配指导】文件基础服务

HarmonyOS NEXT应用数据迁移适配指南 本文介绍了HarmonyOS NEXT开发者进行应用数据迁移适配的环境要求与操作流程。开发者需使用特定版本的迁移调试工具、DevEco Studio和Compatible SDK进行开发适配。适配流程主要包括: 实现BackupExtensionAbility,通过重写onBackup和onRestore方法处理数据迁移,特别注意onRestore是同步接口且需处理"0.0.0.0"前缀的系统升级场景; 配置backup_config.j

2025-06-12 21:41:38 842

原创 鸿蒙0基础学习【适配流程】文件基础服务

摘要:本文详细介绍了HarmonyOS应用适配流程,包含五个关键阶段:适配准备、应用适配、开发者自验证、应用上架和端到端验证。开发者需先升级设备至NEXT版本,通过实现BackupExtensionAbility完成数据迁移,使用专用工具进行自验证,上架时需配置应用映射关系,最终通过系统回退和升级验证数据继承性。文中提供了备份恢复目录结构和技术支持获取方式,强调在适配过程中需注意的关键时点。(148字)

2025-06-12 20:38:01 781

原创 鸿蒙0基础学习【应用数据迁移功能介绍】文件基础服务

摘要 HarmonyOS NEXT升级后APK应用数据迁移方案:从HarmonyOS升级到HarmonyOS NEXT时,原APK应用需转换为HarmonyOS应用并继承原有数据。系统提供"数据迁移框架"和"备份恢复框架"支持数据转换迁移,主要包括应用沙箱数据三阶段迁移(安装→迁移→恢复)和公共媒体库数据直接继承。开发者需确保云端数据兼容性,通过BackupExtensionAbility实现沙箱数据恢复,公共媒体库数据可直接通过新API访问。该机制保障了系统升级过程

2025-06-12 19:30:26 319

原创 鸿蒙0基础学习【应用接入数据备份恢复】文件基础服务

[摘要] Stage模型中通过BackupExtensionAbility实现应用数据备份恢复功能。开发者需在module.json5配置备份能力,并在资源文件中定义备份范围(includes/excludes)和策略(如allowToBackupRestore)。备份时需注意路径长度限制(≤4095字节)、权限要求(读取/执行权限),且不支持相对路径和软链接。可通过重写onBackupEx/onRestoreEx方法实现自定义处理逻辑,未实现则采用默认备份规则。元数据配置支持设置备份白名单、依赖应用及恢复

2025-06-12 17:01:40 253

原创 鸿蒙0基础学习【应用文件分享】文件基础服务

鸿蒙应用文件分享机制简介 鸿蒙系统通过URI实现应用间文件共享,支持通过startAbility方式拉起文件处理应用进行分享。应用可分享el1/el2加密沙箱目录中的文件,URI格式为"file://<bundleName>/<path>"。被分享应用可通过fs.open打开URI进行读写操作。系统提供三种主要分享目录:el1加密数据目录、el2加密数据目录和分布式数据融合目录。该机制确保了文件共享的安全性和灵活性,为鸿蒙应用开发提供了便利的文件交互方式。

2025-06-12 15:51:57 166

原创 鸿蒙0基础学习【应用及文件系统空间统计】文件基础服务

摘要:本文介绍了HarmonyOS系统中文件空间管理的相关接口,包括获取应用存储空间大小、系统内置存储空间大小以及文件系统剩余空间的统计方法。提供了6个关键接口说明和开发示例,涵盖异步/同步获取总空间、可用空间以及应用存储统计等功能。开发者可通过这些接口监控系统剩余空间,合理控制应用占用空间,避免因系统配额限制导致的问题。

2025-06-12 14:50:01 578

原创 鸿蒙0基础学习【应用文件访问(C/C++)】文件基础服务

FileIO模块提供了部分文件基础操作能力,其他能力请参考[libc标准库]/[标准C++库]。

2025-06-12 13:42:10 175

原创 鸿蒙0基础学习【应用沙箱目录】文件基础服务

摘要:应用沙箱是一种安全隔离机制,通过独立的"应用沙箱目录"限制应用的数据访问范围。该目录包含应用专属文件和必要系统文件,实现权限隔离与路径隐藏。应用文件目录采用五级加密(EL1-EL5),不同级别提供差异化的数据保护能力,默认推荐使用EL2加密。开发者应通过Context获取规范路径,避免直接使用物理路径。目录结构包含安装包、数据库、分布式文件等专用区域,各路径具有明确的生命周期管理(如卸载清理或系统自动清理)。这种机制有效保护了应用数据的隐私性和安全性。

2025-06-11 21:26:56 815

原创 鸿蒙0基础学习【Core File Kit简介】文件基础服务

Core File Kit(文件基础服务)为开发者提供一套访问和管理应用文件和用户文件的能力。帮助用户更高效地管理、查找和备份各类文件,使用户能够轻松应对各种文件管理的需求。

2025-06-11 20:47:13 796

原创 鸿蒙0基础学习【代理提醒(ArkTS)】后台任务开发

摘要:代理提醒功能允许应用在后台或进程终止后继续执行定时提醒任务,包括倒计时、日历和闹钟三种类型。使用前需申请相应权限并获取用户授权,同时受数量、跳转和管控限制(如单应用最多30个提醒)。开发者可通过接口发布、取消提醒或管理通知通道。不同类型的提醒需配置特定参数,如触发时间、重复周期和通知内容等。注意周期性提醒始终有效,其他提醒在用户点击关闭后失效。管控严格的场景可申请权限或改用日历Kit实现功能。

2025-06-11 19:32:40 1019

原创 鸿蒙0基础学习【延迟任务(ArkTS)】后台任务开发

摘要 延迟任务是一种后台执行机制,适用于应用退至后台后执行非实时性任务(如邮件获取)。系统会根据设定的任务条件(网络、充电、存储等状态)和系统资源(内存、功耗等)统一调度任务执行。应用通过WorkSchedulerExtensionAbility接收任务回调,单次任务最长运行2分钟。系统对任务数量(上限10个)、执行频率(按应用活跃度分组限制)和使用权限进行管控,确保资源合理分配。主要接口包括任务申请/取消/状态查询等功能,开发者需通过WorkInfo参数配置任务属性。

2025-06-11 15:55:09 609

原创 鸿蒙0基础学习【长时任务(ArkTS)】后台任务开发

摘要 长时任务功能允许应用在后台持续运行用户可感知的业务,如音乐播放、导航等。系统支持多种任务类型(数据传输、音视频、定位等),但存在申请限制(同一时刻仅一个任务)和运行约束(业务需与申请类型一致)。开发时需声明权限和后台模式,通过startBackgroundRunning和stopBackgroundRunning接口管理任务生命周期。示例展示了Stage模型下实现录制长时任务的流程:申请任务时通知栏显示状态,取消时移除通知。关键注意点包括及时取消已完成任务、跨设备/应用仅限系统应用使用,以及音视频类任

2025-06-11 14:45:17 871

原创 鸿蒙0基础学习【短时任务(C/C++)】后台任务开发

应用退至后台一小段时间后,应用进程会被挂起,无法执行对应的任务。如果应用在后台仍需要执行耗时不长的任务,如状态保存等,可以通过本文申请短时任务,扩展应用在后台的运行时间。

2025-06-11 13:38:56 286

原创 鸿蒙0基础学习【短时任务(ArkTS)】后台任务开发

摘要:本文介绍了应用后台短时任务的申请机制和使用方法。短时任务允许应用在后台执行耗时较短的任务,如状态保存等。系统对短时任务设有多重限制:申请时机必须在前台或onBackground回调内;同一时刻最多3个任务;单日配额10分钟,单次最长3分钟;低电量时单次配额缩短至1分钟。文章详细说明了配额计算方法,并提供了主要接口的使用示例,包括任务申请、剩余时间查询和任务取消。开发者在实现业务逻辑时需注意及时取消任务以避免影响配额。

2025-06-10 21:53:48 475

原创 鸿蒙0基础学习【Background Tasks Kit简介】后台任务开发

摘要:系统对后台应用进行管控以降低耗电和卡顿,包括进程挂起和终止。应用退至后台后无法使用软硬件资源,但可通过合规的后台任务(短时、长时、延迟任务,代理提醒等)延长运行时间。系统对进程资源使用设有限额,超额将终止进程。开发者需根据需求选择合适任务类型,但资源严重不足时系统仍可能终止进程以保障稳定性。(150字)

2025-06-10 20:47:42 269

原创 鸿蒙0基础学习【定位与解决Web白屏问题】ArkUI

Web页面白屏排查指南 本文总结了Web页面白屏问题的常见排查方法。首先需检查网络状态和应用权限配置,确保基础访问条件满足。其次,推荐使用DevTools工具分析页面结构和资源加载情况,重点关注跨域问题、JS异常及HTTP错误。对于复杂布局,需检查渲染模式和组件约束条件。同时需处理H5代码兼容性问题,特别是Vue/React项目中的本地资源访问限制。最后建议从系统日志中检索生命周期和网络相关关键字,结合错误回调接口定位问题根源。文中还提供了权限设置、请求拦截等具体代码示例,帮助开发者快速解决问题。

2025-06-10 19:31:37 700

原创 鸿蒙0基础学习【使用crashpad收集Web组件崩溃信息】ArkUI

摘要: Web组件支持通过crashpad工具记录进程崩溃信息。当应用主进程或Web渲染进程崩溃时,crashpad会在/data/storage/el2/log/crashpad目录生成minidump(.dmp)二进制文件,包含崩溃原因、线程和寄存器信息。开发者可使用minidump_stackwalk工具解析dmp文件,获取详细的堆栈轨迹(如信号类型SIGSEGV),并通过llvm-addr2line工具定位源码。该机制需依赖breakpad编译工具和未strip的so文件进行深度分析,帮助诊断Web

2025-06-10 17:08:18 143

原创 鸿蒙0基础学习【使用DevTools工具调试前端页面】ArkUI

摘要: Web组件支持通过DevTools调试前端页面。开发者需在应用代码中调用setWebDebuggingAccess(true)开启调试开关,并在配置文件中添加网络权限。调试步骤包括:设备连接电脑并开启USB调试,使用hdc命令转发端口(如TCP 9222),在Chrome浏览器访问chrome://inspect/#devices配置端口监听。成功转发后,DevTools将显示待调试网页,支持多应用同时调试。Windows平台可通过脚本自动化端口映射和PID管理,简化调试流程。

2025-06-10 15:47:49 971

原创 鸿蒙0基础学习【使用离线Web组件】ArkUI

摘要:离线Web组件技术实现与应用 本文介绍了离线Web组件的实现原理及其在性能优化中的应用。核心技术要点包括: 离线Web组件通过NodeContainer和NodeController实现,创建后保持Hidden状态,按需动态挂载到组件树 主要应用场景为预启动渲染进程和预渲染Web页面,可提升页面加载速度 架构设计采用无状态NodeContainer封装Web组件,通过NodeController管理挂载/卸载 提供了代码示例展示离线Web组件的创建、初始化和使用流程 特别说明该技术会占用额外内存(约2

2025-06-10 14:47:08 633

原创 鸿蒙0基础学习【同层渲染】ArkUI

摘要 同层渲染技术允许非系统框架UI组件通过ArkUI系统组件进行渲染,提升性能与用户体验。该技术适用于Web网页和三方UI框架场景,支持基础组件、容器类组件和自绘制类组件等多种ArkUI组件。在Web网页中,可通过特定规格的<embed>和<object>标签实现同层渲染,并支持生命周期管理、输入事件处理和可见状态变化等功能。但存在组件数量限制、渲染模式约束等技术规格要求,需注意组件布局对齐等问题。典型应用包括Web页面输入框的同层渲染实现,达到与系统应用一致的交互体验。

2025-06-10 13:37:08 574

原创 鸿蒙0基础学习【路径动画 (motionPath)】ArkUI

motionPath是用于设置组件位移动画路径的API(API version 7+)。通过MotionPathOptions配置路径参数: path:必填svg路径字符串,支持start/end占位符(如'Mstart.x start.y L50 50...') from/to:可选路径起点/终点比例(范围[0,1],默认0/1) rotatable:是否跟随路径旋转(默认false) 示例中,按钮沿自定义路径(L形轨迹)移动,点击触发4秒线性动画。路径参数结合animateTo实现组件动态位移效果,同时

2025-06-09 21:51:01 237

原创 鸿蒙API14开发【网页中安全区域计算和避让适配】ArkTS组件

早期设备屏幕多为矩形,应用界面能够完整展示。随着全面屏、刘海屏等异形屏幕的普及,屏幕边缘可能出现圆角、摄像头或系统导航条,导致界面部分被遮挡。安全区域是指屏幕中未被设备硬件或系统UI遮挡的区域,不与系统非安全区域(如状态栏、挖孔区和导航栏)重叠。应用的布局默认限定在安全区域内,但系统提供沉浸式布局能力,允许应用通过配置使界面扩展至非安全区域。在沉浸式效果下,Web组件中的网页元素可能会被状态栏、挖孔区及导航条遮挡。

2025-06-09 20:37:58 790

原创 鸿蒙0基础学习【共享元素转场 (sharedTransition)】ArkUI

共享元素转场动画(sharedTransition)使用说明 该属性通过设置id标识共享元素,在页面路由跳转时实现过渡动画效果(API 7+支持)。 关键参数: id:必填项,标识共享元素的唯一字符串 options:可选动画配置,包括: duration:动画时长(默认1000ms) curve:动画曲线(默认线性) motionPath:运动路径(仅Exchange类型有效) type:动画类型(默认Exchange,仅支持位置/尺寸过渡) 注意事项: Exchange类型不支持内容过渡(如文字大小突变

2025-06-09 19:31:24 411

原创 鸿蒙API14开发【使用Web组件打印前端页面】ArkTS组件

摘要:本文介绍了两种在Web组件中打印HTML页面的方法。一是使用W3C标准协议接口window.print()直接打印当前页面,并提供了通过CSS控制打印样式和iframe嵌套打印的示例代码;二是通过调用应用侧接口createWebPrintDocumentAdapter创建打印适配器实现打印功能。两种方法都需要先在配置文件中声明打印权限。文章包含完整的HTML示例代码和应用侧调用代码,并配有示意图说明打印流程。这些方法适用于需要在Web页面中实现打印功能的开发场景。

2025-06-09 17:20:40 338

原创 鸿蒙API14开发【托管网页中的媒体播放】ArkTS组件

Web组件支持应用接管网页媒体播放以优化体验(如提升画质)。开发者通过enableNativeMediaPlayer接口开启功能后,网页媒体将由本地播放器渲染。ArkWeb内核通过回调触发应用创建NativeMediaPlayer实例,需实现NativeMediaPlayerBridge接口进行播控。应用需使用同层渲染技术将本地播放器绘制到ArkWeb提供的Surface上,通过保存UIContext实现组件合成显示。该机制解决了网页播放器功能受限、画质低等问题,允许应用自定义播放体验。

2025-06-09 16:17:39 849

原创 鸿蒙API14开发【使用WebRTC进行Web视频会议】ArkTS组件

WebRTC技术实现浏览器点对点音视频传输,无需插件。在OpenHarmony中,通过配置module.json5申请摄像头和麦克风权限,使用JavaScript调用navigator.mediaDevices.getUserMedia()接口拉起设备。示例包含ETS组件代码和HTML页面,展示权限请求流程和视频流播放功能,最终实现点击按钮开启摄像头并显示实时画面的效果。 (摘要共150字)

2025-06-09 15:03:48 205

原创 鸿蒙API14开发【使用Web组件的下载能力】ArkTS组件

本文介绍了在Web组件中实现文件下载的两种方法: 监听页面触发的下载:通过setDownloadDelegate()注册DownloadDelegate来监听网页触发的下载任务,可以获取下载进度、失败通知等信息。示例展示了如何下载网页中的视频和HTML文件。 主动发起下载:使用startDownload()接口主动发起下载任务,同样通过DownloadDelegate监控下载状态。 两种方法都需要设置下载路径,默认会保存到/data/storage/el2/base/cache/web/目录。代码示例详细展

2025-06-09 13:59:04 804

原创 鸿蒙0基础学习【使用Web组件上传文件】ArkUI

本文介绍了Web组件处理文件上传的三种方式:1)使用onShowFileSelector接口拉起文件管理器,获取本地文件路径;2)调用图库选择图片/视频文件;3)调用相机拍照上传。每种方法都通过拦截默认行为实现自定义处理,开发者可根据需要选择不同的文件获取方式,并通过代码示例展示了具体实现流程。文章还提到可通过AcceptType区分不同文件类型进行筛选,为前端文件上传功能提供了灵活解决方案。

2025-06-08 21:42:00 830

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除