J2ME与MIDP开发(4)
[@more@]第二个MIDlet使用List组件显示消息(MIDlet2.java):import javax.microedition.midlet.*; import javax.microedition.lcdui.*; public class MIDlet2 extends MIDlet implements CommandListener { private Display display; file://引用Display对象 private List lstMain; private Command cmdExit; // 退出 MIDlet的命令 // 构造程序 public MIDlet2() { display = Display.getDisplay(this); cmdExit = new Command("Exit", Command.SCREEN, 1); lstMain = new List("MIDlet 2", Choice.IMPLICIT); lstMain.append("Welcome Back", null); lstMain.addCommand(cmdExit); lstMain.setCommandListener(this); } file://启动MIDlet时由应用程序管理器调用 public void startApp() { display.setCurrent(lstMain); } file://一个必要的方法 public void pauseApp() { } file://一个必要的方法 public void destroyApp(boolean unconditional) { } file://检查一下是否选择Exit命令 public void commandAction(Command c, Displayable s) { if (c == cmdExit) { destroyApp(false); notifyDestroyed(); } } } |
javac -bootclasspath c:mefcs*.java preverify -classpath c:mefcs;. -d . MIDlet1 MIDlet2 jar cvfm MIDlets.jar manifest.txt MIDlet1.class MIDlet2.class spin.png |
创建 JAR文件创建一个新文件,取名为 manifest.txt,然后输入如下内容:
MIDlet-Name: MIDlet Examples MIDlet-Version: 1.0 MIDlet-Vendor: My Corporation Inc. MIDlet-1: MIDlet1, /spin.png, MIDlet1 MIDlet-2: MIDlet2, /spin.png, MIDlet2 MicroEdition-Profile: MIDP-1.0 MicroEdition-Configuration: CLDC-1.0 |
运行下列命令创建一个 JAR文件:
jar cvfm MIDlets.jar manifest.txt MIDlet1.class MIDlet2.class spin.png |
这将创建一个名为 MIDlets.jar的 JAR文件,包括 manifest.txt文件和上面两个类文件。 注意: JAR中的清单文件名应是 manifest.mf。 创建 JAD文件创建一个新文件,取名 MIDlets.jad:
MIDlet-Name: MIDlet Examples MIDlet-Version: 1.0 MIDlet-Vendor: My Corporation Inc. MIDlet-Description: Two simple examples to show how to compile and run a MIDlet MIDlet-Jar-URL: http://localhost/MIDlets.jar MIDlet-Jar-Size: 2604 MIDlet-1: MIDlet1, /spin.png, MIDlet1 MIDlet-2: MIDlet2, /spin.png, MIDlet2 |
注意这两个 MIDlet的引用:
MIDlet-1: MIDlet1, /spin.png, MIDlet1 MIDlet-2: MIDlet2, /spin.png, MIDlet2 |
上面每一行都包括在设备上显示的 MIDlet名 ( MIDlet1和 MIDlet2 );在每个MIDlet名旁边,应用程序管理器都会显示一个图象文件;以及启动 MIDlet的类文件。 运行 MIDlet你既可以从一个局域网文件系统也可以从一个 Web服务器中运行MIDlet,现在我将分别介绍一下。从文件系统运行键入下列命令来预览MIDlet:
midp -transient file://MIDlets.jad |
-transient选项告诉模拟器,你想运行一个指定 url中可找到的描述文件。在本例中,file://MIDlets.jad,这当前目录查找 MIDlets.jad。如果有必要的话,你还可以给出一个 JAD文件的完整的路径。比如说,我的 JAD文件的完整路径是
file://J2ME/MIDlets/welcome.jad |
下面的图片显示了应用程序管理器的主画面和 MIDlet1、 MIDlet2的输出。
498)this.style.width=498;" />
从 Web服务器上运行你还可以从一个 Web服务器上运行 MIDlet,在上载 JAR和 JAD文件之后,通过改变 url访问 JAD文件:midp -transient http://localhost/MIDlets.jad |
这将访问运行在我的电脑上的Web服务器上的 MIDlets.jad文件,如果你把文件上传到互联网上的 Web服务器,只需简直改变适当域名:
midp -transient http://www.yourwebserver.com/path/MIDlets.jad |
使用 Java程序包的项目管理按照下列步骤创建最后一个MIDlet:1. 创建用于新项目的目录,我使用的名称为 MIDletPackage,是c:me的子目录。
2. 在新建目录内,创建三个新的子目录: jclasses、 pclasses、 resources有了这些附加的目录,能够很容易找到特定的文件。例如,所有的图象文件和其他资源都放入 /resources子目录;所有的由 Java编译程序创建的类文件都置于 /jclasses子目录;经过预验证的类置于/pclasses子目录中。下面是我的系统中的目录结构:
c:j2me | MIDletPackage => Java 源代码和manifest.txt文件 | jclasses => 从Java编译器编译的类 pclasses =>经过预验证的类 resources =>资源文件 (图像文件等) |
3. 更新文件:复制 Java源文件( MIDLet1.java和 MIDlet2.java)到 MIDletPackage目录,并在每个文件头部添加 package语句,如下:而且,如果你已经使用一个图象文件的话,把这个文件复制进 resources目录中。
MIDlet1.java: package simpleMIDlets; import javax.microedition.midlet.*; import javax.microedition.lcdui.*; public class MIDlet1 extends MIDlet implements CommandListener { ... } MIDlet2.java: package simpleMIDlets; import javax.microedition.midlet.*; import javax.microedition.lcdui.*; public class MIDlet2 extends MIDlet implements CommandListener { ... } |
4、参考图象文件和类文件的新的位置更新 manifest.txt和 JAD文件。
manifest.txt: MIDlet-Name: MIDlet Examples MIDlet-Version: 1.0 MIDlet-Vendor: My Corporation Inc. MIDlet-1: MIDlet1, /resources/spin.png, simpleMIDlets.MIDlet1 MIDlet-2: MIDlet2, /resources/spin.png, simpleMIDlets.MIDlet2 MicroEdition-Configuration: CLDC-1.0 MicroEdition-Profile: MIDP-1.0 MIDlets.jad: MIDlet-Name: MIDlet Examples MIDlet-Version: 1.0 MIDlet-Vendor: My Corporation Inc. MIDlet-Description: Packaging multiple MIDlets MIDlet-Jar-URL: http://localhost/MIDlets.jar MIDlet-Jar-Size: 2884 MIDlet-1: MIDlet1, /resources/spin.png, simpleMIDlets.MIDlet1 MIDlet-2: MIDlet2, /resources/spin.png, simpleMIDlets.MIDlet2 |
注意MIDlet-1和MIDlet-2的更改,被引用的类文件使用 simpleMIDlets.MIDlet1和 simpleMIDlets.MIDlet2包名。5、编译:编译源程序:
javac -bootclasspath c:mefcs-d jclasses *.java |
-d选项告诉编译程序,把类文件写入 jclasses目录。
6、预验证:
preverify -classpath c:mefcs; -d pclasses jclasses |
-d选项告诉预验证器把经过预验证的类保存在 pclasses目录下。最后的 jclasses告诉预验证器到什么地方寻找那些要预验证的类。7、创建 JAR:运行 jar程序:
jar cvfm MIDlets.jar manifest.txt -C pclasses . resources |
创建一个名为 MIDlets.jar的文件,使用文件 manifest.txt作为清单文件的内容 (一个名为 manifest.mf的文件将被保存在 JAR中)。 运行MIDlet,有两种情况: (1)从文件系统中运行MIDlet:
midp -transient file://MIDlets.jad |
(2)从web服务器上运行MIDlet:把JAR文件和JAD文件上传到web服务器,输入下面的命令来浏览MIDlet:
midp -transient http://localhost/MIDlets.jad |
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7839366/viewspace-920492/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/7839366/viewspace-920492/