一个J2ME的应用移植到BlackBerry上,如何处理按键响应(以及如何映射左右软键)
2010-06-17 21:03
405 查看
把J2ME的应用移植到BlackBerry上来说可能遇到的第一个问题就是按键问题,因为BlackBerry和其他手机不同,没有左右软件和方向键。取而代之的是Menu Key(我也愿意叫它黑莓键),Return Key(返回键),以及轨迹球(Track Wheel/Track Ball/Track Pad)。那么如何适配按键问题,就是BlackBerry上的第一个问题。
以下我总结了一下,希望对大家有帮助。
方法1:研究BlackBerry UI的API,也就是包:net.rim.device.api.ui,把Midlet UI的API都替换为这一套API,来开发一个真正的BlackBerry风格的应用。无论从显示效率还是以后的维护成本,这样的方案都是一劳永逸。而且我的经验也证明,BlackBerry封装的UI Framework对于J2ME程序员来说是相当容易上手的。不过这个方案是一个大话题,不是这个主题要讨论的主要内容。
方法2:一般是一个过渡方案,在Midlet的基础上做改动,具体到按键响应,有以下步骤:
i, 监听trackwheel/trackball/trackpad事件,需要实现接口TrackwheelListener
这个接口在包net.rim.device.api.system中,参考以下URL:
http://www.blackberry.com/developers/docs/5.0.0api/net/rim/device/api/system/TrackwheelListener.html
然后在应用中加入:
Application.getApplication().addTrackwheelListener (this);
ii,监听按键事件,还需要实现KeyListener,并且在应用中加入:
Application.getApplication().addKeyListener(this);
iii, BlackBerry提供了一个类来返回键值:net.rim.device.api.ui.Keypad,其中以下两个宏是两个常用的键值。
注:以上用到的类和接口都是不需要签名的,对于那些已经开发完成J2ME,只想简单修改就可以在BlackBerry上运行的开发人员来说,绝对是宝典!
以下我总结了一下,希望对大家有帮助。
方法1:研究BlackBerry UI的API,也就是包:net.rim.device.api.ui,把Midlet UI的API都替换为这一套API,来开发一个真正的BlackBerry风格的应用。无论从显示效率还是以后的维护成本,这样的方案都是一劳永逸。而且我的经验也证明,BlackBerry封装的UI Framework对于J2ME程序员来说是相当容易上手的。不过这个方案是一个大话题,不是这个主题要讨论的主要内容。
方法2:一般是一个过渡方案,在Midlet的基础上做改动,具体到按键响应,有以下步骤:
i, 监听trackwheel/trackball/trackpad事件,需要实现接口TrackwheelListener
这个接口在包net.rim.device.api.system中,参考以下URL:
http://www.blackberry.com/developers/docs/5.0.0api/net/rim/device/api/system/TrackwheelListener.html
然后在应用中加入:
Application.getApplication().addTrackwheelListener (this);
ii,监听按键事件,还需要实现KeyListener,并且在应用中加入:
Application.getApplication().addKeyListener(this);
iii, BlackBerry提供了一个类来返回键值:net.rim.device.api.ui.Keypad,其中以下两个宏是两个常用的键值。
KEY_MENU
(黑莓键)和
KEY_ESCAPE
(返回键)
注:以上用到的类和接口都是不需要签名的,对于那些已经开发完成J2ME,只想简单修改就可以在BlackBerry上运行的开发人员来说,绝对是宝典!
相关文章推荐
- J2ME控制响应按键的算法以及冲突检测的方法和动画的处理
- J2ME中处理日期相关问题以及收藏一个日期处理类(忽略时间)
- 【图形处理】如何将一个平面图形按照角度往z轴扭曲【2】-根据左右上下四个边进行旋转
- 应用PopupWindow时,如何响应按键操作
- 如何为一个按钮(View)设置任意多次点击事件以及可以同时响应多个多次点击事件
- 如何将MIDlet应用移植到BlackBerry(二)
- 团队开发中,如何处理一个站点不同Web应用通用Session
- 一个SoapExcept异常的处理以及.NET平台下WebService应用的一点注意事项
- 如何将Android应用移植到BlackBerry PlayBook上。
- 1000个灯围成一个环,初始状态是熄灭的,按一个灯,它以及它的左右两盏灯的状态会改变,问 如何让所有灯都亮?
- Asp.net中如何处理一个站点不同Web应用通用Session的问题
- 如何创建一个新浪微博应用以及获得Access token
- 学习ASP.NET Core, 怎能不了解请求处理管道[3]: 自定义一个服务器感受一下管道是如何监听、接收和响应请求的
- 团队开发中,如何处理一个站点不同Web应用通用Session
- 出色的用户体验有三个特征:速度快、响应及时以及无缝。下面的信息帮助你的应用如何能够在Android上实现这些特征
- 在Web应用中,会用到大量的Ajax请求,在Ajax请求中存在的一个问题就是如何判断session超时,在网上找到的一个java中处理此问题方法:
- iOS一个应用有多个颜色主题时,用到图片的地方如何处理
- 如何将MIDlet应用移植到BlackBerry(一)
- 如何快速把安卓应用移植到BlackBerry 10上
- (实战)Spring Portlet MVC处理请求分析以及如何快速架构一个Portlet项目