JS API 通用使用方法
ElenixOS 提供了丰富的 JavaScript API,用于开发应用和表盘。本文档将介绍 JS API 的通用使用方法,包括基本概念、命名规范、错误处理等内容。
基本概念
API 命名空间
ElenixOS 的 JavaScript API 通过以下命名空间暴露给脚本:
eos- 系统 APIlv- LVGL UI API
面向对象风格
ElenixOS 的 JavaScript API 采用面向对象的风格,使用构造函数创建对象,使用实例方法操作对象:
// 创建一个按钮
const button = new lv.button(eos.view.active());
// 设置按钮大小和位置
button.setSize(100, 50);
button.setPos(10, 10);
// 添加标签
const label = new lv.label(button);
label.setText("Click Me");
事件处理
ElenixOS 的 JavaScript API 使用回调函数处理事件:
// 绑定点击事件
button.addEventCb((e) => {
eos.console.log("Button clicked!");
}, lv.EVENT_CLICKED, null);
命名规范
常量命名
常量使用全大写字母,单词之间用下划线分隔:
// 事件类型
lv.EVENT_CLICKED
lv.EVENT_PRESSED
// 对象标志
lv.OBJ_FLAG_CLICKABLE
lv.OBJ_FLAG_CHECKABLE
// 对齐方式
lv.ALIGN_CENTER
lv.ALIGN_TOP_LEFT
方法命名
方法使用驼峰命名法,首字母小写:
// 设置方法
button.setSize(width, height);
button.setPos(x, y);
// 获取方法
const width = button.getWidth();
const height = button.getHeight();
构造函数命名
构造函数使用驼峰命名法,首字母小写:
// 创建对象
const button = new lv.button(parent);
const label = new lv.label(parent);
错误处理
异常捕获
使用 try-catch 捕获可能的错误:
try {
// 可能会抛出错误的代码
const button = new lv.button(null);
} catch (e) {
// 处理错误
eos.console.error("Error creating button:", e);
}
错误类型
ElenixOS 的 JavaScript API 可能会抛出以下类型的错误:
- TypeError - 参数类型错误
- ReferenceError - 引用不存在的对象
- RangeError - 参数值超出范围
内存管理
对象生命周期
在 ElenixOS 中,对象的生命周期由垃圾回收器管理。当对象不再被引用时,垃圾回收器会自动回收其内存。
手动释放
对于一些资源密集型对象,可以手动释放以节省内存:
// 创建对象
const timer = new lv.timer(parent);
// 使用对象
// ...
// 手动释放对象
timer.delete();
异步操作
定时器
参见 定时器。
调试技巧
日志输出
使用 eos.console.log 输出日志信息:
eos.console.log("Debug information");
eos.console.error("Error information");
eos.console.warn("Warning information");