J2ME与MIDP开发(4)

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();

}

 }

}
第一个程序名为 MIDlet1.java,第二个程序名为 MIDlet2.java。在你保存这些文件的目录里,运行下列命令编译并预验证这些文件。

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的输出。

1744314.gif498)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/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值