大家是不是心里都痒痒的了,好,让我们开始编写一个非常简单的 MIDlet吧,这个 MIDlet将创建一个带有一则消息的文本框。我们还要添加一个命令按钮用于退出这个 MIDlet。 一、编写 Java源代码 创建一个新目录来保存你以后编写的MIDlet,例如 c:\midlets,在这个目录里再创建一个叫myMIDlet的目录,使用任何文本编辑器创建一个名为 simpleMIDlet.java的文件并输入下面这一段 Java源代码。把这个文件保存在c:\midlets\myMIDlet目录 (或者任何你选择的目录)。 代码段1 simpleMIDlet.java
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class simpleMIDlet extends MIDlet implements CommandListener
{
private Display display; // 引用MIDlet的Display 对象
private TextBox tbxMain; // Textbox 显示一条消息
private Command cmdExit; // 设定按钮用于退出MIDlet
// MIDlet构造程序
public simpleMIDlet()
{
display = Display.getDisplay(this);
cmdExit = new Command("Exit", Command.SCREEN, 1);
tbxMain = new TextBox("Simple MIDlet", "Welcome ", 50, 0);
tbxMain.addCommand(cmdExit);
tbxMain.setCommandListener(this);
}
// 被应用程序管理器调用来启动MIDlet。
public void startApp()
{
display.setCurrent(tbxMain);
}
// 一个必要的方法
public void pauseApp()
{ }
file://一个必要的方法
public void destroyApp(boolean unconditional)
{ }
file://检查一下是否选择了退出命令
public void commandAction(Command c, Displayable s)
{
if (c == cmdExit)
{
destroyApp(false);
notifyDestroyed();
}
}
} |
此时,先不必担心每行代码是做什么用的,把注意力放在开发这一整个环节中。
二、编译并预验证(preverify) 现在你必须编译这个 java源文件并且 preverify生成的.class文件。1.编译源代码进入命令行形式,进入你保存文件的项目目录,使用下面的命令编译程序。 | avac -bootclasspath c:\j2me\midp-fcs\classes simpleMIDlet.java |
选项 - bootclasspath C: \j2me\midp - fcs\classes指定了 Java自举(启动)类文件目录。我们必须自己指向midp类,否则javac会使用默认的JDK类库去编译MIDlet程序。不出问题的话,就能顺利地编译simpleMIDlet.java生成simpleMIDlet.class文件 (默认情况下,生成的.class位于 Java源文件所在的目录)。2.预验证类文件。 | preverify -classpath c:\j2me\midp-fcs\classes;. -d . simpleMIDlet |
选项" -classpath C:\j2me\midp-fcs\classes;." 指定了到哪里去寻找用于预验证的.class文件。这包括需要用来做验证处理的 MIDP类 (通过 c:\j2me\midp-fcs\classes指定 )和你的类文件,它位于当前目录 (就是"."指定的)。选项"-d." 告诉预验证器把验证过的类文件放在什么地方。这一点"." 指当前目录,即原始的类文件相同的位置。注意:前面的 preverify命令行选项将用一个新的、预验证过的类文件覆盖原先的类文件。你可以分两个目录,一个用来保存通过编译的类文件,另一个用来保存通过预验证创建的类文件。但是没有经过预验证的类文件是不能被应用程序管理器载入的。3、运行 MIDlet我们现在准备在移动设备模拟器中运行 MIDlet,如果你现在还处在命令行方式,请输入
三、封装MIDlet
下面我想谈谈封装MIDlet的相关知识,即介绍一下 MIDlet套件以及Java档案和应用程序描述器文件,为了说明方便,我们还将写一个MIDlet程序并利用上面介绍的那个MIDlet程序,并创建JAR文件和JAD文件来封装这些程序。我们还要看着如何使用 Java程序包改变我们的开发过程。最后你将学习如何从一个Web服务器上访问 MIDlet。 MIDlet套件虽然把MIDlet封装进 Java档案文件(JAR)并不一定必要,但这是发布 J2ME/MIDP应用程序最常见的方法。MIDlet套件是一个MIDlet中所有的文件以及作为 MIDlet一部分的必需的资源的集合。MIDlet套件由以下几部分组成:1、附在JAR文件中的 Java类文件, 2、描述 JAR文件内容的清单文件 3、附在 JAR文件中的资源(如图象)和Java应用程序描述符文件(JAD) 4、应用程序管理器应用程序管理器是一个移动设备上的软件程序,这个应用程序与具体的设备有关,并且由设备的生产商实现。它负责安装、运行以及从设备上删除 MIDlet,而提供错误处理支持。这个应用程序管理器同时还提供一个可选界面,允许用户启动、终止以及删除 MIDlet。 Java档案文件一个商品化的、封装过应用程序通常由许多文件构成。除了 Java类以外,其他文件诸如图像和应用程序数据即通常所说的资源,也可能是这个程序包的一部分。你把所有这些信息捆绑进一个整体,就称为 JAR文件。除了类和资源文件,一个 JAR文件还包括描述 JAR内容的清单文件。清单文件名为 manifest.mf,储存在 JAR文件本身中,下面这张表中列出定义在这个清单文件中的所有可用的属性。 | 表 1 | 属性 | 用途 | | MIDlet-Name | MIDlet程序包的名称。例如“Game Pack” | | MIDlet-Version | MIDlet的版本号 | | MIDlet-Vendor | MIDlet的创建者或提供商 | | MIDlet-Icon | 应用程序管理器把这个图标与 MIDlet-Name相关联,这是一个图形文件,以 PNG图象格式储存。 | | MIDlet-Description | 描述 MIDlet的文本 | | MIDlet-Info-URL | 可能提供更多MIDlet和/或供应商信息的 URL | | MIDlet- | 这个属性包括三段信息: ??MIDlet名称 ??用于这个 MIDlet的图标(可选) ??应用程序管理器将调用来加载这个 MIDlet的类名 在我们的“ Game Pack”例子中,有两个条目: MIDlet-1: KOF, /images/kof.png, kof.kofMIDlet MIDlet-2: Golf, /images/golf.png, golfMIDlet | | MIDlet-Jar-URL | JAR文件的 URL | | MIDlet-Jar-Size | JAR文件的大小 | | MIDlet-Data-Size | 持久数据存储必需的最小字节数 | | MicroEdition-Profile | MIDlet需要哪一种 J2ME简表 | | MicroEdition-Configuration | MIDlet需要哪一种 J2ME配置 |
这些属性并不是全部都需要,可是,没有下面列出的这六个,应用程序管理器就会拒绝加载这个 JAR。 MIDlet-Name MIDlet-Version MIDlet-Vendor MIDlet- MicroEdition-Profile MicroEdition-Configuration 这里有一个简单的清单文件的例子: MIDlet-Name: KOF2001 MIDlet-Version: 1.0 MIDlet-Vendor: NeoRage Corporation Inc. MIDlet-1: kof, /images/kof.png, kof.kofMIDlet MicroEdition-Profile: MIDP-1.0 MicroEdition-Configuration: CLDC-1.0
<<上一页
1
2
3
4
下一页>>
|