HarmonyOS实战开发-如何实现跨应用数据共享实例。

介绍

本示例实现了一个跨应用数据共享实例,分为联系人(数据提供方)和联系人助手(数据使用方)两部分:联系人支持联系人数据的增、删、改、查等功能;联系人助手支持同步联系人数据,当联系人与联系人助手数据不一致时,支持合并重复数据。

注: 1.联系人指的是内置联系人应用,为dataProvider生成的hap包,需要手动安装,由于联系人和联系人助手共用一个bundleName,因此打包之前需要更改bundleName,保证两个包的bundleName不同,这样两个应用打开才不会出问题。

效果预览

在这里插入图片描述
使用说明:

1.联系人应用,首页中点击**+按钮可以添加联系人,在首页展示联系人列表。
2.联系人应用首页点击搜索框可以搜索联系人,点击联系人进入详情页,详情页提供编辑和删除功能入口。
3.联系人助手应用,点击同步联系人可以同步联系人应用的数据到联系人助手,同步后可以点击联系人进入详情页,详情页提供编辑和删除功能。
4.联系人助手首页点击
+**按钮,可以新增联系人。
5.联系人助手设置页面可以设置同步策略,根据不同的同步策略,每次点击首页的同步联系人按钮会同步一次联系人数据,默认使用联系人覆盖联系人助手策略。

工程目录

dataProvider/src/main/ets/
|---Application
|   |---MyAbilityStage.ts                        
|---DataShareAbility
|   |---DataShareAbility.ts                      // 数据共享
|---MainAbility 
|   |---MainAbility.ts                               
|---pages
|   |   |---ContactDetail.ets                    // 联系人详情
|   |   |---ContactEdit.ets                      // 联系人编辑
|   |   |---Home.ets                             // 首页
|   |---Home
|   |   |---Contacts.ets                         // 联系人                    
|   |   |---HomeContent.ets                      // 首页列表
|   |   |---SearchContact.ets                    // 搜索

具体实现

  • 使用DataShareExtensionAbility实现数据共享,关系型数据库实现数据的增、删、改、查接口,DataShare管理和访问数据库数据变化。

相关权限

不涉及。

依赖

不涉及。

约束与限制

1.本示例仅支持标准系统上运行,支持设备:RK3568。
2.本示例为Stage模型,已适配API version 9版本SDK,版本号:3.2.11.9。
3.本示例需要使用DevEco Studio 3.1 Beta2 (Build Version: 3.1.0.400, built on April 7, 2023)才可编译运行。
4.本示例需要使用@ohos.data.dataShare,@ohos.data.dataSharePredicates,@ohos.data.ValuesBucket系统权限的系统接口。使用Full SDK时需要手动从镜像站点获取,并在DevEcoStudio中替换 。
5.本示例使用了DataShareExtensionAbility,安装需要手动配置签名,具体操作可查看自动化签名方案。

下载

如需单独下载本工程,执行如下命令:

git init
git config core.sparsecheckout true
echo code/SystemFeature/DataManagement/CrossAppDataShare/ > .git/info/sparse-checkout
git remote add origin https://gitee.com/openharmony/applications_app_samples.git
git pull origin master

为了帮助大家更深入有效的学习到鸿蒙开发知识点,小编特意给大家准备了一份全套最新版的HarmonyOS NEXT学习资源,获取完整版方式请点击→HarmonyOS教学视频:https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

HarmonyOS教学视频:语法ArkTS、TypeScript、ArkUI等…视频教程

在这里插入图片描述
在这里插入图片描述

鸿蒙生态应用开发白皮书V2.0PDF: 获取完整版白皮书方式请点击→https://docs.qq.com/doc/DZVVkRGRUd3pHSnFG?u=a42c4946d1514235863bb82a7b2ac128

在这里插入图片描述

鸿蒙 (Harmony OS)开发学习手册→https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

一、入门必看

1.应用开发导读(ArkTS)
2………
在这里插入图片描述

