<s id="eoqoe"><xmp id="eoqoe">
<button id="eoqoe"><strong id="eoqoe"></strong></button>
<s id="eoqoe"><xmp id="eoqoe">
<button id="eoqoe"><strong id="eoqoe"></strong></button>
<wbr id="eoqoe"></wbr>
<wbr id="eoqoe"><strong id="eoqoe"></strong></wbr>
<wbr id="eoqoe"><strong id="eoqoe"></strong></wbr>
<wbr id="eoqoe"><strong id="eoqoe"></strong></wbr>
<wbr id="eoqoe"><label id="eoqoe"></label></wbr>
<button id="eoqoe"></button>
<wbr id="eoqoe"></wbr>
你的位置:首頁(yè) > 傳感技術(shù) > 正文

嵌入式汽車(chē)系統中的 GUI 導航

發(fā)布時(shí)間:2023-08-10 責任編輯:lina

【導讀】汽車(chē)計算機的設計者明白,駕駛員只能看儀表板顯示屏幾秒鐘。由于汽車(chē)計算機的操作員也可能正在開(kāi)車(chē),因此汽車(chē)計算機給計算世界帶來(lái)了新的安全問(wèn)題。


汽車(chē)計算機的設計者明白,駕駛員只能看儀表板顯示屏幾秒鐘。由于汽車(chē)計算機的操作員也可能正在開(kāi)車(chē),因此汽車(chē)計算機給計算世界帶來(lái)了新的安全問(wèn)題。

在為嵌入式板載系統創(chuàng )建圖形用戶(hù)界面 (GUI) 時(shí),您必須考慮許多不斷發(fā)展的設計問(wèn)題。為了使駕駛員能夠快速瀏覽屏幕,顯示內容必須明確、明顯且數量有限??刂茖拥目蚣軕摵?jiǎn)單,這樣驅動(dòng)程序就不會(huì )迷失在結構中。

嵌入式顯示器中經(jīng)常使用的線(xiàn)條圖和簡(jiǎn)單的窗口輪廓不足以為您的 GUI 提供獨特的、定制的外觀(guān)和感覺(jué)。

一線(xiàn)汽車(chē)供應商需要能夠使用生產(chǎn)的定制圖形和獨特的字體,以幫助區分其產(chǎn)品品牌并創(chuàng )造精美的外觀(guān)和感覺(jué)。顯示增強型嵌入式技術(shù)使您可以編寫(xiě)應用程序行為,并將應用程序的特定外觀(guān)應用于面向品牌的主題,例如目前在 MP3 音樂(lè )播放器中實(shí)現的“皮膚”概念。

汽車(chē)界面設計的另一個(gè)關(guān)鍵是能夠使用快速響應的用戶(hù)輸入模式,例如觸摸屏和語(yǔ)音技術(shù)。

為了創(chuàng )建具有使用儀表板顯示屏的 GUI 的實(shí)用且適銷(xiāo)對路的嵌入式汽車(chē)應用程序,您必須能夠成功解決所有這些問(wèn)題。

直到近,現有的面向對象的 Java GUI 框架還沒(méi)有充分滿(mǎn)足這些嵌入式需求。然而,現在有一個(gè) GUI 框架專(zhuān)門(mén)為開(kāi)發(fā)人員提供一種經(jīng)典的面向對象的方式來(lái)為嵌入式 Java 應用程序創(chuàng )建圖形界面。

OO GUI 框架的結構

任何 GUI 系統的基本構建塊的一個(gè)示例是 IBM VisualAge Micro Edition MicroView 框架中的 Application 類(lèi)。Application 類(lèi)創(chuàng )建并布局由任意數量的視圖/控制器對組成的屏幕,這些視圖/控制器對在顯示設備上呈現應用程序數據。要通過(guò)視圖呈現的數據在模型類(lèi)中定義,這使應用程序本身相對獨立于數據的呈現。向用戶(hù)呈現或從用戶(hù)呈現的數據填充這些模型,這些模型控制視圖的狀態(tài)。


嵌入式汽車(chē)系統中的 GUI 導航
圖 1:從對象被放置在屏幕上并被個(gè)人查看到個(gè)人響應和屏幕更新之間發(fā)生的事件。


