真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何使用TouchGFX的MVP架構(gòu)來(lái)實(shí)現(xiàn)GUI和硬件的雙向交互

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)如何使用TouchGFX的MVP架構(gòu)來(lái)實(shí)現(xiàn)GUI和硬件的雙向交互,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

蓋州ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書(shū)未來(lái)市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)的ssl證書(shū)銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書(shū)合作)期待與您的合作!

1.如何理解TouchGFX中Screen的MVP架構(gòu)

MVP的全稱為Model-View-Presenter,Model提供數(shù)據(jù),View負(fù)責(zé)顯示,Controller/Presenter負(fù)責(zé)邏輯的處理。MVP與MVC有著一個(gè)重大的區(qū)別:在MVP中View并不直接使用Model,它們之間的通信是通過(guò)Presenter (MVC中的Controller)來(lái)進(jìn)行的,所有的交互都發(fā)生在Presenter內(nèi)部。
用一句話來(lái)概括MVP:所有數(shù)據(jù)僅能保存在稱為 Model 的類對(duì)象(簡(jiǎn)單說(shuō)就是一種文件)中,Presenter是視圖(View)與Model之間的紐帶,View只能通過(guò)Presenter來(lái)讀取數(shù)據(jù)。
   MVP優(yōu)點(diǎn):

  • 模型與視圖完全分離,我們可以修改視圖而不影響模型;

  • 可以更高效地使用模型,因?yàn)樗械慕换ザ及l(fā)生在一個(gè)地方——Presenter內(nèi)部;

  • 我們可以將一個(gè)Presenter用于多個(gè)視圖,而不需要改變Presenter的邏輯。這個(gè)特性非常的有用,因?yàn)橐晥D的變化事件總是比模型的變化頻繁;

  • 如果我們把邏輯放在Presenter中,那么我們就可以脫離用戶接口來(lái)測(cè)試這些邏輯(單元測(cè)試)

Screen概念
在TouchGFX應(yīng)用程序中,開(kāi)發(fā)者可以根據(jù)項(xiàng)目需要?jiǎng)?chuàng)建任意數(shù)量的Screen。這里的Screen是指UI元素及其相關(guān)的業(yè)務(wù)邏輯。一個(gè)Screen通常包括兩個(gè)內(nèi)容:一個(gè)View,涵蓋該Screen上顯示的所有空間;一個(gè)Presenter,涵蓋該Screen上所有的業(yè)務(wù)邏輯。
TouchGFX有自己的內(nèi)存分配方案,它僅分配給最大的View和最大的Presenter,分配的RAM可以在應(yīng)用程序的所有Screen上重用。
Model
Model類是一個(gè)單例,始終處于活動(dòng)狀態(tài),并具有兩個(gè)目的:

  1. 存儲(chǔ)UI的狀態(tài)信息。切換Screen時(shí),View和Presenter被釋放,因此它們不能用于存儲(chǔ)應(yīng)在Screen切換期間保留的信息。所有,需要Model來(lái)存儲(chǔ)UI的狀態(tài)信息。

  2. 充當(dāng)與后端系統(tǒng)的接口,在當(dāng)前活動(dòng)Screen之間來(lái)回傳遞事件。
    Model類有一個(gè)自動(dòng)設(shè)置指向當(dāng)前活動(dòng)Presenter的指針。當(dāng)Model中發(fā)生更改時(shí),會(huì)將更改通知給當(dāng)前活動(dòng)的Presenter。這是通過(guò)應(yīng)用程序的Model Listener接口中的方法實(shí)現(xiàn)的。

View
View類(或者更具體地說(shuō),是從TouchGFX View類派生的用戶定義類)包含在當(dāng)前Screen顯示的所有控件。他還包含一個(gè)setScreen和一個(gè)tearDownScreen函數(shù),當(dāng)進(jìn)入、退出當(dāng)前Screen時(shí),該函數(shù)會(huì)自動(dòng)調(diào)用。通常,可以在setupScreen函數(shù)中設(shè)置控件。
View還包含了一個(gè)可以指向關(guān)聯(lián)的Presenter的指針。該指針由框架自動(dòng)設(shè)置。使用此指針,你可以將UI事件傳遞給Presenter。
Presenter
Presenter類(也是從TouchGFX Presenter類派生的用戶定義類)負(fù)責(zé)當(dāng)前活動(dòng)Screen的業(yè)務(wù)邏輯。它將接收來(lái)自Model的“后端”事件,以及來(lái)自View的UI事件,并決定采取哪種操作。
小結(jié)
在MVP架構(gòu)中,所有數(shù)據(jù)只能保持在Model的類對(duì)象中,Presenter是View與Model之間的紐帶,View只能通過(guò)Presenter來(lái)讀取數(shù)據(jù),而不能直接讀取Model中的數(shù)據(jù)。

2.使用TouchGFX MVP來(lái)實(shí)現(xiàn)UI和硬件的雙向交互

Model-View-Presenter 軟件架構(gòu):

如何使用TouchGFX的MVP架構(gòu)來(lái)實(shí)現(xiàn)GUI和硬件的雙向交互
2.1 用戶通過(guò)UI按鍵控制硬件LED

使用TouchGFXDesigner設(shè)計(jì)界面,添加toggleButton按鈕

如何使用TouchGFX的MVP架構(gòu)來(lái)實(shí)現(xiàn)GUI和硬件的雙向交互

利用MVP架構(gòu)填寫(xiě)代碼:
如何使用TouchGFX的MVP架構(gòu)來(lái)實(shí)現(xiàn)GUI和硬件的雙向交互
2.2 把CPU使用率參數(shù)傳遞給UI顯示

使用TouchGFXDesigner制作cpu實(shí)用率的自定義控件,然后將這個(gè)控件添加到需要的界面

如何使用TouchGFX的MVP架構(gòu)來(lái)實(shí)現(xiàn)GUI和硬件的雙向交互

cpu的使用率算法可以直接在rtthread的github中rt-thread\examples\kernel文件下找到,具體實(shí)現(xiàn)原理網(wǎng)上有很多分析的文章,這里就不再分析了。
下邊直接把CPU的使用率參數(shù)通過(guò)Model層發(fā)送給Screen。
如何使用TouchGFX的MVP架構(gòu)來(lái)實(shí)現(xiàn)GUI和硬件的雙向交互

上述就是小編為大家分享的如何使用TouchGFX的MVP架構(gòu)來(lái)實(shí)現(xiàn)GUI和硬件的雙向交互了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


當(dāng)前題目:如何使用TouchGFX的MVP架構(gòu)來(lái)實(shí)現(xiàn)GUI和硬件的雙向交互
網(wǎng)址分享:http://weahome.cn/article/jocpjj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部