通信命令与事件
通信命令与事件是一种机制,它让你能够与设备的底层(硬件)进行交互。
通信命令
通信命令
是上层对下层发出的请求。
用户输入最终会转换为一些指令,以使设备执行某些操作。
例如,当用户点击一个按钮时,该按钮会向底层发送请求,指示设备连接到 WiFi。通信命令
就是将请求进行封装并发送到底层的方式。
通信命令
仅提供发送请求的能力,并不涵盖任何业务逻辑。由设备制造商来实现业务逻辑,换句话说,由设备制造商决定提供哪些可用命令。
通信事件
通信事件
是底层向上层发出的通知。
当底层发生某些情况时,底层会向上层发送通知以更新用户界面(UI)。
例如,当设备连接到 WiFi 时,设备会向上层发送通知以更新 UI。通信事件
就是将通知进行封装并发送到上层的方式。
通信事件
仅提供发送通知的能力,并不涵盖任何业务逻辑。由设备制造商来实现业务逻辑,换句话说,由设备制造商决定提供哪些可用事件。
通信事件的状态与操作
从用户界面(UI)的角度来看,通常在接收到一个事件时,需要更新某些内容,比如根据特定条件更新标签文本或图标等。
对于通信事件,我们使用状态和动作机制,以便更轻松地更新用户界面。你可以相应地配置状态以及针对该状态的动作。
例如: 你可能希望为一个 “图像” 部件配置以接收蓝牙状态事件,并分别显示蓝牙断开连接和蓝牙已连接的图标。
- 右键点击 “图像” 部件,添加一个 “蓝牙状态改变” 的 “通信事件”。
- 配置事件的状态:
- 状态:0(蓝牙断开连接) 动作:设置蓝牙断开连接时的图像
- 状态:1(蓝牙已连接) 动作:设置蓝牙已连接时的图像
你如 何知道该使用哪些 “状态码” 呢?这是由你的设备供应商提供的。你应该有设备的相关文档,其中会说明你可以使用哪些状态代码。状态码
是由底层业务逻辑决定的。
默认可用的命令与事件
尽管 通信命令
和 通信事件
与设备相关联,但我们仍提供了一些默认可用的命令和事件供你使用。
- 时间更新
- 蓝牙连接 / 断开连接
- WiFi 连接 / 断开连接
- 电池电量变化
这些是设备命令 / 事件,其实现是模拟的,需要用真实实现替换。
- 抽屉打开 / 关闭
这是一个 UI 命令 / 事件,而非设备事件。
创建项目时,这些命令 / 事件即可用,你可以直接使用这些命令和事件,也可以对其进行修改以适配你的业务逻辑。
通信命令与事件与设备强关联,如果你想要使用设备的全部能力,让你的设备供应商与我们联系,我们可为该设备提供内置支持