Skip to content

系统变量-variable

描述


系统变量,用于存储系统变量值,掉电后不丢失。系统变量类似于map<key, value>数据结构,包括名称(key)和内容(value). 父对象为service,无子对象。

从1.4.0开始,增加云变量的读和写,详情请点击此处

事件:


onCloudReadSuccess: 云变量读取成功,函数定义onCloudReadSuccess(name, value), name为变量名称,value为变量的值

onCloudWriteSuccess: 云变量写成功,函数定义onCloudWriteSuccess(name), name为变量名称

onCloudError: 云变量操作错误,函数定义onCloudError(operation, name, reason), operation为操作名"read"或"write", name为变量名称,reason为错误原因

属性:


名称功能说明脚本例子
cloudId云标识,设置了相同云标识的设备之间可以互相读写相同名称的变量service.variable.cloudId='9a70318b722815232345959bf5f8b0d4' 设置云标识

方法


名称功能说明脚本例子
write(name, value)存储系统变量为字符串,参数name为系统变量名称,value为值service.variable.write('test', 12) 存储名称为test的系统变量,值为12
read(name)读取系统变量,参数name为系统变量名称,返回类型为字符串var value=service.variable.read("test") 读取系统变量test,返回字符串'12'
cloudWrite(name, value)存储变量到云端service.variable.cloudWrite('test', 1234) 存储变量test的值到云端
cloudRead(name)读取云端变量service.variable.cloudRead('test'); 读取云端变量,返回值通过 事件onCloudReadSuccess(name,value)返回
writeInt(name,  value)存储系统变量为整形,参数name为系统变量名称,value为值service.variable.writeInt('test, 12) 存储名称为test的系统变量,值为12
readInt(name)读取系统变量,参数name为系统变量名称,返回类型为整形var value=service.variable.readInt('test') 读取系统变量test的值,返回整形12
writeIntArray(name, value)存储系统变量为整形数组,参数name为系统变量名称,value为数组service.variable.writeIntArray('test, [11, 22, 33]) 存储名称为test的系统变量,值为整形数组
readIntArray(name)读取系统变量,参数name为系统变量名称,返回类型为整形数组var value=service.variable.readIntArray('test') 读取系统变量test的值,返回整形数组[11, 22, 33]
writeStrArray(name, value)存储系统变量为字符串数组,参数name为系统变量名称,value为数组service.variable.writeStrArray('test, ['aa', 'bb', 'cc']) 存储名称为test的系统变量,值为字符串数组
readStrArray(name)读取系统变量,参数name为系统变量名称,返回类型为字符串数组var value=service.variable.readStrArray('test') 读取系统变量test的值,返回字符串数组['aa', 'bb', 'cc']
contains(key)返回是否已存在指定的名称系统变量
if (service.variable.contains("key")) … 检查系统中是否已存在名称为key的系统变量
size()
返回系统中已存在的系统变量总数, 无参数
var num = service.variable.size() 读取已存入系统中的系统变量个数并存入变量num中
allKeys()
返回所有已存在的系统变量名称, 无参数
var a = new Array(service.variable.size()) a = service.variable.allKeys() 读取所有系统变量的名称,并存入数组a中
remove(…)
删除系统变量,参数可为0(删除所有),一个或者一个以上
service.variable.remove() 删除所有系统变量 service.variable.remove("test") 删除名称为test的系统变量 service.variable.remove("test1", "test2") 删除名称为test1和test2的系统变量
save()
强制存储系统变量,无参数。即使不调用此函数,系统会自动存储,调用此方法强制系统立刻存储.
service.variable.save() 强制系统立刻存储所有系统变量
backup(filepath)备份所有系统变量到filepath指定的文件
service.variable.backup("/storage/d0/bak.ini") 备份所有系统变量到文件 /storage/d0/bak.ini
restore(filepath)从filepath指定的文件恢复所有系统变量
service.variable.restore("/storage/d0/bak.ini") 从文件/storage/d0/bak.ini中恢复所有系统变量