javax.mircoedition.lcdui包实现了一个同时运行在高级API和低级API上的事件模型。它处理诸如用户交互之类的事件并请求重绘屏幕。当触发一个事件时,事件模型获得通知并通过相应的回调使MIDlet相应事件。一共有4种类型的UI事件:
- 表示抽象命令的事件,作为高级API的一部分;
- 表示按下或释放某个键的低级事件,或拥有鼠标的设备的鼠标事件;
- 调用Canvas类的paint()方法的事件,可以通过一个repaint()调用产生;
- 通过调用Display类的callSerially()来请求调用一个Runnable对象的run()方法。
所有的回调都是串行的,决不会并行执行。更确切地说,一个新的回调决不会在另一个回调正在运行的时候启动。下一个回调仅在前一个执行完毕后才会启动,即使在有一系列的事件需要处理的时候也是如此,不管是谁在何处使用,甚至一个事件回调方法本身就是调用者。
抽 象命令(abstract commands)仅仅通过语义上定义,用于避免不得不实现实际的命令按钮。Command(命令按钮)被附加在Displayable对象上,如高级的 List或Form对象,或低级的Canvas对象。addCommand()方法添加一个Command到Displayable对象上。 Command指定了标签、类型和优先级。CommandListener则实现了实际的命令处理。设备的本地风格可以决定哪些Command出现在UI 的什么位置。例如,"Exit"总是被放置在Nokia设备的右软键上方。
还有一些设备提供的操作能帮助操作一些高级API。例如,屏幕对象如List和ChoiceGroup有内键的事件能返回用户输入并交应用程序处理。
—摘自《Symbian OS J2ME编程指南》
分享到:
相关推荐
J2ME提供了一些轻量级的线程模型,如`Thread`或` javax.microedition.midlet.MIDlet.runApp() `,可以用来实现异步处理。 7. **状态管理和缓存**:为了减少网络开销,MIDLet可以存储服务器返回的一些状态信息或数据...
模型(Model)处理数据和业务逻辑,视图(View)展示数据,控制器(Controller)处理用户输入并更新模型。这种架构使得代码结构清晰,易于维护和扩展。 3. **输入(Input)组件** "input"子项目可能包含了各种输入...
它可以被看作是一种发布/订阅模型,其中一个应用程序可以发布事件,而其他应用程序则可以订阅这些事件。 - **应用场景**:全局事件非常适合于需要多个应用程序之间协作的场景,例如通知其他应用程序某些状态的变化,...
根据提供的文件信息,本文将对《MIDP_2_0_Signed_MIDlet_Developers_Guide(2.0版本)》中的关键知识点进行详细解读。这份文档主要介绍了MIDP 2.0环境下对MIDlets进行签名的相关技术和实践方法。 ### 关于文档 该...
MIDlet是J2ME中的一个应用程序模型,专为小型设备设计,如手机。本教程将带你进入手机游戏开发的世界,通过开发经典游戏——俄罗斯方块,让你了解J2ME的基础知识。 首先,我们来看一下J2ME。J2ME是Java技术的一个...
在DEMO程序中,`jsr_184_midlet`很可能是一个MIDlet,即Java ME上的移动应用程序。MIDlet是Java ME平台上的核心组件,可以在手机或其他移动设备上运行。这个MIDlet使用了JSR 184提供的3D图形功能,展示了一个基于M3G...
在这个题目中,我们看到了J2ME的MIDlet应用模型,这是J2ME用于创建移动应用程序的基本框架。 2. MIDlet类:`MIDlet` 是J2ME中的核心类,它是所有J2ME应用程序的基础。`Hello` 类扩展了 `MIDlet` 类,表明它是一个...
2. **MIDlet**:MIDlet是JME中的应用程序模型,是Java应用在移动设备上的执行单元。MIDlet集合了用户界面、数据存储和网络通信等功能,可以在支持JME的设备上运行。 3. **开源软件**:开源软件意味着其源代码对公众...
7. **事件处理**:MIDP的事件模型基于AWT/Swing的事件模型,包括键盘、触摸屏和定时器事件等。 8. **生命周期管理**:MIDlets有自己的生命周期,包括startApp、pauseApp、resumeApp和destroyApp四个方法,开发者...
文章提出了基于Model View Controller(MVC)模式的手机应用程序架构设计,通过将控制器作为中心,协调视图和模型,控制器控制各个界面的切换,响应界面传导过来的用户事件,当模型的状态改变时,通过控制器传导给...
6. **安全模型**:J2ME的安全模型限制了MIDlet的权限,例如访问网络、读写文件等,这有助于保护设备免受恶意代码的侵害。 7. **设备适配**:由于J2ME运行在各种不同的设备上,开发者需要考虑设备的屏幕大小、键盘...
通过这个简单的例子,我们不仅可以了解到MIDlet的基本结构,还可以深入了解J2ME应用程序如何管理生命周期事件。 总结来说,J2ME是专门为资源受限的设备设计的Java平台版本。它通过Configuration和Profile定义了一套...
5. **事件处理**:MIDP采用事件驱动模型,通过注册监听器来响应用户操作或系统事件。例如,CommandActionListener用于处理用户点击命令按钮。 6. **生命周期管理**:MIDlet有自己的生命周期,包括启动、暂停、恢复...
开发者应当理解MIDP的安全模型,并在编写MIDlet时考虑到这些限制。 6. **用户体验**:在设计MultiMIDlet时,应考虑如何提供统一的用户界面和流畅的导航体验。用户可能会在不同MIDlet之间切换,因此确保无缝过渡是至...
MIDP2.0遵循Java的权限模型,使用MIDlet安全策略来限制应用程序的权限。开发者需要在MIDlet Suite的清单文件中声明所需权限。 **10. 打包与部署** 完成MIDlet开发后,你需要创建一个MIDlet Suite JAR文件,并可能还...
J2ME使用Event Dispatcher Thread(EDT)模型来处理事件。MIDlet必须响应来自用户的输入事件,如按键按下、屏幕触摸等,这通常通过注册监听器来实现。 7. **生命周期管理**: 每个MIDlet都有一个生命周期,包括...
- **事件处理**:理解MIDP事件模型。 - **调试与优化**:学会在模拟器和实际设备上测试应用。 **6. 进阶话题** - **蓝牙和红外通信**:使用JSR-82实现设备间的无线通信。 - **游戏开发**:利用Canvas进行游戏逻辑和...
6. **事件处理**:J2ME中的事件模型基于Observer模式,事件监听器接口如CommandListener和ItemStateListener可以帮助处理用户输入。 7. **模拟器**:Java Wireless Toolkit (WTK) 提供了一个模拟器,开发者可以在...