ApplicationManager 類(lèi)協(xié)調用戶(hù)對各種模塊化、開(kāi)發(fā)人員定義的應用程序的導航,這些應用程序保存在其注冊表中。ApplicationManager 根據需要在屏幕上打開(kāi)和關(guān)閉應用程序,并協(xié)調設備中所有應用程序的視圖創(chuàng )建。

MicroView 應用程序始終與一個(gè)視圖關(guān)聯(lián),該視圖是 MicroViews ContainerView 類(lèi)的實(shí)例;該視圖又包含構成應用程序視覺(jué)布局的其他視圖。ApplicationManager 還包含一個(gè)ScreenApplication,它是其余應用程序擴展的根對象。

為了構建一個(gè) GUI 系統,您必須首先定義必要的應用程序類(lèi),以及所有必需的模型、視圖和控制器對象(模型控制視圖的狀態(tài))。模型、視圖和控制器對象是通過(guò)創(chuàng )建默認 MicroView 框架類(lèi)的新實(shí)例來(lái)定義的。

對于復雜的 GUI 系統,您還可以創(chuàng )建自定義的模型、視圖和控制器類(lèi)。默認視圖包括按鈕視圖、拉貝視圖、列表視圖和段落視圖等。默認控制器包括按鈕控制器、鍵盤(pán)控制器和菜單控制器。

除了創(chuàng )建視圖/控制器對并將它們放置在設備屏幕上之外,每個(gè)應用程序還實(shí)現必要的偵聽(tīng)器接口,以響應通過(guò)操作(即更改模型和視圖類(lèi)的狀態(tài)的操作)發(fā)送到這些控制器/控制器類(lèi)的用戶(hù)輸入事件)。然后這些操作作為消息傳遞給應用程序。

MicroView 應用程序與大多數常見(jiàn)的 GUI 系統一樣,使用基于事件的機制來(lái)指導用戶(hù)和應用程序之間的交互。MicroView 事件系統本質(zhì)上類(lèi)似于作為標準 Java 開(kāi)發(fā)工具包 (JDKTM) 一部分的 AWT 庫中公開(kāi)的基于委托的事件模型。

在 MicroView 事件處理模型中,Application 類(lèi)的實(shí)例為它們需要處理的每種事件類(lèi)型實(shí)現偵聽(tīng)器接口。當具有已注冊偵聽(tīng)器的事件來(lái)自底層輸入系統時(shí),該事件將被路由到該類(lèi)進(jìn)行處理。

在標準 AWT 基于委托的事件模型中,事件從源對象傳播到偵聽(tīng)器以進(jìn)行處理,以響應某些用戶(hù)交互。在 MicroView 框架(如標準 AWT 委托事件模型中)中,事件源通常是 UI 組件,偵聽(tīng)器是 Application 對象,該對象根據應用程序的特定需求實(shí)現適當的偵聽(tīng)器接口。

在模型/視圖/控制器(MVC)范例的 MicroView 實(shí)現中,控制器充當應用程序和底層事件子系統之間的中介;因此,MicroView 框架中的事件類(lèi)型要么是 com.events.events 的直接后代,要么是間接后代。IBM。伊維奧加斯??刂破魇录?lèi)。

每個(gè)事件都是從其源創(chuàng )建的,并由輸入組件子系統路由到充當偵聽(tīng)器部分的應用程序對象,以及基于所請求的特定類(lèi)型的用戶(hù)交互的相應事件的實(shí)例。

憑借相應偵聽(tīng)器接口中指定的一個(gè)或多個(gè)方法的實(shí)現,偵聽(tīng)器對象(在本例中為應用程序對象)可能會(huì )以某種有意義的方式響應事件。此時(shí),輸入組件通過(guò)返回值通知該特定偵聽(tīng)器對象是否消耗了此事件,并且輸入組件繼續響應用戶(hù)交互,對每個(gè)被認為感興趣的事件重復此循環(huán)。

同樣,MicroView 框架中事件對象的基類(lèi)是 com. ibrn.ive,脫氣??刂破魇录?lèi)。這個(gè)類(lèi)是java的直接后代。實(shí)用程序。EventObject,它是標準 AWT 委托事件模型中的基本事件對象。MicroView 框架提供了以下四種基本事件類(lèi)型:

ButtonEvents—當用戶(hù)單擊或點(diǎn)擊按鈕視圖用戶(hù)界面組件時(shí)發(fā)送
ListEvents—當用戶(hù)點(diǎn)擊 ListView 組件中的選項時(shí)發(fā)生
MenuEvents——用戶(hù)從菜單中進(jìn)行了選擇
KeypadEvents — 導致用戶(hù)從模擬鍵盤(pán)的自定義視圖中進(jìn)行選擇。

MicroView 不包含代表菜單或鍵盤(pán)的特定 View 對象。然而,它確實(shí)提供了自定義控制器對象,可以與自定義視圖對象一起使用來(lái)模仿這些對象的外觀(guān)和/或功能。

MicroView 事件偵聽(tīng)器框架與上面定義的標準事件層次結構松散對應。每種類(lèi)型的標準事件都存在以下偵聽(tīng)器:

ButtonListener,定義了一個(gè)方法,
public Boolean handleEvent(ButtonEvent e)
ListListener,它定義了一個(gè)方法
public Boolean handleEvent(ListEvent e)
MenuListener,定義
public void handleEvent(ListEvent e)
KeypadListener,定義方法
public void handleEvent(KeypadEvent e)。

與 AWT 一樣,MicroView 框架對低級事件和(通常稱(chēng)為“語(yǔ)義”)事件進(jìn)行了區分。低級事件的特征是輸入或其他窗口系統事件,而語(yǔ)義(即)事件的特征是輸入或其他窗口系統事件。級別)事件通常是組件模型本身的某種語(yǔ)義的結果;換句話(huà)說(shuō),是不需要用戶(hù)干預的組件到組件的消息。

雖然 MicroView 框架包含低級事件,但它們的功能幾乎完全封裝在低級事件處理框架代碼中,并且不會(huì )在 API 級別向開(kāi)發(fā)人員公開(kāi)。應用程序開(kāi)發(fā)人員使用的常見(jiàn) MicroView 事件本質(zhì)上是語(yǔ)義的。

與 Aw’r 一樣,MicroView 框架中的事件傳遞是同步的;事件由輸入系統按照接收順序傳遞給組件。

盡管 MicroView 定義了一組基本的事件和偵聽(tīng)器,但您可以自由地實(shí)現自己的自定義事件類(lèi)型和偵聽(tīng)器,作為應用程序語(yǔ)義接口的一部分。

MicroView 和 AWT 之間的另一個(gè)區別是 MicroView 開(kāi)發(fā)人員可以安全地假設所有事件偵聽(tīng)器分派將在同一線(xiàn)程上進(jìn)行。然而,這是由于底層輸入子系統的實(shí)現而導致的,嚴格來(lái)說(shuō)并不是事件系統的設計功能。

解決汽車(chē)特定問(wèn)題您可以使用 MicroView 通過(guò)您選擇的捆綁位圖圖像和默認或自定義字體來(lái)創(chuàng )建視圖,而不是限制自己創(chuàng )建代碼繪制的 GUI。

現有的位圖圖稿可以從圖形軟件(例如Adobe Photoshop)導入,以創(chuàng )建圖標、背景、操作小部件(例如按鈕)等。

默認EgBitmapBundle類(lèi)的子類(lèi) 用作位圖的表示。然后,您將子類(lèi)轉換為 ROM 資源格式,為它們提供物理文件名定義,并將它們與可從應用程序訪(fǎng)問(wèn)的 ID 相關(guān)聯(lián)。要在顯示中使用默認或自定義字體,請遵循類(lèi)似的過(guò)程,使用EGBitmapFontsBundle類(lèi)的實(shí)例 并為捆綁字體指定各種大小和樣式。

這種靈活性有助于設計高度精致、以品牌為中心的獨特展示。使用圖形軟件創(chuàng )建圖稿的能力還可以實(shí)現更快速的開(kāi)發(fā),并限度地減少應用程序中所需的 Java 代碼量。

事件利用各種用戶(hù)輸入模式,包括觸摸屏和語(yǔ)音數據。定義應用程序行為時(shí),多個(gè)事件可以鏈接到同一視圖/控制器對。從應用程序中包含的視圖接收事件通知僅需要您實(shí)現適當的偵聽(tīng)器接口。事件處理的一個(gè)示例是當視圖中的數據發(fā)生變化時(shí),導致模型發(fā)生變化,或者當用戶(hù)觸摸屏幕區域時(shí)。

