Board logo

标题: 利用MIDP API建立跨多种无线平台的应用04 [打印本页]

作者: samwalton    时间: 2014-3-25 20:30     标题: 利用MIDP API建立跨多种无线平台的应用04

头两行导入指定的midlet类来支持MIDlet类, CommandAction接口和用户接口(UI)类。这些类放在MIDP API中,其中带有一个经过修改的Java编程语言子集。MIDP API中包含的类将会在本文后面详细讨论。

  public class HelloMidlet extends MIDlet implements CommandListener

该行声明HelloMidlet类是扩展MIDlet类,并且实现了CommandListener接口。每个midlet都必须扩展抽象的MIDlet类,该类包含了以下表示的三个方法,而每一个midlet都必须覆盖它们以完成自己的生命周期。

方法名 方法的目的
startApp分配渴望的系统资源和初始化应用
pauseApp暂时挂起耗资源的处理
destroyApp释放被midlet使用的资源并且处理掉midlet

在上面的例子中,startApp包含了大部分的功能,这是由于HelloMidlet并没有使用其它的系统资源,例如网络连接或者数据存储。在HelloMidlet被执行的时候,将会调用startApp。

  如你所料,构造器将在startApp方法前被执行。在这个例子中,构造器由全局的Display对象接收显示。此外,构造器初始化doneCommand。

  上面的startApp方法将用来创建在midlet上显示的屏幕。以下的行是用来初始化TextBox屏幕的。

  TextBox textBox = new TextBox("Hello Midlet", "Hello Midlet World!!", 256, 0);

  一个midlet的屏幕还包括有Commands。一个command就是midlet用来创建菜单的技术,就象上图中的“Done”按钮。以下代码就是用来为TextBox屏幕加入“Done”按钮的代码:

// Add the done Command to the TextBox
textBox.addCommand(doneCommand);

  Command源还会在被点击时产生CommandActions。在上面的简单例子中,HelloMidlet将会实现CommandListener的接口,因此还会处理所有自己的事件。在开发系统变得更复杂时,使用一个扩展的方式来处理事件将会更为有利。

// Set the command listener for the textbox to the current midlet
textBox.setCommandListener( (CommandListener) this);

  既然TextBox已经被创建,它就准备好被显示在设备的屏幕上。在以下的代码中。我将当前的显示设置为新创建的TextBbox;

// Set the current display of the midlet to the textBox screen
midletDisplay.setCurrent(textBox);

  HelloWorld midlet是一个很简单的例子,它只使用了MIDP平台上的一些类。在以下的部分,我将会介绍MIDP API的一个子集。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0