嵌入式汽車係統中的 GUI 導航
發布時間:2023-08-10 責任編輯:lina
【導讀】汽qi車che計ji算suan機ji的de設she計ji者zhe明ming白bai,駕jia駛shi員yuan隻zhi能neng看kan儀yi表biao板ban顯xian示shi屏ping幾ji秒miao鍾zhong。由you於yu汽qi車che計ji算suan機ji的de操cao作zuo員yuan也ye可ke能neng正zheng在zai開kai車che,因yin此ci汽qi車che計ji算suan機ji給gei計ji算suan世shi界jie帶dai來lai了le新xin的de安an全quan問wen題ti。
汽qi車che計ji算suan機ji的de設she計ji者zhe明ming白bai,駕jia駛shi員yuan隻zhi能neng看kan儀yi表biao板ban顯xian示shi屏ping幾ji秒miao鍾zhong。由you於yu汽qi車che計ji算suan機ji的de操cao作zuo員yuan也ye可ke能neng正zheng在zai開kai車che,因yin此ci汽qi車che計ji算suan機ji給gei計ji算suan世shi界jie帶dai來lai了le新xin的de安an全quan問wen題ti。
在為嵌入式板載係統創建圖形用戶界麵 (GUI) 時,您必須考慮許多不斷發展的設計問題。為了使駕駛員能夠快速瀏覽屏幕,顯示內容必須明確、明顯且數量有限。控製層的框架應該簡單,這樣驅動程序就不會迷失在結構中。
嵌入式顯示器中經常使用的線條圖和簡單的窗口輪廓不足以為您的 GUI 提供獨特的、定製的外觀和感覺。
一yi線xian汽qi車che供gong應ying商shang需xu要yao能neng夠gou使shi用yong生sheng產chan的de定ding製zhi圖tu形xing和he獨du特te的de字zi體ti,以yi幫bang助zhu區qu分fen其qi產chan品pin品pin牌pai並bing創chuang造zao精jing美mei的de外wai觀guan和he感gan覺jiao。顯xian示shi增zeng強qiang型xing嵌qian入ru式shi技ji術shu使shi您nin可ke以yi編bian寫xie應ying用yong程cheng序xu行xing為wei,並bing將jiang應ying用yong程cheng序xu的de特te定ding外wai觀guan應ying用yong於yu麵mian向xiang品pin牌pai的de主zhu題ti,例li如ru目mu前qian在zai MP3 音樂播放器中實現的“皮膚”概念。
汽車界麵設計的另一個關鍵是能夠使用快速響應的用戶輸入模式,例如觸摸屏和語音技術。
為了創建具有使用儀表板顯示屏的 GUI 的實用且適銷對路的嵌入式汽車應用程序,您必須能夠成功解決所有這些問題。
直到近,現有的麵向對象的 Java GUI 框架還沒有充分滿足這些嵌入式需求。然而,現在有一個 GUI 框架專門為開發人員提供一種經典的麵向對象的方式來為嵌入式 Java 應用程序創建圖形界麵。
OO GUI 框架的結構
任何 GUI 係統的基本構建塊的一個示例是 IBM VisualAge Micro Edition MicroView 框架中的 Application 類。Application 類創建並布局由任意數量的視圖/控製器對組成的屏幕,這些視圖/控(kong)製(zhi)器(qi)對(dui)在(zai)顯(xian)示(shi)設(she)備(bei)上(shang)呈(cheng)現(xian)應(ying)用(yong)程(cheng)序(xu)數(shu)據(ju)。要(yao)通(tong)過(guo)視(shi)圖(tu)呈(cheng)現(xian)的(de)數(shu)據(ju)在(zai)模(mo)型(xing)類(lei)中(zhong)定(ding)義(yi),這(zhe)使(shi)應(ying)用(yong)程(cheng)序(xu)本(ben)身(shen)相(xiang)對(dui)獨(du)立(li)於(yu)數(shu)據(ju)的(de)呈(cheng)現(xian)。向(xiang)用(yong)戶(hu)呈(cheng)現(xian)或(huo)從(cong)用(yong)戶(hu)呈(cheng)現(xian)的(de)數(shu)據(ju)填(tian)充(chong)這(zhe)些(xie)模(mo)型(xing),這(zhe)些(xie)模(mo)型(xing)控(kong)製(zhi)視(shi)圖(tu)的(de)狀(zhuang)態(tai)。