二、HarmonyOS 概念→https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

1.系统定义
2.技术架构
3.技术特性
4.系统安全
5…

在这里插入图片描述

三、如何快速入门?→https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

1.基本概念
2.构建第一个ArkTS应用
3…

在这里插入图片描述

四、开发基础知识→https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

1.应用基础知识
2.配置文件
3.应用数据管理
4.应用安全管理
5.应用隐私保护
6.三方应用调用管控机制
7.资源分类与访问
8.学习ArkTS语言
在这里插入图片描述

五、基于ArkTS 开发→https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

1.Ability开发
2.UI开发
3.公共事件与通知
4.窗口管理
5.媒体
6.安全
7.网络与链接
8.电话服务
9.数据管理
10.后台任务(Background Task)管理
11.设备管理
12.设备使用信息统计
13.DFX
14.国际化开发
15.折叠屏系列
在这里插入图片描述

更多了解更多鸿蒙开发的相关知识可以参考:https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/526688.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

15.队列集

1.简介 在使用队列进行任务之间的“沟通交流”时,一个队列只允许任务间传递的消息为同一种数据类型,如果需要在任务间传递不同数据类型的消息时,那么就可以使用队列集。FreeRTOS提供的队列集功能可以对多个队列进行“监听”,只要…

【数据结构与算法】—— 二叉树

