HarmonyOS与Data-Ability基本概念的使用方法及使用步骤

发布时间:2023年12月17日

基本概念

使用Data模板的Ability(以下简称“Data”)有助于应用管理其自身和其他应用存储数据的访问,并提供与其他应用共享数据的方法。Data既可用于同设备不同应用的数据共享,也支持跨设备不同应用的数据共享。

数据的存放形式多样,可以是数据库,也可以是磁盘上的文件。Data对外提供对数据的增、删、改、查,以及打开文件等接口,这些接口的具体实现由开发者提供。

URI介绍

Data的提供方和使用方都通过URI(UniformResourceIdentifier)来标识一个具体的数据,例如数据库中的某个表或磁盘上的某个文件。HarmonyOS的URI仍基于URI通用标准,格式如下:做鸿蒙应用开发到底学习些啥? (qq.com)

访问Data

开发者可以通过DataAbilityHelper类来访问当前应用或其他应用提供的共享数据。DataAbilityHelper作为客户端,与提供方的Data进行通信。Data接收到请求后,执行相应的处理,并返回结果。DataAbilityHelper提供了一系列与DataAbility对应的方法。下面介绍DataAbilityHelper具体的使用步骤。

声明使用权限

如果待访问的Data声明了访问需要权限,则访问此Data需要在配置文件中声明需要此权限。声明请参考权限申请字段说明。

创建DataAbilityHelper

DataAbilityHelper为开发者提供了creator()方法来创建DataAbilityHelper实例。该方法为静态方法,有多个重载。最常见的方法是通过传入一个context对象来创建DataAbilityHelper对象。获取helper对象示例:做鸿蒙应用开发到底学习些啥? (qq.com)

访问DataAbility

DataAbilityHelper为开发者提供了一系列的接口来访问不同类型的数据(文件、数据库等)

访问文件

DataAbilityHelper为开发者提供了FileDescriptoropenFile(Uriuri,Stringmode)方法来操作文件。此方法需要传入两个参数,其中uri用来确定目标资源路径,mode用来指定打开文件的方式,可选方式包含“r”(读),“w”(写),“rw”(读写),“wt”(覆盖写),“wa”(追加写),“rwt”(覆盖写且可读)。

该方法返回一个目标文件的FD(文件描述符),把文件描述符封装成流,开发者就可以对文件流进行自定义处理。

访问文件示例:做鸿蒙应用开发到底学习些啥? (qq.com)

访问数据库

DataAbilityHelper为开发者提供了增、删、改、查以及批量处理等方法来操作数据库。

这些方法的使用说明如下:

query()

查询方法,其中uri为目标资源路径,columns为想要查询的字段。开发者的查询条件可以通过DataAbilityPredicates来构建。查询用户表中id在101-103之间的用户,并把结果打印出来,代码示例如下:

新增方法,其中uri为目标资源路径,ValuesBucket为要新增的对象。插入一条用户信息的代码示例如下:

删除方法,其中删除条件可以通过DataAbilityPredicates来构建。删除用户表中id在101-103之间的用户,代码示例如下:

更新方法,更新数据由ValuesBucket传入,更新条件由DataAbilityPredicates来构建。更新id为102的用户,代码示例如下:

此方法用来执行批量操作。DataAbilityOperation中提供了设置操作类型、数据和操作条件的方法,开发者可自行设置自己要执行的数据库操作。插入多条数据的代码示例如下:做鸿蒙应用开发到底学习些啥? (qq.com)

文章来源:https://blog.csdn.net/m0_70749039/article/details/134953408
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。