上手编写-柿饼UI“环境检测仪”代码

前言

首先,感谢RTT的这次体验机会,此代码参考了Factory_Demo

先上模拟器效果图:

上手编写-柿饼UI“环境检测仪”代码
上手编写-柿饼UI“环境检测仪”代码
上手编写-柿饼UI“环境检测仪”代码
上手编写-柿饼UI“环境检测仪”代码
上手编写-柿饼UI“环境检测仪”代码
上手编写-柿饼UI“环境检测仪”代码

由于UP上班原因,所以只能下班后不偷懒情况下弄,专心搞还是花不了太多时间的~

设计进度:
第一周:熟悉语法,产品框架
第二周:设计UI界面
第三周:设计界面
第四周:测试验证

第一周:熟悉语法,产品框架

这里推荐先撸RTT小破站的视频进行熟悉,官网有很多资料还未来得及更新,也是踩了两次坑。
https://space.bilibili.com/423462075/channel/detail?cid=74036

上手编写-柿饼UI“环境检测仪”代码

然后就是根据教程安装相关软件啦
必须统一使用 SDK 的开发工具(特别是 设计器,必须使用SDK里面的 ),SDK有全套的开发工具,不需要再额外下载。
SDK链接:https://realthread.cowtransfer.com/s/9248651f54b94c
反馈链接:https://www.wenjuan.com/s/UZBZJvNuqY/
社区论坛链接:https://club.rt-thread.org/

起初想通过调用阿里云天气接口,将空气数据也接入进来但是考虑实现,最终还是使用了彩云科技开放平台 API,由于前期未开放空气接口,先基于天气接口进行开发。
结构设计:(草图)

上手编写-柿饼UI“环境检测仪”代码
上手编写-柿饼UI“环境检测仪”代码
上手编写-柿饼UI“环境检测仪”代码

好了,下面通过PS实现框图绘制

第二周:设计UI界面

上手编写-柿饼UI“环境检测仪”代码
上手编写-柿饼UI“环境检测仪”代码
上手编写-柿饼UI“环境检测仪”代码

通过自动化脚本生成单独的素材

上手编写-柿饼UI“环境检测仪”代码

使用Python脚本进行图片清洗及整理

上手编写-柿饼UI“环境检测仪”代码

第三周:设计界面,代码实现

1、界面设计,图片导入,完成基础按钮功能

上手编写-柿饼UI“环境检测仪”代码

2、完成button跳转,listctrl,这里第二个button还没写,所以有个小bug,请忽略><

上手编写-柿饼UI“环境检测仪”代码

3、完成开机默认展示,时间更新

上手编写-柿饼UI“环境检测仪”代码

4、现在是不是完美很多了?

上手编写-柿饼UI“环境检测仪”代码
上手编写-柿饼UI“环境检测仪”代码
上手编写-柿饼UI“环境检测仪”代码
上手编写-柿饼UI“环境检测仪”代码

5、接下来是我认为最难的一个功能,历史检测的波形图绘制。
由于是第一次接触canvas,所以也是算了半天,首先从左上角开始为原点(0,0),然后根据自己画布的界面依次往下推导。

上手编写-柿饼UI“环境检测仪”代码

6、终于画完了T_T

上手编写-柿饼UI“环境检测仪”代码

Y坐标代表温度,X坐标代表0\~24小时的温度情况,这里由于开发时间受限,所以做了基础的代码,给出来的数据是通过随机数画的,并没有将实际的温度进行存储,所以导致温度幅度比较大,在实际情况下,应该会感冒吧哈哈~

第四周:测试验证

下载到板子里看看。

开机上电:

上手编写-柿饼UI“环境检测仪”代码

2、连接WIFI

上手编写-柿饼UI“环境检测仪”代码

连接成功

上手编写-柿饼UI“环境检测仪”代码

3、返回首页看看,天气已经出来了。语音也是可以播报的,点一下。
左侧的时间没有做成实时的,图快,新加了一个Label。

上手编写-柿饼UI“环境检测仪”代码

4、历史检测

上手编写-柿饼UI“环境检测仪”代码

5、设置页面

上手编写-柿饼UI“环境检测仪”代码
上手编写-柿饼UI“环境检测仪”代码
上手编写-柿饼UI“环境检测仪”代码

演示视频1:

演示视频2:

演示视频3:

(2)
AaronYang的头像AaronYang会员认证作者
上一篇 2023年 4月 10日 下午9:14
下一篇 2021年 6月 2日 下午4:18

相关推荐

  • iOS操作(action)和输出口(Outlet)

    简介 在iOS中,操作(action)和输出口(Outlet)指的是ibActions和ibOutlets,也就是ib接口生成器所在的地方。这些都和UI元素相关,我们将直观的了解他…

    2023年 4月 10日
  • Git 标签

    如果你达到一个重要的阶段,并希望永远记住那个特别的提交快照,你可以使用 git tag 给它打上标签。 比如说,我们想为我们的 aaronyang 项目发布一个1.0版本。 我们可…

    2024年 4月 30日
  • pvscan

    文章目录pvscan补充说明语法选项实例 pvscan 扫描系统中所有硬盘的物理卷列表 补充说明 pvscan命令 会扫描系统中连接的所有硬盘,列出找到的物理卷列表。使用pvsca…

    入门教程 2024年 3月 1日
  • Pandas JSON

    JSON(JavaScript Object Notation,JavaScript 对象表示法),是存储和交换文本信息的语法,类似 XML。 JSON 比 XML 更小、更快,更…

    2023年 5月 16日
  • ipcalc

    文章目录ipcalc补充说明语法选项实例 ipcalc 简单的IP地址计算器 补充说明 ipcalc命令 是一个简单的ip地址计算器,可以完成简单的IP地址计算任务。 语法 ipc…

    入门教程 2023年 12月 19日
  • speedtest-cli

    文章目录speedtest-cli补充说明安装speedtest-cli用法实例 speedtest-cli 命令行下测试服务器外网速度 补充说明 speedtest-cli 是一…

    入门教程 2024年 3月 5日
  • ln

    文章目录ln补充说明语法选项参数实例扩展知识软链接:硬链接符号链接(软连接) ln 用来为文件创建链接 补充说明 ln命令 用来为文件创建链接,链接类型分为硬链接和符号链接两种,默…

    入门教程 2023年 12月 19日
  • lvcreate

    文章目录lvcreate补充说明语法选项参数实例 lvcreate 用于创建LVM的逻辑卷 补充说明 lvcreate命令 用于创建LVM的逻辑卷。逻辑卷是创建在卷组之上的。逻辑卷…

    入门教程 2023年 12月 19日
  • scriptreplay

    文章目录scriptreplay补充说明语法选项参数实例 scriptreplay 重新播放终端会话的所有操作 补充说明 scriptreplay 用于在终端中,根据 script…

    入门教程 2024年 3月 4日
  • apk

    文章目录apk使用实例升级搜索查看包信息笔记 apk Alpine Linux 下的包管理工具 使用实例 apk install xxx apk search xxx # 支持正则…

    入门教程 2023年 12月 6日

发表回复

登录后才能评论
Translate »