分布式数据对象:超级终端的"全局变量"
一、背景介绍

二、原理解析

图3 数据视图

三、开发约束及案例
import distributedObject from '@ohos.data.distributedDataObject'
//创建对象,对象包含三个属性:name、age和isVis
var g_object = distributedObject.createDistributedObject({name:"Amy",
age:18, isVis:false});
//设置sessionID为“123456”
g_object.setSessionId("123456"); //设置监听对象变更的回调
changeCallback : function (sessionId, changeData) {
if (changeData != null && changeData != undefined) {
changeData.forEach(element => {
console.info("changed !" + element + " " + g_object[element]);
});
}
}
g_object.on("change", this.changeCallback);
//创建对象,对象包含三个属性:name、age和isVis
var g_object = distributedObject.createDistributedObject({name:"Amy",
age:undefined, isVis:false});
//设置sessionID为“123456”,这个session里已经有设备A的对象
g_object.setSessionId("123456"); //监听状态变更
statusCallback : function (sessionId, networkid, status) {
//成功加入session并检测到设备A上线
if (status == "online" && networkid == networkid_A) {
//此时设备A的age值是18,而本地age值是undefined,通过console.info自动同步设备A的
age数据到本地。如果想使用本地数据,可以把age初始值改为有效值,像name一样。
console.info ("age = {g_object.age}");
g_object.name = "jack";
//此时设备A的changeCallback收到对象变更的回调,打印出“changed !name jack”。
//后续使用g_object.做的属性修改都会自动同步给设备A,同时g_object.属性访问的数据都
是session中的最新数据(也包括设备A上的修改)。设备A和B相当于使用同一个全局变量g_object。
}
}
g_object.on("status", this.statusCallback);

分布式数据对象:超级终端的"全局变量"的更多相关文章
- Android系统在超级终端下必会的命令大全(adb shell命令大全)
. 显示系统中全部Android平台: android list targets . 显示系统中全部AVD(模拟器): android list avd . 创建AVD(模拟器): android c ...
- Windows PowerShell漫谈-win7下没有超级终端
Windows PowerShell是我在研究win7新特性的时候发现的新工具,起初没有对它产生太大的兴趣,只是简单看看了有关它的介绍.简单使用了一下,感觉上它和cmd.exe没有本质区别.对它产生兴 ...
- [转]ubuntu 下minicom超级终端的使用方法
[转]ubuntu 下minicom超级终端的使用方法 http://blog.chinaunix.net/uid-25909619-id-3184639.html 系统环境: Ubuntu 11.0 ...
- Win7超级终端查看单片机printf输出
问题描述: 编写单片机C程序时,经常会用到printf输出信息进行查看,如何查看printf输出? 问题解决: (1)编写单片机C程序 ucos是一个实时多任务操作系统,以上是 ...
- 超级终端和SecureCRT进行Console口的连接
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html 内部邀请码:C8E245J (不写邀请码,没有现金送) 国 ...
- 怎样在超级终端和PC之间通过串口传输文件
Windows环境下,通过SecureCRT软件,用串口向ARM开发板发送文件: 输入命令 rz,可以看到如下图所示: 选择路径点击上传即可. 如果是想从Arm开发板中把文件Down下来,则可以按照下 ...
- STM32F4 串口实验中收不到超级终端发送的数据,调试工具却可以
我用串口精灵发送数据没有问题,但是接收数据没反应. 串口接受的时候必须要用中断的,你发送只靠单一的标志位是可以判断的,但是接受的时候,你是一直停留在while里面,我们判断接受是否完成,通过检测是否收 ...
- Win7下使用Putty代替超级终端通过COM串口连接开发板方法
1.如果电脑(笔记本)没有串口接口,则需要使用一个 USB-Serial 转换线,这里使用 prolific usb-serial USB--串口转换线,首先需要在win7上安装对应的 USB--串口 ...
- linux超级终端minicom的使用方法
===== 一.Minicom介绍 ===== Linux下的Minicom的功能与Windows下的超级终端功能相似,可以通过串口控制外部的硬件 设备.适于在linux通过超级终端对 ...
- SecureCRT超级终端使用说明
SecureCRT超级终端使用说明 一.连接POS机 1.运行SecureCRT,选择‘文件’菜单,在下拉菜单中选择‘快速连接’菜单: 2.在弹出的对话框中按如下图选择参数: 3.POS端开机,且数据 ...
随机推荐
- django学习第四天----mark_safe的用法,静态文件配置,用指令创建django项目应用注意点,ORM介绍,创建表执行命令,模板渲染补充(组件),inclusion_tag 自定义标签
补充第三天跟safe差不多的一个方法 templatetags文件夹 自定义的py文件 需要先导入模块 from django.utils.safestring import mark_safe @r ...
- Javascript之Object、Array
Object.keys 对象的键转化为数组 Object.values 对象的属性值转化为数组 Object.assign 对象的合并 Array.from() 伪数组对象的属性值转化为数组.类似 ...
- 【Azure 应用服务】在App Service中新建WebJob时候遇见错误,不能成功创建新的工作任务
问题描述 在Azure App Service界面上,添加新的Web Job(工作任务)时,一直添加失败.无详细错误提示,在App Service的Activity Logs(活动日志)中,根本没有添 ...
- 【Azure 应用服务】Azure SignalR 是否可以同时支持近十万人在线互动
什么是 Azure SignalR 服务? Azure SignalR Service 简化了通过 HTTP 向应用程序添加实时 Web 功能的过程. 这种实时功能允许服务将内容更新推送到连接的客户端 ...
- 【Azure 应用服务】可以在app service里建SFTP服务吗?
问题描述 怎样可以在App Service里建SFTP服务? 并不是说通过FTP的方式进行App Service的文件部署. 问题回答 不能通过 App Service 来搭建总计的SFTP服务,因为 ...
- 【Azure 环境】台湾同胞:詢問大陸所有廠牌手機是否都可透過通知中心發送訊息
什么是 Azure 通知中心? Azure 通知中心提供易于使用且向外扩展的推送引擎,可用于将通知发送到任何平台 (iOS.Android.Windows.Kindle.百度等 ) 从任何后端 (云和 ...
- gopkg.in/go-playground/validator中比较有用的标签
- 忽略| 或omitempty 有则验证,空值则不验证dive 潜入到切片.数组.映射中,例如 NumList []int `validate:"len=2,dive,gt=18&q ...
- [vbs] 定时关闭进程代码
Dim bag,pipe do Set bag=GetObject("WinMgmts:") Set pipe=bag.execquery("select * from ...
- stm32读写sd卡代码解析和调试总结
一 前言 做程序员真是来不得半点偷懒,假如你对经常使用的代码不熟悉,早晚会让你付出沉重的代价.像认识自己的灵魂一样认识每行用到的代码,这才是一个合格的程序员,才不至于在出现问题的时候出现慌乱. ...
- 2.4G无线音频传输方案市场调研分析
基本概念 所谓的2.4G音频传输,不是使用标准的wifi和蓝牙协议传输,而是使用私有的2.4G通信协议来实现点对点,一对多和多对一的音频传输.2.4G私有协议音频传输,有这低延时,距离远,声音高清 ...