点击登录

米表S系列 教程 如何在 AIoT IDE 中开发纯Lua表盘应用(一键运行在虚拟机)

极客之爱

Lv.6
社区会员
米坛社区五周年纪念勋章
注意:使用时不要开启其他Android虚拟机或任何基于adb的应用/虚拟机

如何部署:


这是一个精简后的Vela JS 快应用项目

① 首先在 AIoT IDE 中安装以下插件:
  • Lua 开发者:sumneko
  • ADB Files 开发者:Erol444 ——如果不需要管理虚拟机内文件,可以不装
  • Task Runner 开发者:Sana Ajani
② 安装插件后,导入压缩包中的项目

③ 你可以在IDE的资源管理器下方看到TASK RUNNER,把这一栏拉长,内容默认会被挡住

④ 启动镜像为vela-miwear-watch-5.0的虚拟机,确保一定带有miwear,否则镜像没有Lua环境

⑤ 模拟器成功启动后点击 “运行Lua应用
1763087563184.webp

⑥ 此时不要操作虚拟机,点击关闭按钮,直接关闭虚拟机
1763087823018.webp

⑦ 再次启动虚拟机,即可正常使用

使用教程:

你的Lua代码,只应出现在项目的 src/lua/app 下,且你的程序主代码只能名为 app.lua

1763088257200.webp

你的其他自制的Lua模块/资源文件也只能放在 src/lua/app 下,在 app 文件夹外的代码文件均不可修改

使用前 切换到LuaDev表盘(按照步骤部署后,你的虚拟机上会出现LuaDev表盘。如果没有,请检查是否有遗忘的步骤)

代码:
local M = {}
local toast = require('toast')
function M.build(api)
  local root = lvgl.Object(nil, {
    w = lvgl.HOR_RES(),
    h = lvgl.VER_RES(),
  }):add_flag(lvgl.FLAG.EVENT_BUBBLE)
  local timeLabel = lvgl.Label(root, {
    text  = os.date("%Y-%m-%d %H:%M:%S"),
    align = lvgl.ALIGN.CENTER,
  })
  timeLabel:set { text_color = 0xC8C8C8 }
  local button = lvgl.Label(root, {
    text         = "Click Me",
    -- align        = lvgl.ALIGN.CENTER,
    w            = 100,
    h            = 30,
    x            = 233,
    y            = 300,
    border_width = 1
  })
  button:add_flag(lvgl.FLAG.CLICKABLE)
  button:onevent(lvgl.EVENT.CLICKED, function(obj, code)
    button:set { text = "Yes", y = 200, x = 133 }
    toast.show("click", 1200, root)
  end)
  api.on_tick(function(epoch)
    timeLabel:set { text = os.date("%Y-%m-%d %H:%M:%S", epoch) }
  end)
  return root
end
return M

你的代码主逻辑请写在 M.build 中,可以把M.build看作Main函数

不要改变外部的返回值M和root,以及顶部的变量M

向实机迁移代码时,只需要移除M.build包裹,删除root和M的返回,删除local M = {}
即可将app.lua完整的迁入实机
注意:你不需要迁移app文件夹以外的文件!

为实机开发的应用不要使用api的函数,它不兼容实机

以下函数均为调试重载器的函数,不可在实机使用
api解释:
on_tick(cb) ——重载器的心跳函数
on_align(cb) ——重载器对齐现实时间的事件
now() ——返回当前时间
generation() ——返回当前代际,用于确定代码版本
schedule(ms, fn) ——一个安全的定时器,调用app文件夹外部代码时使用

在app.lua中,编写完你的代码且保存后,在Task Runner中点击 运行Lua应用
1763087563184.webp


虚拟机中会自动同步你的最新代码
35134.gif


关于ADB Files的使用方法:
ADB Files不能与aiot-core同时运行,所以使用前请新建窗口
1763089735575.webp

使用快捷键 Ctrl+Shift+P 输入VSCode指令: adbfs.workspaceInit
你可以在IDE的资源管理器看到
1763089881058.webp

至此你也可以管理虚拟机中的文件了

Lua开发文档在这:https://www.bandbbs.cn/threads/22955/

VelaOS开发技术交流群 1群:748249608
VelaOS开发技术交流群 2群:1072548075

VelaOS爱好者交流群 1群:762879924
VelaOS爱好者交流群 2群:682843907
 

附件

  • LuaDevTemplate.zip
    34.9 KB 下载
最后编辑:

*这是一则由 Google AdSense 自动推荐的广告,与本站无关,不对其真实性与可靠性负责

相似主题

米表S系列 教程
60
3

Vela圆表小程序
3K
13

红米手表4 小程序

Users who are viewing this thread

Home 首页
Home 资源
News 发现
Account 我的
顶部