Skip to content
On this page

小部件编辑器——变量

Formula 支持的变量类型

变量类型用户使用方式
(以``包裹)
Xml 中保存方式
[@|#]表示变量类型)
系统全局变量`GL.xxx`[@|#]global_xxx_var
Provider 接口变量`PD.xxx.xxx.xxx`[@|#]provider_xxx_var
Broadcast 广播接口变量`BD.xxx.xxx`[@|#]broad_xxx_var
Sensors 传感器变量`SS.xxx.xxx`[@|#]sensor_xxx_var
图层属性变量`图层名.xxx`[@|#]图层变量名_xxx
用户自定义变量变量名[@|#]user_xxx_var

数据源

系统变量清单

编辑器中的用法

  • 在表达式中使用时必须以``包裹

示例:
`PD.weather.actualWeatherData.city_name`
`GL.battery_leve`
`PD.weather.afi.pm25`+variable1+`GL.battery_level`+'abahc'
`PD.weather.weatherData.tmphighs`[1] + '度'

生成XML规则

  • provider变量加前缀 provider_
  • 全局变量加前缀 global_
  • . 替换为 _
  • 变量全部以_var 结尾

示例:

xml
 <!-- provider 返回 -->
 <VariableBinders>
     <ContentProvider _system='true'>
       <!-- provider 返回变量 -->
       <Variable name="provider_weather_actualWeather_city_name_var" 
       type="string" column="city_name" />
     </ContentProvider>
 </VariableBinders>

 <!-- 系统全局变量 -->
 <Var name="global_battery_level_var" type="number" 
 expression="#battery_level" _system="true">
  <!-- 用户自定义变量 -->
 <Var name="user_variable1_var" type="number" 
 expression="#battery_level" _isFormula="true" _user="true" >

变量

  • 变量赋值 这是图片
TypeScript
// 数字常量
1
// 文本常量
abc
// 数字列表
1,2,3,4
// 文本列表, 默认使用英文逗号为分隔符,若非分隔符,应转义 \,
a,b,c,d
// 表达式
1+'a'+`GL.xxx`
// 表达式数组
1+'a'+`GL.xxx`'b', variable+1
  • 变量访问
TypeScript
// 数字
#variable
// 文本
@variable
// 数字列表
#variable[index]
// 数字列表
@variable[index]
// provider 数组
`PD.weather.weatherData.tmphighs`[index]

表达式

MAML 支持的表达式

小部件编辑器表达式