J2ME学习(四)——将MIDlet和界面分离(比较基础)
虽然使用面向对象的思想进行J2ME的编程,会增加代码量(增加发布文件的大小)和提高代码的复杂性。但是为了代码的可维护性和可扩展性,现在绝大多数的程序还是将界面和逻辑分离开来,下面先说明一下如何将MIDlet主类和界面分离。
在界面和MIDlet中,需要交换的系统内容主要有两部分:1、Display对象;2、MIDlet中的退出处理。
示例代码如下:
package testmidlet;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class TestMIDlet extends MIDlet {
private static TestMIDlet instance;
private LoginForm displayable ;
private Display display;
/** Constructor */
public TestMIDlet() {
instance = this;
display = Display.getDisplay(this);
displayable= new LoginForm(display);
}
/** Main method */
public void startApp() {
display .setCurrent(displayable);
}
/** Handle pausing the MIDlet */
public void pauseApp() {
}
/** Handle destroying the MIDlet */
public void destroyApp(boolean unconditional) {
}
/** Quit the MIDlet */
public static void quitApp() {
instance.destroyApp(true);
instance.notifyDestroyed();
instance = null;
}
}
package testmidlet;
import javax.microedition.lcdui.*;
public class LoginForm extends Form implements CommandListener {
private Display display;
/** Constructor */
public LoginForm(Display display) {
super("Test");
this.display = display;
setCommandListener(this);
// add the Exit command
addCommand(new Command("Exit", Command.EXIT, 1));
}
/**Handle command events*/
public void commandAction(Command command, Displayable displayable) {
/** @todo Add command handling code */
if (command.getCommandType() == Command.EXIT) {
// stop the MIDlet
TestMIDlet.quitApp();
}
}
}
其中display对象可以通过构造方法进行传递,退出方法可以通过方法调用来执行.这样,你的代码就能实现MIDlet类和界面分离了.
分享到:
相关推荐
《j2me手机游戏——扫雷》是一款基于Java 2 Micro Edition (J2ME) 平台开发的经典游戏,旨在为手机用户提供与Windows系统扫雷相似的娱乐体验。这款扫雷游戏具有高度的适应性,能够自动适应不同屏幕尺寸,同时配备了...
《J2ME程序设计——手机游戏与应用程序》是由谢晓勇和黄奇合著的一本专业书籍,主要探讨了如何利用Java 2 Micro Edition (J2ME) 平台进行手机游戏和应用程序的开发。J2ME是Java平台的一个子集,特别针对嵌入式设备和...
eclipse中配置j2me,简单运行j2me程序 j2me学习笔记【1】——helloworld程序示例 j2me学习笔记【2】——利用Display类的isColor()方法获取设备是否支持彩色的...j2me学习笔记【15】——使用低层用户界面显示文本小实例
根据给定的信息,我们可以分析并总结出关于J2ME(Java 2 Micro Edition)手机游戏——俄罗斯方块的重要知识点。 ### J2ME简介 J2ME(Java 2 Platform, Micro Edition)是Sun Microsystems为嵌入式设备和移动设备...
在Java 2 Micro Edition (J2ME)环境中,开发移动应用时可能会涉及到播放声音的需求。J2ME 提供了 Mobile Media API (MMAPI) 来处理多媒体内容,包括音频。MMAPI 是MIDP (Mobile Information Device Profile) 1.0 的...
内含J2ME游戏源码 和 相关论文一篇 论文内容:第一章、开发平台与技术概述;第二章 J2ME及其体系结构概述; 第三章 手机游戏开发过程;第四章 程序的调试与运行;第五章 总结;致 谢;参考文献
J2ME作业2,界面上每秒钟在随机位置出现随机颜色的数字0—9 ,要求用户快速反应,按下按键,如果按对,加1分,错误减2分,不按减1分,初始5分,减到0分,提示用户输了,有两个command可以退出或者重玩。 PS:不是工程...
《J2ME手机游戏源码:数独,初学者的理想学习资源》 ...总之,这份J2ME数独游戏源码是一份很好的实践材料,适合初学者动手实践,从中学习到移动游戏开发的基本方法和技巧,为自己的编程之路打下坚实基础。
copy别人的 ,觉得那段网络接收和发送处理的不错,
本文将深入探讨一个基于J2ME的项目——蓝牙联网五子棋游戏,旨在帮助开发者理解和掌握如何利用J2ME技术实现设备间的蓝牙通信,并构建具有联网功能的游戏。 首先,我们需要理解J2ME的基本架构。J2ME由配置...
《基于J2ME的手机游戏——SuperTank》是一款利用Java ME(J2ME)平台开发的经典坦克对战游戏。J2ME,全称Java 2 Micro Edition,是Java技术的一个分支,专门用于嵌入式设备和移动设备上的应用程序开发,如早期的智能...
### 非常好的关于J2ME学习概要 ...对于想要深入了解J2ME的读者来说,本文提供的学习路径和关键知识点将是非常有价值的参考资料。希望每位学习者都能通过这份概要少走弯路,更快地掌握J2ME的核心技术。
2. **配置规范**:在配置的基础上,进一步细化设备的能力,如Mobile Information Device Profile (MIDP)是CLDC上的一个标准,用于开发移动设备上的应用程序,它提供了用户界面组件和网络访问功能。 ### 二、J2ME...
"java基于J2ME的游戏开发——贪吃蛇论文" J2ME(Java 2 Micro Edition)は、近年来随着各种不同设备、尤其是移动通信设备的飞速发展而诞生的新的开发技术。J2ME 是Java平台的微型版,专门为资源有限的设备设计,...
这可能涵盖MIDP(Mobile Information Device Profile)和CLDC(Connected Limited Device Configuration)的基础知识,以及如何使用J2ME的Graphics类进行绘图,使用MIDlet套件管理应用程序生命周期,以及如何利用...
在“j2me学习实例”这个压缩包中,你将找到一系列的源码,这些都是学习J2ME编程的宝贵资源。源码通常包含了完整的功能模块和详细的注释,对于初学者来说,通过阅读和分析这些代码,可以深入理解J2ME的编程机制和实践...
在深入学习J2ME时,开发者还需要掌握MIDP API,这是MIDlets用来实现图形用户界面、网络通信、数据存储等功能的API集合。此外,理解KVM(K Virtual Machine),即J2ME设备上的Java虚拟机,及其内存管理和性能优化也是...
### J2ME无线开发之MIDlet的部署及Push自启动j2me程序 #### 一、MIDlet概述 MIDlet(Mobile Information Device Profile Applet)是Java 2 Micro Edition (J2ME) 平台上的一种轻量级应用程序。这类应用专为移动...
本压缩包提供了两本关于J2ME入门学习的电子书籍:《J2ME基础学习教程》和《j2mejiaocheng》。以下是对这两本书籍中可能包含的知识点的详细说明: 1. **J2ME架构**: - KVM(K Virtual Machine):J2ME的虚拟机,...