J2ME開發之手機鍵盤使用注意問題_JSP教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:J2ME 記錄管理存儲
      移動信息設備框架(Mobile Information Device Profile)和 移動 Java 應用程序的平臺 為 MIDP 應用程序提供一種跨多個調用持久存儲數據的機制。這種持久存儲機制可以被視為一種簡單的

      在J2ME程序的開發過程中,經常需要接受用戶的輸入,而所有這些的輸入都是通過手機鍵盤進行的,下面介紹一下在使用的時候需要注意的問題。

      在高級用戶界面開發中,只能使用功能鍵來控制Command按鈕,這些都是一些固定的模式,例如手機顯示兩個Command的話,分別對應屏幕上的左右兩個Command,不需要用戶去處理鍵值,所以不存在移植的問題,在所有的手機上都是通用的。

      但是在低級用戶界面開發中,可以直接獲得手機的鍵值(keyCode),因為不同的手機中按鍵的鍵值存在差別,所以就存在移植的問題了。

      在手機鍵盤上,可以簡單的分為功能鍵區域和數字鍵區域,功能鍵指手機上的左右軟鍵,中間的導航鍵以及接聽電話和掛機鍵等,數字鍵區域指手機鍵盤上的0-9數字鍵以及*號和#號鍵。其中功能鍵的個數以及鍵值,不同的手機區別很大,而數字鍵的區域的按鍵個數,以及按鍵的鍵值都是一樣的。

      所以在游戲中為了使程序通用,一般都不直接使用鍵值來進行判斷,而是用游戲動作(gameAction)來進行判別的:實現的代碼如下:

      //將keyCode轉換為游戲動作

      int action = getGameAction(keyCode);

      其中,keyCode和游戲動作的對應關系如下:

      Canvas.UP——數字鍵2和向上導航鍵

      Canvas.DOWN——數字鍵8和向下導航鍵

      Canvas.LEFT——數字鍵4和向左導航鍵

      Canvas.RIGHT——數字鍵6和向右導航鍵

      Canvas.FIRE——數字鍵5和確定導航鍵

      Game_A、Game_B、Game_C、Game_D分別對應鍵盤上的1、3、7、9或者是7、9、*、#鍵。

      經過上面的轉換以后,代碼實現就和手機鍵盤上的鍵值無關了。

      另外,如果是Nokia系列的手機,還可以使用com.nokia.mid.ui.FullCanvas類里面的SOFTKEY1、SOFTKEY2來控制Nokia系列手機上的左右兩個軟鍵,做到這兩個軟鍵的處理通用。

        

      分享:MVC模式在j2me項目中的應用二
      版權聲明:本文同時發表在www.j2medev.com和我的Blog(blog.csdn.net/alikeboy)上,如果需要轉載,有三個途徑:1)聯系我并經我同意;2)和www.j2medev.com有轉載文章合作協議的 3)

      來源:模板無憂//所屬分類:JSP教程/更新時間:2008-08-22
      相關JSP教程