前言

本文全面整理 OpenHarmony(鸿蒙)系统中 @ohos.data 全系数据相关核心模块,涵盖本地存储、跨应用数据共享、分布式数据、端云同步、标准化数据结构、AI数据能力等所有常用API。对每个模块的核心作用、核心类、适用场景做了清晰拆解,适合鸿蒙开发者学习、面试复习及项目开发查阅。

所有模块均为系统原生数据能力,覆盖轻量持久化、关系型数据库、分布式存储、跨进程/跨应用共享、标准化数据传输、端云协同、智慧数据AI全场景。


一、数据通用类型 @ohos.data.commonType

模块导入:通过 @kit.ArkData 导入

核心作用:提供鸿蒙系统定义的标准通用基础数据类型,为所有数据存储、数据共享、数据库模块提供统一的类型支撑,是鸿蒙数据体系的基础类型库。

核心枚举/类

  • AssetStatus:文件状态枚举,用于标识本地文件与云端文件的同步状态。

  • Asset:文件信息实体类,用于定义、封装、添加文件相关信息。

  • AssetsAsset 对象的数组类型,用于批量管理文件信息。

  • ValueType:定义数据管理场景下的全部基础数据类型。

  • ValuesBucket:通用键值对数据集,承载所有基础类型数据,广泛用于数据库增改数据。

适用场景:所有涉及文件管理、数据库操作、数据封装的鸿蒙业务场景。

二、DataAbility谓词 @ohos.data.dataAbility

核心作用:提供类SQL标准化查询条件语句,摒弃原生SQL硬编码,支持对象形式、JSON形式两种方式构建查询条件。

核心优势:语法统一、可读性强、避免SQL注入,专门用于访问 DataAbility 数据时传递查询、筛选、排序、分页条件。

适用场景:传统DataAbility数据访问、自定义数据服务的条件查询、数据筛选业务。

三、应用数据共享 @ohos.data.dataShare

核心作用:鸿蒙核心跨应用数据共享模块,基于发布-订阅模式,实现同一设备内不同应用之间的数据互通与管理。

角色拆分(核心)

1. 数据提供方

  • 基于 DataShareExtensionAbility 配置共享数据

  • API20+ 提供极简共享接口,支持一对多跨应用数据共享

  • 通过 createDataProxyHandle 创建数据共享句柄(异步Promise回调)

  • 通过 DataProxyHandle 实例完成所有共享数据配置

2. 数据使用方

  • 通过 DataShareHelper 访问其他应用共享的数据

  • 可直接通过 DataProxyHandle 实例读取对应共享数据

适用场景:APP间数据交互、组件数据共享、系统级数据分发业务。

四、数据共享谓词 @ohos.data.dataSharePredicates

核心作用:专属 DataShare 数据共享场景的查询条件构建工具,为 DataShareHelper 提供标准化的查询、筛选、排序、分页语句。

特点:语法适配跨应用数据查询,专门匹配 DataShareExtensionAbility 共享数据源。

适用场景:所有DataShare跨应用数据查询、数据过滤、条件匹配场景。

五、分布式数据对象 @ohos.data.distributedDataObject

核心作用:提供分布式设备数据对象管理能力,支持多设备间数据对象同步与监听。

核心能力:分布式数据对象构建、设备绑定、数据变更监听、数据本地保存、数据订阅上传。

适用场景:多设备协同、跨设备数据实时同步、设备状态共享、协同业务数据联动。

六、分布式键值数据库 @ohos.data.distributedKVStore

核心作用:鸿蒙分布式键值数据库核心模块,提供完整的分布式数据库运维能力。

核心能力:数据库创建、属性配置、结构定义、事务管理、分布式数据同步、多设备数据一致性保障。

适用场景:轻量分布式数据存储、多设备数据同步、配置信息跨设备共享、离线数据缓存。

七、用户首选项 @ohos.data.preferences

核心定位轻量级、高性能、非跨进程运行时数据持久化方案。

存储特点

  • 基于键值对存储,专门存放应用配置、个性化设置

  • 默认常驻内存,读写速度极快

  • 需手动调用 flush()方法将数据落盘持久化

  • 应用重启后需重新初始化读取数据

  • 不支持跨进程数据共享

适用场景:APP主题设置、用户偏好配置、功能开关、临时本地配置存储。

八、共享用户首选项 @ohos.data.sendablePreferences

核心定位跨进程、可线程共享 的用户首选项存储方案,是 preferences 的进阶版。

核心特点

  • 支持主线程、工作线程跨线程传递数据(传递数据引用)

  • 同时提供同步、异步两套数据操作接口

  • 支持跨进程数据共享持久化

适用场景:多进程APP配置共享、子线程读写配置、跨线程数据传递。

九、关系型数据库 @ohos.data.relationalStore

核心定位:鸿蒙基于 SQLite 拓展的标准关系型数据库,对标MySQL基础能力。

核心能力

  • 支持标准增删改查、事务、索引、约束等关系型数据库能力

  • 原生支持云端数据同步能力

  • 适配复杂结构化数据存储场景

适用场景:结构化数据存储、订单、列表、用户数据、复杂业务本地数据库缓存、端云数据同步业务。

十、共享关系型数据库 @ohos.data.sendableRelationalStore

核心作用:为关系型数据库(RDB)提供跨线程数据处理能力

核心能力:实现常规数据库数据与跨线程可传输数据的双向转换,解决RDB数据多线程访问、传递问题。

适用场景:多线程操作数据库、子线程查询/写入数据库数据、跨线程传递数据库结果集。

十一、标准化数据通道 @ohos.data.unifieddatachannel

核心作用:鸿蒙系统标准化统一数据传递通路,提供系统级数据流转能力。

核心能力

  • 通过实例获取统一数据通道

  • 基于用户ID实现数据生成、消费、隔离

  • 提供 queryData 查询数据、insertData 插入数据核心方法

适用场景:系统数据流转、跨组件标准化数据传递、统一数据交互通路搭建。

十二、标准化数据结构 @ohos.data.uniformDataStruct

核心作用:定义鸿蒙系统统一标准化数据结构,统一全场景数据传输、分享、解析的数据格式。

核心数据类型

  • PlainText:纯文本数据

  • Hyperlink:超链接数据

  • HTML:富文本HTML数据

  • OpenHarmonyAppItem:桌面应用图标信息数据

  • ContentForm:内容卡片数据

  • Form:系统桌面卡片数据

  • FileUri:文件路径地址数据

  • PixelMap:像素图图片数据

适用场景:文件分享、内容分享、图文传输、卡片展示、系统数据解析统一格式化场景。

十三、标准化数据描述 @ohos.data.uniformTypeDescriptor

核心作用:用于识别、判断、过滤标准化数据类型,获取数据类型详细信息。

核心能力:根据文件后缀、MIME类型匹配数据大类,实现数据类型甄别、过滤。

适用场景:文件预览、文件分类、文件分享过滤、数据类型校验、资源匹配。

十四、数据集 ValuesBucket @ohos.data.ValuesBucket

核心作用:数据库专属键值对数据封装对象,专门用于数据库插入、更新数据。

数据规范

  • Key:字符串类型

  • Value:支持数字、字符串、布尔值、Uint8Array、null 全类型

适用场景:所有鸿蒙数据库(RDB、KV数据库)数据插入、字段更新业务。

十五、智慧数据平台 @ohos.data.intelligence

核心作用:鸿蒙AI智慧数据能力接口集,提供智能化数据处理能力。

核心能力:自然语言处理、计算机视觉、知识图谱、智能推荐、语音交互数据处理。

适用场景:AI功能开发、智能内容识别、语音交互、个性化推荐、视觉处理业务。

十六、端云服务 @ohos.data.cloudData

核心作用:提供鸿蒙端云数据协同核心能力,打通本地与云端数据。

核心能力:云端数据同步、数据云端备份、端云数据一致性维护、跨设备云端数据流转。

适用场景:数据云备份、多设备云端同步、用户数据云端存储、端云协同业务。


总结(快速选型对照表)

  • 轻量本地配置存储:preferences

  • 跨进程配置存储:sendablePreferences

  • 结构化本地数据库:relationalStore

  • 跨线程数据库操作:sendableRelationalStore

  • 多设备分布式存储:distributedKVStore、distributedDataObject

  • 跨应用数据共享:dataShare + dataSharePredicates

  • 标准化数据传输/解析:uniformDataStruct + uniformTypeDescriptor

  • 端云同步备份:cloudData

  • AI数据智能处理:intelligence

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