| Name | Date | Size | #Lines | LOC | ||
|---|---|---|---|---|---|---|
| .. | - | - | ||||
| AppScope/ | 06-May-2025 | - | 37 | 34 | ||
| common/ | 06-May-2025 | - | 1,015 | 866 | ||
| dataProvider/ | 06-May-2025 | - | 1,626 | 1,477 | ||
| dataUser/ | 06-May-2025 | - | 2,459 | 2,282 | ||
| hvigor/ | 06-May-2025 | - | 24 | 22 | ||
| screenshots/device/ | 06-May-2025 | - | ||||
| .gitignore | D | 06-May-2025 | 132 | 10 | 9 | |
| README_zh.md | D | 06-May-2025 | 5.1 KiB | 78 | 56 | |
| build-profile.json5 | D | 06-May-2025 | 1.3 KiB | 58 | 57 | |
| hvigorfile.js | D | 06-May-2025 | 168 | 2 | 1 | |
| hvigorw | D | 06-May-2025 | 2 KiB | 62 | 28 | |
| hvigorw.bat | D | 06-May-2025 | 2 KiB | 73 | 56 | |
| oh-package.json5 | D | 06-May-2025 | 818 | 27 | 25 | |
| ohosTest.md | D | 06-May-2025 | 3.4 KiB | 34 | 30 |
README_zh.md
1# 跨应用数据共享(仅对系统应用开放) 2 3### 介绍 4 5 本示例实现了一个跨应用数据共享实例,分为联系人(数据提供方)和联系人助手(数据使用方)两部分:联系人支持联系人数据的增、删、改、查等功能;联系人助手支持同步联系人数据,当联系人与联系人助手数据不一致时,支持合并重复数据。 6 7注: 81.联系人指的是内置联系人应用,为dataProvider生成的hap包,需要手动安装,由于联系人和联系人助手共用一个bundleName,因此打包之前需要更改bundleName,保证两个包的bundleName不同,这样两个应用打开才不会出问题。 9 10### 效果预览 11 12|主页| 联系人详情 | 联系人 | 设置 | 13|--------------------------------|---------------------------------------------------------------------|--------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------| 14||  |  |  | 15 16使用说明: 17 181. 联系人应用,首页中点击**+**按钮可以添加联系人,在首页展示联系人列表。 192. 联系人应用首页点击搜索框可以搜索联系人,点击联系人进入详情页,详情页提供编辑和删除功能入口。 203. 联系人助手应用,点击同步联系人可以同步联系人应用的数据到联系人助手,同步后可以点击联系人进入详情页,详情页提供编辑和删除功能。 214. 联系人助手首页点击**+**按钮,可以新增联系人。 225. 联系人助手设置页面可以设置同步策略,根据不同的同步策略,每次点击首页的同步联系人按钮会同步一次联系人数据,默认使用联系人覆盖联系人助手策略。 23 24### 工程目录 25``` 26dataProvider/src/main/ets/ 27|---Application 28| |---MyAbilityStage.ts 29|---DataShareAbility 30| |---DataShareAbility.ts // 数据共享 31|---MainAbility 32| |---MainAbility.ts 33|---pages 34| | |---ContactDetail.ets // 联系人详情 35| | |---ContactEdit.ets // 联系人编辑 36| | |---Home.ets // 首页 37| |---Home 38| | |---Contacts.ets // 联系人 39| | |---HomeContent.ets // 首页列表 40| | |---SearchContact.ets // 搜索 41``` 42### 具体实现 43 44* 使用DataShareExtensionAbility实现数据共享,关系型数据库实现数据的增、删、改、查接口,DataShare管理和访问数据库数据变化。 45* 源码链接:[DataShareAbility.ts](dataProvider/src/main/ets/DataShareAbility/DataShareAbility.ts),[ContactEdit.ets](dataProvider/src/main/ets/pages/ContactEdit.ets),[ContactStore.ets](dataUser/src/main/ets/feature/ContactStore.ets) 46* 接口参考:[@ohos.data.DataShareResultSet](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-arkdata/js-apis-application-dataShareExtensionAbility-sys.md),[@ohos.data.relationalStore](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-arkdata/js-apis-data-dataShare-sys.md),[@ohos.data.rdb](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-arkdata/js-apis-data-rdb.md) 47 48### 相关权限 49 50不涉及。 51 52### 依赖 53 54不涉及。 55 56### 约束与限制 57 581. 本示例仅支持标准系统上运行,支持设备:RK3568。 59 602. 本示例为Stage模型,已适配API version 9版本SDK,版本号:3.2.11.9。 61 623. 本示例需要使用DevEco Studio 3.1 Beta2 (Build Version: 3.1.0.400, built on April 7, 2023)才可编译运行。 63 644. 本示例需要使用@ohos.data.dataShare,@ohos.data.dataSharePredicates,@ohos.data.ValuesBucket系统权限的系统接口。使用Full SDK时需要手动从镜像站点获取,并在DevEcoStudio中替换,具体操作可参考 [替换指南](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/faqs/full-sdk-switch-guide.md) 。 65 665. 本示例使用了DataShareExtensionAbility,安装需要手动配置签名,具体操作可查看[自动化签名方案](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/hapsigntool-overview.md)。 67 68### 下载 69 70如需单独下载本工程,执行如下命令: 71``` 72git init 73git config core.sparsecheckout true 74echo code/SystemFeature/DataManagement/CrossAppDataShare/ > .git/info/sparse-checkout 75git remote add origin https://gitee.com/openharmony/applications_app_samples.git 76git pull origin master 77``` 78