J2ME移动应用开发入门

在现代技术中,几乎每个人都拥有移动设备。有些人甚至比使用个人电脑更频繁地使用这些设备,并且他们总是需要新的功能和功能。这些功能和功能是通过移动应用程序提供的,所以决定写一系列关于构建移动应用程序的文章。

J2ME应用程序简单地说就是具有有限功能的Java应用程序,它们被设计为在移动设备上运行。这些设备的Java运行时环境是通过使用移动信息设备配置文件(MIDP)和连接有限设备配置(CLDC)来提供的。MIDP和CLDC简单地提供了移动应用程序所需的核心应用程序功能。要编写J2ME应用程序,需要Java平台微型版SDK和一个IDE,可以是Netbeans或Eclipse。

创建MIDlet

所有J2ME应用程序都必须有一个主类,该类应该从称为MIDlet的特殊类派生。它就像应用程序的入口点,管理应用程序的生命周期。MIDlet可以处于三种状态之一:active、paused和destroyed。当应用程序管理器调用pauseApp()方法时,MIDlet被置于paused状态,当它调用startApp()方法时,MIDlet被置于active状态。destroyed状态是在调用MIDlet的destroyApp()方法或MIDlet本身调用notifyDestroyed()方法时进入的。

MIDlet类位于javax.microedition.midlet包中,所以首先要做的是导入这个包,以及包含J2ME UI组件的javax.microedition.lcdui包。

import javax.microedition.midlet.*; import javax.microedition.lcdui.*;

接下来,创建一个从MIDlet类派生的类,并实现三个抽象方法:startApp()、pauseApp()和destroyApp()。

public class HelloMIDlet extends MIDlet { public HelloMIDlet() { } protected void startApp() { } protected void pauseApp() { } protected void destroyApp(boolean unconditional) { } }

显示和Displayable

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类的静态方法getDisplay()并传递一个对MIDlet对象的引用。接下来,使用Display对象的setCurrent()方法来显示Form。

protected void startApp() { display = Display.getDisplay(this); display.setCurrent(helloFrm); }

本文描述了如何创建一个J2MEHello 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) { } }
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485