目录 一、树 1、初识树 2、树的一些概念 3、树的表示形式 二、二叉树 1、初识二叉树 2、两种特殊的二叉树 3、二叉树的性质 4、二叉树的遍历 5、实现一棵二叉树 6、二叉树题目(没代码的后面会给补上) 一、树 1、初识树 (1&…

从人机界面设计黄金三法则视角看 ChatGPT 的界面设计的“好”与“坏”

热门文章推荐: (1)《为什么很多人工作 3 年 却只有 1 年经验?》(2)《一文掌握大模型提示词技巧:从战略到战术巧》(3)《AI 时代,程序员的出路在何方&#xff1…

破晓数据新纪元:隐语隐私计算,携手共创安全智能的未来生态

1.业务背景:安全核对产生的土壤 隐语隐私计算在安全核对业务背景下的应用,主要聚焦于解决企业在数据交换和分析过程中面临的隐私保护问题。 在许多行业中,特别是在金融、医疗、政务等领域,数据的安全核对至关重要,例如…

三流大学毕业,物流专业转行自述:“从月薪4K到现在月入2W+,我做到了哪些?”

我是25岁转行学python的。说实在,转行就是奔着挣钱去的。希望我的经历可以给想转行的朋友带来一点启发和借鉴。 先简单介绍下个人背景,三流大学毕业,物流专业,学习能力一般,没啥特别技能,反正就很普通的一…

《springcloud alibaba》 四 seata安装以及使用

目录 准备调整db配置准备创建数据库 seata配置nacos配置confi.txt下载向nacos推送配置的脚本 启动seata新建项目order-seata项目 订单项目数据库脚本pom.xmlapplication.yml启动类实体类dao类service类controller类feign类mapper类 stock-seata 库存项目数据库脚本pom.xmlappli…

python代码使用过程中使用快捷键注释时报错

1.代码 2.代码报错 3.代码注释后的结果 4. 原因

动态输出n位小数——满满都是坑!

【题目描述】 输入正整数a,b,c,输出a/b的小数形式,精确到小数点后c位。a,b ≤10^6 ,c≤100。输入包含多组数据,结束标记为a=b=c=0。 【样例输入】 1 6 4 0 0 0 【样…

HIDS是什么,如何保护主机系统

随着网络安全攻防对抗的日趋激烈,主机当前企业和组织的安全运营工作面临的挑战越来越突出,外网防护的同时,内网主机安全防护也越来越重要。 HIDS(Host-based Intrusion Detection System),是基于主机型入侵检测系统的简称。作为计…

30万奖金谁能瓜分?OurBMC开源大赛决赛入围名单公示

首届开放原子开源大赛基础软件赛道自今年 1 月开启报名以来,吸引了全国各地 BMC 技术爱好者的广泛关注和踊跃报名。该赛事由开放原子开源基金会牵头, OurBMC 社区及理事长单位飞腾信息技术有限公司联合承办,以 “基于 BMC 技术的服务器故障诊…

抖音电商罗盘品牌人群运营策略指南

【干货资料持续更新,以防走丢】 抖音电商罗盘品牌人群运营策略指南 部分资料预览 资料部分是网络整理,仅供学习参考。 抖音运营资料合集(完整资料包含以下内容) 目录 品牌人群运营策略,旨在帮助品牌通过精细化运营提…

雅虎套餐发稿独家技巧,让你的媒体宣发效率翻倍

在如今的信息时代,媒体宣发是每个品牌和公司都不可或缺的一部分。而雅虎套餐发稿,作为其中的一种方式,更是受到了许多人的青睐。那么,如何才能充分利用雅虎套餐发稿的功能,让你的媒体宣发效率翻倍呢?以下就…

Java 解决 Process 执行命令行命令报【CreateProcess error=2, 系统找不到指定的文件。】错误问题

目录 问题 问题代码 解决方案 判断操作系统 问题 使用 Process 执行命令行命令时,报 CreateProcess error2, 系统找不到指定的文件。但明明指定的文件是存在的。而且这种错误只在 IDEA 中运行会报错,打包后直接 java -jar 运行就能正常运行&#xf…

【绩效管理】帮助零售企业建立分层分类绩效考核体系项目纪实

购物中心张经理评价:“员工的绩效管理一直是困扰我公司的难题,我们只懂得怎么经营,至于怎么做人力资源管理,真是一点都不懂。这次华恒智信为我们提供的服务对我们的帮助很大。基于企业实际调研情况,华恒智信专家明确指…

高维解码|Redis 收紧许可证!开源软件公司如何在云时代生存?

最近,Redis 从开放源代码的 BSD 许可证过渡到了更加限制性的 Server Side Public License (SSPLv1)。一石激起千层浪,Redis 的这一举动,不仅分化了前 Redis 维护者,也再次引发业界对于“开源项目可持续性以及许可证决策对其社区的…

easyExcel - 按模板导出

目录 前言一、情景介绍二、文档介绍2.1 读取模板2.2 填充模板 三、代码示例3.1 案例一:工资表3.2 案例二:报价单 四、我所遇到的问题 前言 Java-easyExcel入门教程:https://blog.csdn.net/xhmico/article/details/134714025 之前有介绍过如…

无尽加班何时休--状态模式

1.1 加班,又是加班! 公司的项目很急,所以要求加班。经理把每个人每天的工作都排得满满的,说做完就可以回家,但是没有任何一个人可以在下班前完成的,基本都得加班,这就等于是自愿加班。我走时还有…

查看Linux系统相关信息

注: 本文只是博主学习记录分享,仅供参考。如有错误肯定是博主理解有问题,谢谢! 一、查看当前操作系统的内核信息 命令:uname -a 二、查看当前操作系统版本信息 命令:cat /proc/version 这条命令可以查看到…

Your file appears not to be a valid OLE2 document

前言 org.apache.poi.poifs.filesystem.NotOLE2FileException:Invalid header signature; read 0x0000000000000000, expected 0xE11AB1A1E011CFD0 - Your file appears not to be a valid OLE2 document解决 Excel兼容模式打开老版本文件造成文件损坏,大多说的是点…

OPC UA遇见chatGPT

最近opc 基金会将召开一个会议,主题是”OPC UA meets IT“。由此可见,工业自动化行业也开始研究和评估chatGPT带来的影响了。 本文谈谈本人对OPC UA 与chatGPT结合的初步实验和思考。 构建OPC UA 信息模型 chatGPT 的确非常强大了,使用自然…