例如,如果應用程序包含按鈕視圖,并且應用程序類(lèi)需要從這些視圖接收事件通知,則應用程序應該實(shí)現 ButtonListener 接口。還可以使用利用語(yǔ)音和其他輸入模式的類(lèi)似收聽(tīng)者接口(例如,按鈕監聽(tīng)器、列表監聽(tīng)器、鍵盤(pán)監聽(tīng)器、菜單監聽(tīng)器等)。

語(yǔ)音/語(yǔ)音數據

通過(guò)語(yǔ)音控制用戶(hù)界面有兩種方法。種是使用語(yǔ)音數據來(lái)控制屏幕界面本身。例如,語(yǔ)音輸入用于從一個(gè)字段切換到另一個(gè)字段、激活按鈕、激活菜單、選擇列表中的項目等。

由于同時(shí)操作車(chē)輛以及查看和操作觸摸屏涉及的特殊困難,您可能會(huì )發(fā)現考慮為視力障礙或失明用戶(hù)設計界面很有用。對于視力障礙用戶(hù)以及儀表板汽車(chē)界面來(lái)說(shuō),語(yǔ)音交互和語(yǔ)音識別是 GUI 開(kāi)發(fā)的關(guān)鍵方面。

一些歐洲國家現在正在考慮制定法律,要求所有新開(kāi)發(fā)的設備為殘疾用戶(hù)(包括視力障礙)提供無(wú)障礙功能。語(yǔ)音和語(yǔ)音數據在未來(lái)有可能變得比現在更加重要和廣泛。

用語(yǔ)音控制用戶(hù)界面的第二種方法可能更適合汽車(chē)和其他 GUI 應用。在這種方法中,創(chuàng )建了兩個(gè)用戶(hù)界面:語(yǔ)音和圖形觸摸面板。用戶(hù)可以與使用語(yǔ)音識別和反饋的應用程序進(jìn)行直接交互,但如果使用語(yǔ)音輸入與應用程序交互,則屏幕的反應方式與使用觸摸數據時(shí)的反應方式不同。

例如,為了查找地址,應用程序可能會(huì )使用語(yǔ)音來(lái)提示用戶(hù)輸入每個(gè)數據字段(例如,城市、州等)。幾次來(lái)回的應用程序交互會(huì )用用戶(hù)通過(guò)語(yǔ)音輸入提供的信息填寫(xiě)“表格”。每個(gè)響應都會(huì )提供聲音反饋,用戶(hù)無(wú)需查看屏幕即可確認應用程序對語(yǔ)音輸入的理解。語(yǔ)音交互改變模型(即內部數據),視圖自動(dòng)反映改變的數據。

O0 GUI 框架同樣適用于基于觸摸板和基于語(yǔ)音的界面。MicroView 事件框架是一種熟悉的、一致的事件處理模型,它為嵌入式系統開(kāi)發(fā)人員提供了功能的實(shí)現。


免責聲明:本文為轉載文章,轉載此文目的在于傳遞更多信息,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問(wèn)題,請聯(lián)系小編進(jìn)行處理。


推薦閱讀:

高性能 SiC MOSFET 技術(shù)裝置設計理念

UCODE標簽存儲器擴展對供應鏈及工業(yè)物聯(lián)網(wǎng)的影響

實(shí)現音頻信號檢測原理

什么是量化噪聲的功率譜?

如何設計和認證基于RTD的功能安全系統



特別推薦
技術(shù)文章更多>>
技術(shù)白皮書(shū)下載更多>>
熱門(mén)搜索
?

關(guān)閉

?

關(guān)閉

久久无码人妻精品一区二区三区_精品少妇人妻av无码中文字幕_98精品国产高清在线看入口_92精品国产自产在线观看481页
<s id="eoqoe"><xmp id="eoqoe">
<button id="eoqoe"><strong id="eoqoe"></strong></button>
<s id="eoqoe"><xmp id="eoqoe">
<button id="eoqoe"><strong id="eoqoe"></strong></button>
<wbr id="eoqoe"></wbr>
<wbr id="eoqoe"><strong id="eoqoe"></strong></wbr>
<wbr id="eoqoe"><strong id="eoqoe"></strong></wbr>
<wbr id="eoqoe"><strong id="eoqoe"></strong></wbr>
<wbr id="eoqoe"><label id="eoqoe"></label></wbr>
<button id="eoqoe"></button>
<wbr id="eoqoe"></wbr>