上手编写-柿饼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年 12月 14日 下午6:27
下一篇 2021年 6月 2日 下午4:18

相关推荐

  • apt-key

    文章目录apt-key补充说明语法参数实例 apt-key 管理Debian Linux系统中的软件包密钥 补充说明 apt-key命令 用于管理Debian Linux系统中的软…

    入门教程 2023年 12月 6日
  • diff

    文章目录diff补充说明语法选项参数实例以正常模式比较差异以上下文 (context) 模式比较差异以联合 (unified) 模式比较差异多文件比较差异 diff 比较给定的两个…

    入门教程 2023年 12月 7日
  • hostid

    文章目录hostid概要主要用途选项例子注意 hostid 显示当前主机的十六进制数字标识。 概要 hostid [OPTION]… 主要用途 显示当前主机的十六进制标识符。 …

    入门教程 2023年 12月 15日
  • setsebool

    文章目录setsebool补充说明语法选项实例 setsebool 修改SElinux策略内各项规则的布尔值 补充说明 setsebool命令 是用来修改SElinux策略内各项规…

    入门教程 2024年 3月 4日
  • Java 对象和类

    Java作为一种面向对象语言。支持以下基本概念: 多态 继承 封装 抽象 类 对象 实例 方法 重载 本节我们重点研究对象和类的概念。 对象:对象是类的一个实例(对象不是找个女朋友…

    2023年 3月 4日
  • expand

    文章目录expand补充说明语法选项参数 expand 将文件的制表符转换为空白字符 补充说明 expand命令 用于将文件的制表符(TAB)转换为空白字符(space),将结果显…

    入门教程 2023年 12月 14日
  • lftpget

    文章目录lftpget补充说明语法选项参数 lftpget 调用lftp指令下载指定的文件 补充说明 lftpget命令 通过调用lftp指令下载指定的文件。 语法 lftpget…

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

    文章目录skill补充说明语法选项实例 skill 向选定的进程发送信号冻结进程 补充说明 skill命令 用于向选定的进程发送信号,冻结进程。这个命令初学者并不常用,深入之后牵涉…

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

    文章目录usermod补充说明语法选项参数实例 usermod 用于修改用户的基本信息 补充说明 usermod命令 用于修改用户的基本信息。usermod 命令不允许你改变正在线…

    入门教程 2024年 3月 11日
  • ntpdate

    文章目录ntpdate补充说明语法选项 ntpdate 使用网络计时协议(NTP)设置日期和时间 补充说明 ntpdate命令 是用来设置本地日期和时间。它从指定的每个服务器获得了…

    入门教程 2024年 1月 10日

发表回复

登录后才能评论
Translate »