📚往期笔录记录🔖:
🔖鸿蒙(HarmonyOS)北向开发知识点记录~
🔖鸿蒙(OpenHarmony)南向开发保姆级知识点汇总~
🔖鸿蒙应用开发与鸿蒙系统开发哪个更有前景?
🔖嵌入式开发适不适合做鸿蒙南向开发?看完这篇你就了解了~
🔖对于大前端开发来说,转鸿蒙开发究竟是福还是祸?
🔖鸿蒙岗位需求突增!移动端、PC端、IoT到底该怎么选?
🔖记录一场鸿蒙开发岗位面试经历~
🔖持续更新中……
场景描述:
本模块为统一数据管理框架(Unified Data Management Framework,UDMF)的组成部分,针对多对多跨应用数据共享的不同业务场景提供了标准化的数据通路,提供了标准化的数据接入与读取接口。同时对文本、图片等数据类型提供了标准化定义,方便不同应用间进行数据交互,减少数据类型适配的工作量。
常见场景:
1、考虑到会存在一台手机同时安装多个app的场景,需要有同一个用户账号登录信息。
2、期望公司内部的应用可以使用同一个唯一标识符用于识别同一用户。
场景实现:
场景一:
同一公司不同App间的账号共享
效果图:

方案:
一、应用A创建用户id并插入到UDMF的公共数据通路中。
1、在ui界面定义了两个文本输入框(用于输入用户名和密码)
2、声明一个 options 变量,并指定了要插入数据的数据通路枚举类型为 DATA_HUB。
3、调用 insertData 函数,尝试将数据插入到指定的数据通路中
4、进行异常处理
import { unifiedDataChannel, uniformTypeDescriptor } from '@kit.ArkData';
import { BusinessError } from '@kit.BasicServicesKit';
@Entry
@Component
struct Index {
@State username: string = '';
@State passwd: string = '';
insert() {
//创建一个新的 PlainText 实例。
let plainText = new unifiedDataChannel.PlainText();
plainText.textContent = this.username;
//创建一个 UnifiedData 实例,传入之前创建的 PlainText 实例作为参数
let unifiedData = new unifiedDataChannel.UnifiedData(plainText);
// 声明一个 options 变量,并指定了要插入数据的数据通路枚举类型为 DATA_HUB。
let options: unifiedDataChannel.Options = {
intention: unifiedDataChannel.Intention.DATA_HUB
}
//异常处理
try {
//调用 insertData 函数,尝试将数据插入到指定的数据通路中。
// (err,data)回调函数,用于处理 insertData 函数执行过程中可能出现的错误信息和插入成功后返回的数据信息。
unifiedDataChannel.insertData(options, unifiedData, (err, data) => {
if (err === undefined) {
console.info(`Succeeded in inserting data. key = ${plainText.textContent}`);
} else {
console.error(`Failed to insert data. code is ${err.code},message is ${err.message} `);
}
});
} catch (e) {
//将捕获的异常 e 强制转换为 BusinessError 类型,并赋值给 error 变量。
let error: BusinessError = e as BusinessError;
console.error(`Insert data throws an exception. code is ${error.code},message is ${error.message} `);
}
}
build() {
Column() {
//定义了两个文本输入框(用于输入用户名和密码

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



