| | 网站首页 | 无线增值 | 软件下载 | 电信 | 手机 | 手机游戏 | 手机软件 | 手机电子书 | 网中游论坛 | CP.SP论坛 | 网站投稿 | | |
![]() |
![]() |
| 您现在的位置: CP.SP论坛 >> 无线增值 >> 技术文章 >> J2ME技术 >> 文章正文 |
|
|||||
| J2ME中的事件处理 | |||||
作者:未知 文章来源:转载 点击数: 更新时间:2008-1-30 ![]() |
|||||
|
译者:Rocks 译者按:下面翻译自MIDP2.0 API文档,希望有助于大家理解MIDlet的运行机制。用户的交互产生事件,然后MIDP实现把这些事件采用对应的回调方法来通知应用程序。有四大类UI回调方法: * 抽象的命令,这是高层界面API的一部分 * 单个按键按下和释放的底层事件(如果触摸点设备可用的话,那么还包括触摸点事件) * 回调Canvas类的paint()方法 * 由Display类的callSerially()方法引发的,对Runnable.run()方法的回调 所有的UI回调方法都是序列化的,所以它们绝不会并行发生。也就是,任何MIDP实现都不能在前一个回调未返回的情况下调用另外一个回调。这个性质确保了当一个事件发出的时候,它的前一个事件肯定已经处理完成。如果有多个未处理的UI回调,那么只要前一个UI回调返回了,下一个就会紧接着被调用。MIDP实现同时也要保证,使用callSerially()方法引发的run()方法要在所有未处理的repaint请求都得到满足之后才被调用。 但在回调的序列规则中有一个特例,就是当Canvas.serviceRepaint()方法被调用的时候。这个方法导致Canvas.paint()方法被立即调用,并会等待直到该方法运行结束。即使serviceRepaint的调用者本身就在一个回调中也一样。以后会对这个问题进一步讨论。 下面这些回调方法都是序列化执行的: Canvas.hideNotify Canvas.keyPressed Canvas.keyRepeated Canvas.keyReleased Canvas.paint Canvas.pointerDragged Canvas.pointerPressed Canvas.pointerReleased Canvas.showNotify Canvas.sizeChanged CommandListener.commandAction CustomItem.getMinContentHeight CustomItem.getMinContentWidth CustomItem.getPrefContentHeight CustomItem.getPrefContentWidth CustomItem.hideNotify CustomItem.keyPressed CustomItem.keyRepeated CustomItem.keyReleased CustomItem.paint CustomItem.pointerDragged CustomItem.pointerPressed CustomItem.pointerReleased CustomItem.showNotify CustomItem.sizeChanged CustomItem.traverse CustomItem.traverseOut Displayable.sizeChanged ItemCommandListener.commandAction ItemStateListener.itemStateChanged 由Display.callSerially引发的Runnable.run 记住定时器(Timer)事件并非UI事件,定时器的回调方法是可以和UI事件回调方法同时调用的,不过同一个Timer对象中的多个TimerTask则是序列化调用的。如果应用程序使用了定时器,那么当定时器事件回调和UI事件回调同时发生时,应用程序必须自己确保其数据结构的安全。应用程序也可以选择使用Display.callSerially()方法来把定时器事件序列化到UI事件队列中去以避免同步问题。 |
|||||
| 文章录入:十月 责任编辑:十月 | |||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 最新热点 | 最新推荐 | 相关文章 | ||
| J2ME 记录管理系统/设备数据 基于Nokia手机的移动游戏开发 了解J2ME在实际开发中的可选 如何使用J2ME中的线程 J2ME播放声音的几个问题(nok 初识RMS(Record Management J2me开发中使用泛型和基本类 j2me实现图片透明效果 信元诚聘IVR产品经理 上海美峰数码高薪招聘J2ME开 |
网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | | |