ARM Linux UI 一种为 设备构建跨平台 的新方法

  • 电脑网络维修
  • 2024-11-14

为运行程序创立良好的用户体验(UX)是一项艰难的义务,尤其是在开发嵌入式运行程序时。当天,有两种图形用户界面(GUI)工具通罕用于开发嵌入式软件:它们要么触及复杂的技术,要么十分低廉。

但是,咱们曾经创立了一个概念验证(PoC),它提供了一种新的方法来经常使用现有的、成熟的工具为运转在桌面、移动、嵌入式设备和低功耗 ARM 设备上的运行程序构建用户界面(UI)。咱们的方法是经常使用 Android Studio 绘制 UI;经常使用 TotalCross 在设备上出现 Android XML;驳回被称为的新 TotalCross API ;以及经常使用 树莓派 4 来口头运行程序。

选用 Android Studio

可以经常使用 TotalCross API 为运行程序构建一个好看的照应式用户体验,但是在 Android Studio 中创立 UI 缩短了制造原型和实践运行程序之间的期间。

有很多工具可以用来为运行程序构建 UI,但是 Android Studio 是全环球开发者最经常常使用的工具。除了它被少量驳回以外,这个工具的经常使用也十分直观,而且它关于创立便捷和复杂的运行程序都十分弱小。在我看来,惟一的缺陷是经常使用该工具所需的计算机功能,它比其余集成开发环境 (IDE) 如 VSCode 或其开源代替打算要宏大得多。

经过思索这些疑问,咱们创立了一个概念验证,经常使用 Android Studio 绘制 UI,并经常使用 TotalCross 间接在设备上运转 AndroidXML。

构建 UI

关于咱们的 PoC,咱们想创立一个家用电器运行程序来控制温度和其余物品,并在 Linux ARM 设备上运转。

Home appliance application to control thermostat

咱们想为树莓派开发咱们的运行程序,所以咱们经常使用 Android 的 ConstraintLayout 来构建 848x480(树莓派的分辨率)的固定屏幕大小的 UI,不过你可以用其余规划构建照应性 UI。

Android XML 为 UI 创立参与了很多灵敏性,使得为运行程序构建丰盛的用户体验变得容易。在上方的 XML 中,咱们经常使用了两个重要组件:和。

TextView 元素用于向用户显示一些数据,比如修建物内的温度。大少数 ImageView 都用作用户与 UI 交互的按钮,但它们也须要成功屏幕上组件提供的事情。

用 TotalCross 整合

这个 PoC 中的第二项技术是 TotalCross。咱们不想在设备上经常使用 Android 的任何物品,由于:

1。咱们的指标是为 Linux ARM 提供一个杰出的 UI。 2。咱们宿愿在设备上成功低占用。 3。咱们宿愿运行程序在低计算才干的低端配件设备上运转(例如,没有 GPU、 低 RAM 等)。

首先,咱们经常使用 VSCode 插件 创立了一个空的 TotalCross 名目。接上去,咱们保管了文件夹中的图像正本和文件夹中的 Android XML 文件正本,这两个文件夹都位于文件夹中:

Home Appliance file structure

为了经常使用 TotalCross 模拟器运转 XML 文件,咱们参与了一个名为 KnowCode 的新 TotalCross API 和一个主窗口来加载 XML。上方的代码经常使用 API 加载和出现 XML:

就这样!只有两个命令,咱们就可以经常使用 TotalCross 运转 Android XML 文件。以下是 XML 如何在 TotalCross 的模拟器上口头:

TotalCross simulator running temperature application

成功这个 PoC 还有两件事要做:参与一些事情来提供用户交互,并在树莓派上运转它。

参与事情

KnowCode API 提供了一种经过 ID( getControlByID ) 失掉 XML 元素并更改其行为的方法,如参与事情、更改可见性等。

例如,为了经常使用户能够扭转家中或其余修建物的温度,咱们在 UI 底部搁置了加号和减号按钮,并在每次单击按钮时都会产生“单击”事情,使温度升高或降落一度:

在树莓派 4 上测试

最后一步!咱们在一台设备上运转了运行程序并审核了却果。咱们只有要打包运行程序并在指标设备上部署和运转它。也可用于审核设备上的运行程序。

整个运行程序,包含资源(图像等)、Android XML、TotalCross 和 Knowcode API,在 Linux ARM 上大概是 8MB。

上方是运行程序的演示:

Application demo

在本例中,该运行程序仅为 Linux ARM 打包,但同一运行程序可以作为 Linux 桌面运行程序运转,在Android 设备 、Windows、windows CE 甚至 iOS 上运转。

一切示例源代码和名目都可以在 HomeApplianceXML GitHub 存储库中找到。

现有工具的新玩法

为嵌入式运行程序创立 GUI 并不须要像如今这样艰难。这种概念证实为如何轻松地成功这项义务提供了新的视角,不只实用于嵌入式系统,而且实用于一切重要的操作系统,一切这些系统都经常使用相反的代码库。

咱们的指标不是为设计人员或开发人员创立一个新的工具来构建 UI 运行程序;咱们的指标是为经常使用现有的最佳工具提供新的玩法。

  • 关注微信

本网站的文章部分内容可能来源于网络和网友发布,仅供大家学习与参考,如有侵权,请联系站长进行删除处理,不代表本网站立场,转载联系作者并注明出处:https://duobeib.com/diannaowangluoweixiu/4710.html

猜你喜欢

热门标签

洗手盆如何疏浚梗塞 洗手盆为何梗塞 iPhone提价霸占4G市场等于原价8折 明码箱怎样设置明码锁 苏泊尔电饭锅保修多久 长城画龙G8253YN彩电输入指令画面变暗疑问检修 彩星彩电解除童锁方法大全 三星笔记本培修点上海 液晶显示器花屏培修视频 燃气热水器不热水要素 热水器不上班经常出现3种处置方法 无氟空调跟有氟空调有什么区别 norltz燃气热水器售后电话 大连站和大连北站哪个离周水子机场近 热水器显示屏亮显示温度不加热 铁猫牌保险箱高效开锁技巧 科技助力安保无忧 创维8R80 汽修 a1265和c3182是什么管 为什么电热水器不能即热 标致空调为什么不冷 神舟培修笔记本培修 dell1420内存更新 青岛自来水公司培修热线电话 包头美的洗衣机全国各市售后服务预定热线号码2024年修缮点降级 创维42k08rd更新 空调为什么运转异响 热水器为何会漏水 该如何处置 什么是可以自己处置的 重庆华帝售后电话 波轮洗衣机荡涤价格 鼎新热水器 留意了!不是水平疑问! 马桶产生了这5个现象 方便 极速 邢台空调移机电话上门服务 扬子空调缺点代码e4是什么疑问 宏基4736zG可以装置W11吗 奥克斯空调培修官方 为什么突然空调滴水很多 乐视s40air刷机包 未联络视的提高方向 官网培修 格力空调售后电话 皇明太阳能电话 看尚X55液晶电视进入工厂形式和软件更新方法 燃气热水器缺点代码

热门资讯

关注我们

微信公众号