圖 1:從對象被放置在屏幕上並被個人查看到個人響應和屏幕更新之間發生的事件。
ApplicationManager 類協調用戶對各種模塊化、開發人員定義的應用程序的導航,這些應用程序保存在其注冊表中。ApplicationManager 根據需要在屏幕上打開和關閉應用程序,並協調設備中所有應用程序的視圖創建。
MicroView 應用程序始終與一個視圖關聯,該視圖是 MicroViews ContainerView 類的實例;該視圖又包含構成應用程序視覺布局的其他視圖。ApplicationManager 還包含一個ScreenApplication,它是其餘應用程序擴展的根對象。
為了構建一個 GUI 係統,您必須首先定義必要的應用程序類,以及所有必需的模型、視圖和控製器對象(模型控製視圖的狀態)。模型、視圖和控製器對象是通過創建默認 MicroView 框架類的新實例來定義的。
對於複雜的 GUI 係統,您還可以創建自定義的模型、視圖和控製器類。默認視圖包括按鈕視圖、拉貝視圖、列表視圖和段落視圖等。默認控製器包括按鈕控製器、鍵盤控製器和菜單控製器。
除了創建視圖/控製器對並將它們放置在設備屏幕上之外,每個應用程序還實現必要的偵聽器接口,以響應通過操作(即更改模型和視圖類的狀態的操作)發送到這些控製器/控製器類的用戶輸入事件)。然後這些操作作為消息傳遞給應用程序。
MicroView 應用程序與大多數常見的 GUI 係統一樣,使用基於事件的機製來指導用戶和應用程序之間的交互。MicroView 事件係統本質上類似於作為標準 Java 開發工具包 (JDKTM) 一部分的 AWT 庫中公開的基於委托的事件模型。
在 MicroView 事件處理模型中,Application leideshiliweitamenxuyaochulidemeizhongshijianleixingshixianzhentingqijiekou。dangjuyouyizhucezhentingqideshijianlaizidicengshuruxitongshi,gaishijianjiangbeiluyoudaogaileijinxingchuli。
在標準 AWT 基於委托的事件模型中,事件從源對象傳播到偵聽器以進行處理,以響應某些用戶交互。在 MicroView 框架(如標準 AWT 委托事件模型中)中,事件源通常是 UI 組件,偵聽器是 Application 對象,該對象根據應用程序的特定需求實現適當的偵聽器接口。
在模型/視圖/控製器(MVC)範例的 MicroView 實現中,控製器充當應用程序和底層事件子係統之間的中介;因此,MicroView 框架中的事件類型要麼是 com.events.events 的直接後代,要麼是間接後代。IBM。伊維奧加斯。控製器事件類。
meigeshijiandoushicongqiyuanchuangjiande,bingyoushuruzujianzixitongluyoudaochongdangzhentingqibufendeyingyongchengxuduixiang,yijijiyusuoqingqiudetedingleixingdeyonghujiaohudexiangyingshijiandeshili。
憑借相應偵聽器接口中指定的一個或多個方法的實現,偵聽器對象(在本例中為應用程序對象)可(ke)能(neng)會(hui)以(yi)某(mou)種(zhong)有(you)意(yi)義(yi)的(de)方(fang)式(shi)響(xiang)應(ying)事(shi)件(jian)。此(ci)時(shi),輸(shu)入(ru)組(zu)件(jian)通(tong)過(guo)返(fan)回(hui)值(zhi)通(tong)知(zhi)該(gai)特(te)定(ding)偵(zhen)聽(ting)器(qi)對(dui)象(xiang)是(shi)否(fou)消(xiao)耗(hao)了(le)此(ci)事(shi)件(jian),並(bing)且(qie)輸(shu)入(ru)組(zu)件(jian)繼(ji)續(xu)響(xiang)應(ying)用(yong)戶(hu)交(jiao)互(hu),對(dui)每(mei)個(ge)被(bei)認(ren)為(wei)感(gan)興(xing)趣(qu)的(de)事(shi)件(jian)重(zhong)複(fu)此(ci)循(xun)環(huan)。
同樣,MicroView 框架中事件對象的基類是 com. ibrn.ive,脫氣。控製器事件類。這個類是java的直接後代。實用程序。EventObject,它是標準 AWT 委托事件模型中的基本事件對象。MicroView 框架提供了以下四種基本事件類型:
ButtonEvents—當用戶單擊或點擊按鈕視圖用戶界麵組件時發送
ListEvents—當用戶點擊 ListView 組件中的選項時發生
MenuEvents——用戶從菜單中進行了選擇
KeypadEvents — 導致用戶從模擬鍵盤的自定義視圖中進行選擇。
MicroView 不包含代表菜單或鍵盤的特定 View 對象。然而,它確實提供了自定義控製器對象,可以與自定義視圖對象一起使用來模仿這些對象的外觀和/或功能。
MicroView 事件偵聽器框架與上麵定義的標準事件層次結構鬆散對應。每種類型的標準事件都存在以下偵聽器:
ButtonListener,定義了一個方法,
public Boolean handleEvent(ButtonEvent e)
ListListener,它定義了一個方法
public Boolean handleEvent(ListEvent e)
MenuListener,定義
public void handleEvent(ListEvent e)
KeypadListener,定義方法
public void handleEvent(KeypadEvent e)。
與 AWT 一樣,MicroView 框架對低級事件和(通常稱為“語義”)事件進行了區分。低級事件的特征是輸入或其他窗口係統事件,而語義(即)事件的特征是輸入或其他窗口係統事件。級別)事件通常是組件模型本身的某種語義的結果;換句話說,是不需要用戶幹預的組件到組件的消息。
雖然 MicroView 框架包含低級事件,但它們的功能幾乎完全封裝在低級事件處理框架代碼中,並且不會在 API 級別向開發人員公開。應用程序開發人員使用的常見 MicroView 事件本質上是語義的。
與 Aw’r 一樣,MicroView 框架中的事件傳遞是同步的;事件由輸入係統按照接收順序傳遞給組件。
盡管 MicroView 定義了一組基本的事件和偵聽器,但您可以自由地實現自己的自定義事件類型和偵聽器,作為應用程序語義接口的一部分。
MicroView 和 AWT 之間的另一個區別是 MicroView 開(kai)發(fa)人(ren)員(yuan)可(ke)以(yi)安(an)全(quan)地(di)假(jia)設(she)所(suo)有(you)事(shi)件(jian)偵(zhen)聽(ting)器(qi)分(fen)派(pai)將(jiang)在(zai)同(tong)一(yi)線(xian)程(cheng)上(shang)進(jin)行(xing)。然(ran)而(er),這(zhe)是(shi)由(you)於(yu)底(di)層(ceng)輸(shu)入(ru)子(zi)係(xi)統(tong)的(de)實(shi)現(xian)而(er)導(dao)致(zhi)的(de),嚴(yan)格(ge)來(lai)說(shuo)並(bing)不(bu)是(shi)事(shi)件(jian)係(xi)統(tong)的(de)設(she)計(ji)功(gong)能(neng)。
解決汽車特定問題您可以使用 MicroView 通過您選擇的捆綁位圖圖像和默認或自定義字體來創建視圖,而不是限製自己創建代碼繪製的 GUI。
現有的位圖圖稿可以從圖形軟件(例如Adobe Photoshop)導入,以創建圖標、背景、操作小部件(例如按鈕)等。
默認EgBitmapBundle類的子類 用作位圖的表示。然後,您將子類轉換為 ROM 資源格式,為它們提供物理文件名定義,並將它們與可從應用程序訪問的 ID 相關聯。要在顯示中使用默認或自定義字體,請遵循類似的過程,使用EGBitmapFontsBundle類的實例 並為捆綁字體指定各種大小和樣式。
這種靈活性有助於設計高度精致、以品牌為中心的獨特展示。使用圖形軟件創建圖稿的能力還可以實現更快速的開發,並限度地減少應用程序中所需的 Java 代碼量。
事件利用各種用戶輸入模式,包括觸摸屏和語音數據。定義應用程序行為時,多個事件可以鏈接到同一視圖/控kong製zhi器qi對dui。從cong應ying用yong程cheng序xu中zhong包bao含han的de視shi圖tu接jie收shou事shi件jian通tong知zhi僅jin需xu要yao您nin實shi現xian適shi當dang的de偵zhen聽ting器qi接jie口kou。事shi件jian處chu理li的de一yi個ge示shi例li是shi當dang視shi圖tu中zhong的de數shu據ju發fa生sheng變bian化hua時shi,導dao致zhi模mo型xing發fa生sheng變bian化hua,或huo者zhe當dang用yong戶hu觸chu摸mo屏ping幕mu區qu域yu時shi。
例如,如果應用程序包含按鈕視圖,並且應用程序類需要從這些視圖接收事件通知,則應用程序應該實現 ButtonListener 接口。還可以使用利用語音和其他輸入模式的類似收聽者接口(例如,按鈕監聽器、列表監聽器、鍵盤監聽器、菜單監聽器等)。
語音/語音數據
通過語音控製用戶界麵有兩種方法。種是使用語音數據來控製屏幕界麵本身。例如,語音輸入用於從一個字段切換到另一個字段、激活按鈕、激活菜單、選擇列表中的項目等。
由(you)於(yu)同(tong)時(shi)操(cao)作(zuo)車(che)輛(liang)以(yi)及(ji)查(zha)看(kan)和(he)操(cao)作(zuo)觸(chu)摸(mo)屏(ping)涉(she)及(ji)的(de)特(te)殊(shu)困(kun)難(nan),您(nin)可(ke)能(neng)會(hui)發(fa)現(xian)考(kao)慮(lv)為(wei)視(shi)力(li)障(zhang)礙(ai)或(huo)失(shi)明(ming)用(yong)戶(hu)設(she)計(ji)界(jie)麵(mian)很(hen)有(you)用(yong)。對(dui)於(yu)視(shi)力(li)障(zhang)礙(ai)用(yong)戶(hu)以(yi)及(ji)儀(yi)表(biao)板(ban)汽(qi)車(che)界(jie)麵(mian)來(lai)說(shuo),語(yu)音(yin)交(jiao)互(hu)和(he)語(yu)音(yin)識(shi)別(bie)是(shi) GUI 開發的關鍵方麵。
一些歐洲國家現在正在考慮製定法律,要求所有新開發的設備為殘疾用戶(包括視力障礙)提供無障礙功能。語音和語音數據在未來有可能變得比現在更加重要和廣泛。
用語音控製用戶界麵的第二種方法可能更適合汽車和其他 GUI 應用。在這種方法中,創建了兩個用戶界麵:語yu音yin和he圖tu形xing觸chu摸mo麵mian板ban。用yong戶hu可ke以yi與yu使shi用yong語yu音yin識shi別bie和he反fan饋kui的de應ying用yong程cheng序xu進jin行xing直zhi接jie交jiao互hu,但dan如ru果guo使shi用yong語yu音yin輸shu入ru與yu應ying用yong程cheng序xu交jiao互hu,則ze屏ping幕mu的de反fan應ying方fang式shi與yu使shi用yong觸chu摸mo數shu據ju時shi的de反fan應ying方fang式shi不bu同tong。
例如,為了查找地址,應用程序可能會使用語音來提示用戶輸入每個數據字段(例如,城市、州等)。幾次來回的應用程序交互會用用戶通過語音輸入提供的信息填寫“表格”。每個響應都會提供聲音反饋,用戶無需查看屏幕即可確認應用程序對語音輸入的理解。語音交互改變模型(即內部數據),視圖自動反映改變的數據。
O0 GUI 框架同樣適用於基於觸摸板和基於語音的界麵。MicroView 事件框架是一種熟悉的、一致的事件處理模型,它為嵌入式係統開發人員提供了功能的實現。
免責聲明:本文為轉載文章,轉載此文目的在於傳遞更多信息,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請聯係小編進行處理。
推薦閱讀:
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
- 從機械執行到智能互動:移遠Q-Robotbox助力具身智能加速落地
- 品英Pickering將亮相2026航空電子國際論壇,展示航電與電池測試前沿方案
- 模擬芯片設計師的噩夢:晶體管差1毫伏就廢了,溫度升1度特性全飄
- 3A大電流僅需3x1.6mm?意法半導體DCP3603重新定義電源設計
- 芯科科技Tech Talks與藍牙亞洲大會聯動,線上線下賦能物聯網創新
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall




