程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> J2ME開發之手機鍵盤使用注意問題

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

編輯:關於JAVA

在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系列手機上的左右兩個軟鍵,做到這兩個軟鍵的處理通用。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved