• <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)系 :: 聚合  :: 管理

            人機(jī)接口(MMI)

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