• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            專注于服務(wù)器編程、網(wǎng)絡(luò)編程

            ~~保持一顆平常心~~持之以恒~~
            posts - 18, comments - 7, trackbacks - 0, articles - 0
              C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

            人機接口(MMI)

            Posted on 2009-12-19 22:02 ~William~ 閱讀(656) 評論(0)  編輯 收藏 引用 所屬分類: MTK_MMI
              摘要:采用面向?qū)ο蟮某绦蛟O(shè)計技術(shù)用C語言開發(fā)窗口結(jié)構(gòu)的GSM手機MMI(人機接口)軟件,程序結(jié)構(gòu)清晰,代碼效率高,模塊可再用性好。本文粗淺地談了GW手機MMI軟件開發(fā)的功能模塊組織、窗口管理等技術(shù),并以快捷功能為例,說明具體功能的實現(xiàn)方法。  
               
              關(guān)鍵詞:人機接口(MMI)   功能模塊組織   窗口管理  
               
              GSM手機是直接為移動用戶服務(wù)的移動通信終端。其組成一般包括4個部分:射頻單元、基帶單元、人機接口(Man   Machine   Interface,縮寫MMI)和軟件。  
               
              1   MMI的功能及對軟件的要求  
               
              MMI是進行移動通信的人與提供移動通信服務(wù)的手機之間交往的界面。它包括硬件和軟件:硬件有鍵盤、顯示器、話筒、耳機和SIM卡等;軟件有基本人機界面功能、用戶SIM卡功能、公眾移動網(wǎng)功能、菜單與電話本功能等。  
               
              MMI主要有以下功能:  
               
              (1)輸入用戶操作信息。  
               
              (2)以聲、光、振動等手段顯示手機及網(wǎng)絡(luò)的狀態(tài)、輸出操作結(jié)果。  
               
              (3)實現(xiàn)GSM相關(guān)協(xié)議,如DRAFT   pr   ETS   300   906珍動臺特性,ETS300   907移動臺MMI等標(biāo)準(zhǔn)對MMI的各項要求。  
               
              (4)提供合理、方便的操作方法。  
               
              (5)對眾多的功能進行分類、組織,以方便用戶使用。  
               
              (6)增加計算器等附加功能,提高手機的實用性。  
               
              (7)加入動畫、圖標(biāo)、問候語等修飾功能,使產(chǎn)品界面美觀、友好。  
               
              為了滿足上述功能,對MMI軟件的開發(fā)工作提出了以下相關(guān)要求:  
               
              (1)充分消化GSM協(xié)議,完整地實現(xiàn)協(xié)議要求的各項基本功能。  
               
              (2)軟件工作穩(wěn)定可靠,與底層軟件接口方便,以保證整機的性能。  
               
              (3)選用代碼效率高,表達能力強,可移植性好的編程語言,以便提高產(chǎn)品的性能價格比,降低開發(fā)成本。  
               
              (4)根據(jù)GSM手機界面的具體情況,充分利用LCD顯示器的表達能力,借鑒、采用最新的軟件開發(fā)技術(shù),運用圖形、動畫及漢化界面、漢字功能,美化產(chǎn)品、方便使用。  
               
              (5)精心組織程序結(jié)構(gòu),使軟件結(jié)構(gòu)清晰,各模塊獨立性強,可擴充性、可封裝性好,便于開發(fā)小組分工合作以及各階段開發(fā)成果的充分利用,達到縮短產(chǎn)品開發(fā)周期、豐富產(chǎn)品功能的目的。  
               
              (6)發(fā)揮創(chuàng)造性,開發(fā)特色功能、實用功能,提高產(chǎn)品吸引力。  
               
              2   MMI軟件功能模擬的組織結(jié)構(gòu)  
               
              GSM手機的MMI軟件有一個主程序,主要作用是建立消息循環(huán),負(fù)責(zé)分發(fā)消息。當(dāng)收到來自底層的開機消息時,MMI層軟件進行初始化,并創(chuàng)建基本窗口。  
               
              窗口(window)是一個術(shù)語,它可以接收消息,可能在顯示屏上有一個對應(yīng)的顯示區(qū)域,也可以沒有。字符顯示區(qū),編輯域,或者既有字符顯示區(qū)又有編輯域的對話窗口都是窗口的例子。  
               
              基本窗口是MMI層所有窗口的"根",其它窗口都是這個窗口的子窗口。到達MMI層的GSM消息,其它窗口不處理時,都送到基本窗口中作缺省處理。在基本窗口中,根據(jù)不同情況,進行狀態(tài)轉(zhuǎn)換,分別創(chuàng)建等待關(guān)機、充電、等待插入SIM卡、等待輸入PIN、等待SIM卡解鎖等子窗口,處理開機及關(guān)機過程中的各項工作。順利完成各項開機工作后,轉(zhuǎn)人待機狀態(tài),創(chuàng)建待機窗口。如果因接聽來電或撥打電話進入通話狀態(tài),則取消待機窗口,創(chuàng)建通話窗口。  
               
              待機窗口可以完成撥號、啟動快捷功能等工作,也可以進一步創(chuàng)建電話本、功能菜單等子窗口。  
               
              菜單窗口可以派生一系列子菜單窗口,形成一棵菜單樹。這棵菜單村把手機的眾多功能有機地組織在一起。各個菜單窗口都是菜單窗口類的實例,菜單的選擇、顯示等功能都在菜單類中完成。  
               
              3   MMI軟件的核心結(jié)構(gòu)--窗口管理  
               
              根據(jù)GSM手機MMI軟件開發(fā)的具體情況,采用面向?qū)ο蟮某绦蛟O(shè)計技術(shù),用C語言以窗口方式和消息驅(qū)動機制來組織軟件結(jié)構(gòu),可以滿足對MMI軟件開發(fā)工作的各項要求。在這個技術(shù)方案中,窗口管理是整個MMI軟件的核心結(jié)構(gòu)。  
               
              窗口管理為對話窗口、菜單、編輯及其它用戶輸入輸出操作提供了一個基本框架,為消息處理提供了基本手段。由于使用了面向?qū)ο蟮某绦蛟O(shè)計方法,MMI軟件采用消息驅(qū)動機制。窗口管理收集所有的輸人信息,然后把這些輸入信息以消息的形式送往合適的窗口。這些消息的執(zhí)行結(jié)果又可能產(chǎn)生新的消息,新消息的傳送仍由窗口管理負(fù)責(zé)。窗口管理通過調(diào)用窗口函數(shù),向窗口函數(shù)傳遞消息參數(shù),把消息送到目的窗口。  
               
              窗口函數(shù)是其所屬窗口在窗口管理中注冊的系統(tǒng)函數(shù),是窗口最重要的屬性。窗口管理調(diào)用窗口函數(shù)對窗口進行操作,處理窗口接收到的所有消息。窗口函數(shù)對消息的處理方法確定了窗口的表現(xiàn)和行為特征。   窗口管理調(diào)用標(biāo)準(zhǔn)的窗口函數(shù),自動處理窗口的許多特性,應(yīng)用程序只要負(fù)責(zé)創(chuàng)建窗口、處理窗口產(chǎn)生的高級事件及窗口的異常情況。在這個環(huán)境中,用戶可以對GSM消息作處理,也可以讓系統(tǒng)對GSM消息作缺省處理。窗口管理把來自鍵盤和軟件中其它實體的消息送到具有當(dāng)前焦點的窗口。在軟件的整個運行過程中,總存在一個具有焦點的窗口,它負(fù)責(zé)處理輸人消息,或者把消息沿著從子窗口到父窗口方向遞送的傳遞鏈送到一個可以處理該消息的窗口。  
               
              MMI層主要有兩類輸入消息:它們是來自系統(tǒng)其它部分的鍵盤事件消息和GSM協(xié)議棧消息。窗口消息按一定的規(guī)則選擇傳遞路徑。鍵盤消息是由按鍵的按下和釋放產(chǎn)生的,被送往具有焦點的窗口。鍵盤消息最多只能傳到父窗口,不能再往上傳送。GSM協(xié)議棧消息可以從子窗口到父窗口按窗口層次結(jié)構(gòu)一直傳遞,直到有一個窗口接受這條消息為止。  
               
              窗口管理也提供了一種使消息直達某一窗口的機制,使消息可以直接送往請求這個消息的窗口。這個方法在某條消息只有一個特定的窗口感興趣的情況下非常有用。  
               
              MMI層內(nèi)部產(chǎn)生的消息,一般不按窗口層次結(jié)構(gòu)由于窗口向父窗口傳送。如果要把該類消息從子窗口向父窗口傳送,子窗口要負(fù)責(zé)這項工作。未處理的消息如何傳送,由缺省的消息處理函數(shù)負(fù)責(zé)。   系統(tǒng)提供了一些窗口類。如文本類,用于顯示固定字符;菜單類,用于菜單的顯示和處理;編輯類,用于字符的編輯等。應(yīng)用程序可以向窗口管理注冊新的窗口類。  
               
              窗口類實現(xiàn)了許多窗口的共同特性。向窗口管理注冊后的窗口類,可以生成窗口實例,很方便地為許多窗口再用。例如,菜單窗口的工作方式相同,只有當(dāng)菜單窗口的一個菜單項被選定時,才需要一段特定的程序來處理這特定的選擇。菜單類窗口的每個實例在選定特定的菜單項前的窗口管理都可以用窗口類中的同一段程序管理。這里強調(diào)一下,只有向窗口管理注冊了的窗口類,才能生成窗口實例。   窗口實例繼承了窗口類的特性,也可以增加自己的特性,還可以通過重載消息處理函數(shù)改變從窗口類繼承來的特性。生成窗口實例時,要把窗口類名、窗口名、窗口識別號、窗口函數(shù)名、窗口位置數(shù)據(jù)、父窗口、窗口風(fēng)格、窗口狀態(tài)、窗口鍵盤和窗口私有數(shù)據(jù)等參數(shù)送往窗口管理。  
               
              為了方便,預(yù)先定義了一些通用的對話窗口生成函數(shù)。如通知消息對話窗口,可以顯示通知信息;開/關(guān)選擇對話窗口,可以用于類似"開"或"關(guān)"等開關(guān)量的選擇;PIN輸入對話窗口,可以用于輸入PIN碼等等。  
               
              窗口消息在窗口函數(shù)中處理。窗口消息送往一個窗口時,實際上是送往這個窗口的窗口函數(shù)。每個窗口類都必須有一個窗口函數(shù)。在窗口實例中不處理的消息一般用缺省消息處理函數(shù)自動送往該窗口的窗口類的窗口函數(shù)中處理。某些在窗口類中不處理的消息,如GSM事件消息,則沿著從子窗口到父窗口方向遞送的傳遞鏈自動送往父窗口處理。對話窗口的子窗口可能會有一個子類窗口過程,這時窗口消息首先送往具有焦點的子窗口,如在待機窗口中,數(shù)字鍵消息首先送往電話號碼編輯子窗口的窗口函數(shù)中處理。  
               
              下面以快捷功能為例,說明如何實現(xiàn)具體功能。  
               
              4   快捷功能及其實現(xiàn)    
               
              菜單一般按功能分類編排,有時常用的功能安排在較深的菜單下面,使用時常感不便。為了方便用戶訪問常用功能,許多手機都有快捷功能。幾種不同方法都可以實現(xiàn)快速訪問菜單項的目的。  
               
              4.1功能編號法  
               
              給每個菜單項一個功能編號,在主菜單下鍵入這個編號,就可以進入這項菜單。例如主菜單第五項一子菜單第四項一下一級子菜單第一項的功能編號為5-4-1。只要在主菜單下鍵人5、4、1,就可以進入這項功能。  
               
              每項菜單在其所屬窗口中都有一個編號。這種方法其實是每次按下數(shù)字鍵時,選中當(dāng)前窗口中該數(shù)字鍵所代表的菜單項,逐級進入,直至調(diào)出所需的功能。這項功能可以在菜單類中實現(xiàn),這樣,任何菜單窗口就都有用數(shù)字鍵選擇菜單項的功能。只要在菜單類的窗口函數(shù)中,加人數(shù)字鍵鍵盤消息的處理代碼就可以實現(xiàn)這項功能。  
               
              4.2快捷菜單法  
               
              在主菜單下增加一個子菜單,把原來分布在各級子菜單下的常用功能收集到這個子菜單中,就組成一個快捷菜單。這些功能除了可以在各級子菜單中找到,也可以從快捷菜單直接進入。快捷菜單的處理方法與普通菜單一樣。  
               
              快捷菜單本身也可以設(shè)計成用快捷鍵進入,其實現(xiàn)方法參看下面的快捷鍵法。  
               
              4.3快捷鍵法  
               
              快捷鍵法一般是設(shè)法利用鍵盤上的某些鍵進入快捷功能。由于鍵的用途很多,必須滿足一定的條件才能進入快捷功能。比如在待機狀態(tài)下,連續(xù)按住某個鍵約2秒進入快捷功能。快捷鍵功能一般在待機窗口中實現(xiàn),基本方法如下:  
               
              1)在待機窗口的電話號碼編輯子窗口中,當(dāng)收到有鍵壓下的消息時,啟動按鍵計時器;當(dāng)收到按鍵釋放的消息時,按鍵計時器停止工作。  
               
              2)按鍵計時器利用每秒一次到達待機窗口的定時器消息進行計時。  
               
              3)按鍵時間超過2秒時,調(diào)用按鍵所代表的功能的實現(xiàn)函數(shù),啟動快捷功能。  
               
              5   結(jié)束語  
               
              GSM手機MMI軟件的開發(fā)是一項復(fù)雜的軟件工程。采用面向?qū)ο蟮某绦蛟O(shè)計技術(shù)用C語言開發(fā)窗口結(jié)構(gòu)的MMI軟件,程序結(jié)構(gòu)清晰,代碼效率高,模塊可再用性好,便于增加產(chǎn)品功能,便于開發(fā)小組編程時分工合作。  
            久久精品亚洲福利| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 久久精品国产亚洲av日韩| 久久综合伊人77777| 国产精品亚洲综合久久| 7777久久久国产精品消防器材 | 久久九九兔免费精品6| 精品久久一区二区| 偷窥少妇久久久久久久久| 国产成人精品久久亚洲高清不卡 国产成人精品久久亚洲高清不卡 国产成人精品久久亚洲 | 日本欧美久久久久免费播放网| 嫩草影院久久99| 亚洲精品美女久久777777| 欧美与黑人午夜性猛交久久久| 久久久久亚洲av无码专区喷水| 亚洲第一永久AV网站久久精品男人的天堂AV | 91精品国产91久久久久久蜜臀| 2021久久国自产拍精品| 日本免费久久久久久久网站| 国产精品久久久久久福利漫画| 思思久久99热只有频精品66| 国产精品一区二区久久精品无码| 九九精品99久久久香蕉| 午夜精品久久久久久毛片| 久久久久久A亚洲欧洲AV冫| 99久久伊人精品综合观看| 久久99国产精品尤物| 久久男人Av资源网站无码软件| 久久婷婷五月综合国产尤物app| 久久久久久A亚洲欧洲AV冫| 成人国内精品久久久久影院VR| 久久精品国产亚洲AV无码麻豆| 久久久久人妻一区精品色| 久久久久久人妻无码| 精品熟女少妇a∨免费久久| 一本一本久久A久久综合精品| 精品国产乱码久久久久软件| 久久久久亚洲国产| 久久天天躁夜夜躁狠狠躁2022| 久久久久久久久久久精品尤物 | 狠狠色婷婷综合天天久久丁香 |