场景
传统跨设备数据同步,需开发者完成:建立通信链接、消息收发处理、错误重试、数据冲突解决等一系列消息处理逻辑,工作量大且复杂。
设备之间的数据都是"变量",分布式数据对象即实现了对“变量”的“全局”访问。为开发者在分布式应用场景下提供简单易用的JS接口,轻松实现多设备间同应用的数据协同,同时设备间可以监听对象的状态和数据变更。
方案介绍
使用分布式数据对象进行跨设备数据同步时,需要申请ohos.permission.DISTRIBUTED_DATASYNC权限,允许不同设备间的数据交换,该权限为user_grant,需要向用户弹窗申请授权。
随后创建分布式数据对象并加入可信组网(进行跨设备数据同步的设备需要登录相同的华为账号,同一网络,并开启蓝牙)。
注:一个分布式对象加入组网时,如果它的数据与组网中的数据不同,它会刷新组网中的数据。若希望加入组网时不刷新组网中的数据,并且得到组网中的数据,可以将属性设置为undefined。(例如下文中的Message对象设置为:new Message(undefined,undefined) )。
实现效果
A、B两台设备分别点击创建分布式数据对象,并开启数据变更监听&#