当前位置: 首页 > news >正文

HarmonyOS—实现UserDataAbility

UserDataAbility接收其他应用发送的请求,提供外部程序访问的入口,从而实现应用间的数据访问。Data提供了文件存储和数据库存储两组接口供用户使用。

文件存储

开发者需要在Data中重写FileDescriptoropenFile(Uriuri,Stringmode)方法来操作文件:uri为客户端传入的请求目标路径;mode为开发者对文件的操作选项,可选方式包含“r”(读),“w”(写),“rw”(读写)等。

MessageParcel类提供了一个静态方法,用于获取MessageParcel实例。通过dupFileDescriptor()函数复制待操作文件流的文件描述符,并将其返回,供远端应用使用。

数据库存储

1.初始化数据库连接。系统会在应用启动时调用onStart()方法创建Data实例。在此方法中,开发者应该创建数据库连接,并获取连接对象,以便后续和数据库进行操作。为了避免影响应用启动速度,开发者应当尽可能将非必要的耗时任务推迟到使用时执行,而不是在此方法中执行所有初始化。

2.示例:初始化的时候连接数据库做鸿蒙应用开发到底学习些啥? (qq.com)

Ability定义了6个方法供用户处理对数据库表数据的增删改查。这6个方法在Ability中已默认实现,开发者可按需重写。

3.这些方法的使用说明如下:做鸿蒙应用开发到底学习些啥? (qq.com)

该方法接收两个参数,分别是插入的目标路径和插入的数据值。其中,插入的数据由ValuesBucket封装,服务端可以从该参数中解析出对应的属性,然后插入到数据库中。此方法返回一个int类型的值用于标识结果。接收到传过来的用户信息并把它保存到数据库中的代码示例如下:做鸿蒙应用开发到底学习些啥? (qq.com)

该方法为批量插入方法,接收一个ValuesBucket数组用于单次插入一组对象。它的作用是提高插入多条重复数据的效率。该方法系统已实现,开发者可以直接调用。

delete()

该方法用来执行删除操作。删除条件由类DataAbilityPredicates构建,服务端在接收到该参数之后可以从中解析出要删除的数据,然后到数据库中执行。根据传入的条件删除用户表数据的代码示例如下:

此方法用来执行更新操作。用户可以在ValuesBucket参数中指定要更新的数据,在DataAbilityPredicates中构建更新的条件等。更新用户表的数据的代码示例如下:

此方法用来批量执行操作。DataAbilityOperation中提供了设置操作类型、数据和操作条件的方法,用户可自行设置自己要执行的数据库操作。该方法系统已实现,开发者可以直接调用。

http://www.lryc.cn/news/258607.html

相关文章:

  • Java实现插入排序及其动图演示
  • 设计模式——原型模式(创建型)
  • 深眸科技以机器视觉高性能优势,为消费电子行业提供优质解决方案
  • React setState()的两种书写方法对比
  • orb-slam2学习总结
  • 通过wireshark判断web漏洞的流量特征
  • Command ‘npm‘ not found, but can be installed with:sudo apt install npm 解决方案
  • 【Hadoop_04】HDFS的API操作与读写流程
  • go-zero开发入门之网关往rpc服务传递数据
  • Word插件-好用的插件-批量插入图片-大珩助手
  • 小程序域名SSL证书能用免费的吗?
  • selenium自动化(中)
  • uniapp app将base64保存到相册,uniapp app将文件流保存到相册
  • Navicat 技术指引 | 适用于 GaussDB 分布式的服务器对象的创建/设计
  • 五、HotSpot细节实现
  • DRBD分布式存储实验
  • go的结构体作为返回值
  • uniapp的subnvue苹果适配(ios)谷歌地图问题
  • 项目实战之RabbitMQ重试机制进行消息补偿通知
  • MySQL之数据库的创建指令
  • [网络安全]批处理(脚本)编写
  • 事件驱动架构 vs. RESTful架构:通信模式对比与选择
  • 代码随想录算法训练营第五十二天| 300 最长递增子序列 674 最长连续递增子序列 718 最长重复子数组
  • leetcode 101.对称二叉树
  • 【本人新书】《OpenCV应用开发:入门、进阶与工程化实践》
  • 【Linux系统编程】进度条的编写
  • 互斥锁的原理
  • Win10的SVN Adapter V1.0 中黄色感叹号 -- 解决
  • ubuntu20 安装docker
  • HarmonyOS开发工具DevEco Studio的下载和安装