企业宣传,产品推广,广告招商,广告投放联系seowdb

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

为运行程序创立良好的用户体验(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 运行程序;咱们的指标是为经常使用现有的最佳工具提供新的玩法。

© 版权声明
评论 抢沙发
加载中~
每日一言
不怕万人阻挡,只怕自己投降
Not afraid of people blocking, I'm afraid their surrender