J2ME开发之手机键盘使用注意问题

在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系列手机上的左右两个软键,做到这两个软键的处理通用。

时间: 2024-11-02 09:46:41

J2ME开发之手机键盘使用注意问题的相关文章

假设用J2ME开发一手机客户端,电脑上用VB6开发一对应的服务端并安装花生壳,请问它们两者间能实现TCP/IP通讯吗?

问题描述 我想请教一个手机到PC的网络通讯问题,就是假设用J2ME开发一个手机客户端小软件,然后在电脑上用VB6也同样开发一个对应的服务端软件,并安装花生壳实现DDNS.请问这样手机和PC它们两者间能实现TCP/IP通讯吗? 解决方案 可以的吧!

关于j2me开发的几个问题

问题描述 我目前正在用j2me开发一个手机网络通讯程序客户端,可以理解为一个qq手机客户端.想实现如下两个功能:1程序在后台运行时可以在手机主界面顶部任务栏出现一个图标,来消息后图标会闪烁提醒,2在程序中点红色的挂机键默认让程序在后台运行,不退出程序请问如何实现,能否给个大概思路,谢谢了. 解决方案 解决方案二:不懂.解决方案三:是nokias60系统有nokia的wtk包解决方案四:做qq手机客户端挺困难的,哥还没学会解决方案五:接分要星星解决方案六:没法让J2ME程序自动在后台运行解决方案七

在Eclipse上搭建Nokia手机的J2ME开发环境

在Eclipse上搭建Nokia手机的J2ME开发环境 安装红外适配器 Nokia6220提供多种与PC机连接通讯的方式:数据线和红外传输.我用的台式PC上是不带红外接收头的,所以得先去赛格电脑市场买一个红外适配器(IR Adapter). 由于之前没玩过这玩意,经过左挑右选,花30元买回一个样子小小的(类似U盘),外壳透明的红外适配器.哪知回来一装,传输速率才9600, 便宜没好货啊.速度慢且不说,用了两天就再也连不上了.无赖之下,又去赛格加了15元换了一个样子丑丑的适配器. 安装Nokia

J2ME开发笔记-键盘响应

笔记|响应 J2ME开发笔记-键盘响应 不同的机型对于键盘事件的响应不一样.经过我的测试,Nokia 7210,3100一次只能接受一个按键信息.(我写了个测试程序,发现如果一个键被按下后没有松开,则KeyPressed事件不会再产生,即其他键的按下操作无效)所以,用缓冲处理控制精灵运动时,如果规定只能四方向运动.如果up已按下,再按下left,精灵的运动方向并不会改变.不过将按键缓冲.按下up,按下left不释放,松开up---精灵就会向左运动.(在松开up后产生了left的KeyPresse

J2ME开发的体会

J2ME方面开发的资料,确实是少之又少,一般给新手推荐的都是王森先生的<PDA与手机开发入门>一书,然而该书其实并不适合新人阅读,该书的前几章花了很大篇幅来讲解命令行调试J2ME程序的方法和很多要点,其实这些东西,作为一个初级的J2ME开发者来说,完全没有必要学习和掌握,反而只会给自己平添很多负担.现在做J2ME开发,大多都有了IDE(集成开发环境),比如JB,Eclipse什么的,就算是用最简单的WTK,也不需要进行path的配置等操作,所以初学者完全可以跳过这些内容,直接上手.我的认为,做

使用NetBeans进行J2ME开发(五):揭开游戏开发的神秘面纱

游戏开发,好大的一个命题哦.无论是游戏的剧情设计,还是游戏的美工制作,那都不是一两下子能够完成的事,而编程,只是其中的一小部分.但是,就算是这一小部分,我也不可能把它掌握得很透彻.这篇随笔,大部分都是些抄书的东西,主要是为了我的博客的完整性而存在,但是我依然会尽力把它写好,要让那些精通Java其它领域但是却没有机会做J2ME开发的高手们看看图片解解馋,让那些想做手机游戏开发的同仁们看看J2ME的Game API究竟为我们提供了哪些支持,让我们知道写游戏需要了解哪些概念. 先来了解一下MIDP 2

J2ME开发环境的安装和使用

J2ME(Java 2 Micro Edition)作为现在的一种主流的.通用的手机程序开发技术,在实际的开发过程中得到的广泛的使用.而手机程序开发作为一个新兴的软件开发领域,对于人才以及产品的需求还远远没有得到满足,所以手机程序开发技术成为了现在最热门,也是发展前景很光明的技术之一.本文就介绍J2ME技术开发的第一个环节――开发环境的安装和实际的使用. J2ME技术作为一种通用的技术,针对的领域主要是消费类电子设备,包括机顶盒.车载设备.可视电话.手机等各种设备,下面只介绍J2ME技术进行手机

新手入门:J2ME开发环境的安装和使用

J2ME(Java 2 Micro Edition)作为现在的一种主流的.通用的手机程序开发技术,在实际的开发过程中得到的广泛的使用.而手机程序开发作为一个新兴的软件开发领域,对于人才以及产品的需求还远远没有得到满足,所以手机程序开发技术成为了现在最热门,也是发展前景很光明的技术之一.本文就介绍J2ME技术开发的第一个环节--开发环境的安装和实际的使用. J2ME技术作为一种通用的技术,针对的领域主要是消费类电子设备,包括机顶盒.车载设备.可视电话.手机等各种设备,下面只介绍J2ME技术进行手机

J2ME开发环境搭建 之 EclipseMe

J2ME开发环境搭建 之 EclipseMe   第一节    初识Eclipse Eclipse是一个开发源代码,基于java的可扩展开发平台,它是在OSI(Open Software Initiative 开发源代码计划)认可的通用公共许可证(CPL)版下被授予许可证的集成开发平台(IDE).作为当今最流行的java开发IDE之一,java社群使用Eclipse以及基于Eclipse技术而来的IBM Websphere的开发者已经超过了半数. Eclipse本身只是一个框架和一组响应的服务,