STMCU小助手
发布时间:2023-3-4 20:00
|
MVP TouchGFX用户界面遵循称为模型视图展示者(MVP)的体系结构模式,该模型是模型视图控制器(MVC)模式的派生。两者都广泛用于构建用户界面应用程序。# s1 {4 w. H8 `1 K* m, O model 是定义要在用户界面中显示或作用的数据的界面。$ R9 m9 l; g ?; U/ n) r view 是一个被动界面,用于显示数据(来自model )并将用户命令(event)路由到演示者以对该数据进行操作。 presenter作用在模型和视图。它从存储库(model )中检索数据,并将其格式化以显示在视图中。 % G0 s3 L% Q, ]# X: T$ t. a4 H
什么时候会使用MVP模式 使用MVP模式总共有两种情况:; X3 n4 j1 d% D+ e5 k7 s" L6 E$ Y) w 当使用多个界面时,这些界面都会进行数据交互。交互的数据将采用view到presenter再到model存入model类中,之后其他view需要数据时,将数据再从model到presenter再到view进行显示出来。MVP模式意味着一个Model统一给多个Presenter和多个View提供数据。 在TouchGFX中,与应用程序的非UI部分(这里称为后端系统)的通信是通过Model类完成的。后端系统是一个软件组件,既可以从UI接收事件,也可以将事件馈入UI,例如来自传感器的新测量。后端系统可以作为单独的任务在同一MCU上,在单独的处理器,云模块或其他设备上运行。从TouchGFX的角度来看,这并不重要,只要它是可以与之通信的组件即可。+ E4 ^* Z3 p3 P( d7 X" r8 N+ ]
如何使用MVP模式 在文件结构上存在这model.cpp文件,而Presenter和View是每个页面都有一组。具体开发方式参考其他的文档。 3 U& e) J/ m) J; _. Q; P0 d 使用MVP模式注意事项 大多数使用MVP模式开发过程中都是为了满足页面交互时可以保留数据,也是为了满足将数据从底层拿到UI上进行显示和处理,最好的使用方法是在Model层保存数据,view层显示数据,不要在view层保存数据。这种保存数据的原因是因为页面在迁移时会释放相应页面的类,但是Model层的类不会进行释放,所以选择Model层来保存数据。除此之外,对于touchgfx和后台其他程序进行交互时,最好采用消息队列方式进行解耦,这样可以保证View显示的数据不会因为后台数据越界或其他操作导致UI崩溃。- u5 \2 w0 {& \ ————————————————% |0 t& p6 |% L& \% u: ]4 }# Q 版权声明:空闲的程序员 4 ^0 G0 ?9 U8 o, \$ t6 K: v( Y0 G |
《STM32CubeMX2 实战课程》学习笔记5+CubeMX2生成的Uart初始化代码中没有使能
《STM32CubeMX2 实战课程》学习笔记4+FreeRTOS中的SysTick错误及改正
使用stm32C542做的低功耗密码锁示例
《STM32CubeMX2 实战课程》学习笔记1+由MX2生成MDK5项目并打开
《STM32CubeMX2 实战课程》学习笔记3.+sleep/stop/standby低功耗模式的入口
《STM32CubeMX2 实战课程》学习笔记2+MX2生成的MDK5工程中添加已存在文件(*.c / *.h)
【STM32MP257-DK】01开发板开箱、ST MPU 生态资源使用、环境搭建以及镜像更新
基于STM32在线升级OTA经验分享
【STM32C0测评】Nucleo-C092开发板驱动DS1302实验
Keil下的STM32N6之RAM运行工程配置说明
微信公众号
手机版