J2ME:Hello World 移动应用程序






4.56/5 (8投票s)
这是一篇 J2ME 初学者文章,介绍了如何编写您的 Hello World J2ME 应用程序。
引言
移动技术是一种日常技术,几乎每个人都有。有些人甚至比使用 PC 更多地使用这项技术,并且他们总是需要新功能。这些功能是通过移动应用程序提供的,所以我决定写一系列关于构建移动应用程序的文章。
背景
J2ME 应用程序只是设计用于在移动设备上运行的、功能有限的 Java 应用程序。这些设备的标准 Java 运行时环境是使用移动信息设备配置 (MIDP) 结合连接的受限设备配置 (CLDC) 提供的。MIDP 和 CLDC 仅提供移动应用程序所需的核心应用程序功能。要编写 J2ME 应用程序,您需要 Java Platform Micro Edition SDK 和一个 IDE,可以是 Netbeans 或 Eclipse。
创建 MIDlet
所有 J2ME 应用程序都必须有一个主类,该类应派生自一个名为 MIDlet
的特殊类。它就像应用程序的入口点,并管理应用程序的生命周期。MIDlet
可以处于三种状态之一:活动,暂停和销毁。当应用程序管理器调用 pauseApp()
方法时,MIDlet
处于暂停状态,当它调用 startApp()
方法时,MIDlet
处于活动状态。当调用 MIDlet
destroyApp()
方法或 MIDlet
本身调用 notifyDestroyed()
方法时,将进入销毁状态。
MIDlet
类位于 javax.microedition.midlet
包中,因此首先要做的是导入此包,以及包含 J2ME UI 组件的 javax.microedition.lcdui
。
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
下一步是创建一个从 MIDlet
类派生的新类,并实现三个 abstract
方法:startApp()
、pauseApp()
和 destroyApp()
。
public class HelloMIDlet extends MIDlet {
public HelloMIDlet() {
}
protected void startApp() {
}
protected void pauseApp() {
}
protected void destroyApp(boolean unconditional) {
}
}
显示和可显示
J2ME 应用程序可以在后台运行或与用户交互。交互式应用程序需要通过获取 Display
类的实例来访问移动显示。Display
对象用于显示所需的用户界面,该用户界面应派生自 Displayable
类,在本文中将使用 Form
类的实例。Form
是 Displayable
类的派生类,它有一个标题,您可以使用其他 UI 组件向其中添加内容。
因此,下一步是定义 Display
和 Form
类的两个数据成员。
public class HelloMIDlet extends MIDlet {
private Display display;
private Form helloFrm;
...
}
在 MIDlet
类的构造函数中,通过调用构造函数并将表单标题传递给它来创建 Form
类的实例。
public HelloMIDlet() {
helloFrm = new Form("Hello World");
}
显示表单
下一步是获取 Display
类的实例并显示表单。要获取 Display
类的实例,您需要调用 Display
类的 static
方法 getDisplay()
并将对 MIDlet
对象的引用传递给它。接下来,使用 Display
对象的 setCurrent()
方法显示 Form
。
protected void startApp() {
display = Display.getDisplay(this);
display.setCurrent(helloFrm);
}
结论
本文介绍了如何创建 J2ME Hello World 移动应用程序。所有 J2ME 应用程序所需的第一个步骤是创建 MIDlet
类,它是应用程序中的主类。然后,您可以将 Form
类的实例用作应用程序中的主 UI,应使用 Display
类的对象将其显示。
以下是完整的应用程序代码
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
public class HelloMIDlet extends MIDlet {
private Display display;
private Form helloFrm;
public HelloMIDlet() {
helloFrm = new Form("Hello World");
}
protected void startApp() {
display = Display.getDisplay(this);
display.setCurrent(helloFrm);
}
protected void pauseApp() {
}
protected void destroyApp(boolean unconditional) {
}
}
历史
- 2011年3月17日:初始版本