Board logo

标题: Java嵌入式开发Palm OS程序之三 03 [打印本页]

作者: samwalton    时间: 2014-3-25 20:21     标题: Java嵌入式开发Palm OS程序之三 03

分析HelloWorld应用程序

  上面的这个HelloWorld应用程序具有运行 Palm OS的设备上的 CLDC应用程序的基本特征。当你仔细考察一下这段代码,你会发现许多使用 kjava类库编译应用程序的特性。首先,这个程序扩展了 com.sun.kjava.spotlet类,使用 kjava,一个 spotlet就是任何可以得到焦点(focus)的类,那就是说,从系统中接收事件,比如手写笔的点触。在我们的例子中, 当手写笔点击About和Quit按钮时,HelloWorld应用程序需要响应,因此它需要获得焦点。你的应用程序可以包括任意多的从 spotlet中衍生的类,虽然在任何时间它们中间只有一个能够取得焦点。实际上,应用程序通过调用 register方法使用焦点,我们在 HelloWorld构造程序开始的部分和 dialogDismissed方法中都用了 register。

HelloWorld类实现了 DialogOwner接口。实现 DailogOwner接口的类是用于创建对话框的类。我们的应用程序创建了一个对话框来响应手写笔点击 About按钮的事件,为了实现DialogOwner接口,你的类必须包含一个dialogDismissed成员方法,为了实现 DialogOwner接口,你的类必须包含一个 dialogDismissed成员方法,这个方法在一个对话框被关闭的时间被调用。

  HelloWorld构造程序在屏幕上创建三个界面元素:一个文本框和两个按钮。你马上就会发现 kjava和 J2SE AWT的一个重要的差别: kjava没有与 AWT自动布局机制等价的东西。你必须自己编码确定每个界面元素在屏幕上的位置。在我们的程序中,我们把文本框放在(10,10)和(140,130)之间;两个按钮放置在( 75,140)和(125,140)。

  每当用户在装置上轻点手写笔时,都要调用HelloWorld的 penDown方法。我们通过调用每个按钮的 pressed方法确定这次点击是否发生在按钮的边界以内,如果按钮的pressed方法返回一个真值,意味着手写笔点击事件发生在按钮边界之内,这个按钮相对应的动作将发生。比如说如果点击了 About按钮,我们通过创建一个新的 Dialog对象创建 About对话框。要是点击了 Quit按钮,我们就终止这个程序。

  最后, 当用户关闭对话框时,要调用 HelloWorld的 dialogDismissed方法。在我们的应用程序中,这个方法做的事情就是通过调用 register方法恢复焦点并调用 paint方法来刷新屏幕。

  编译

  编译一个 CLDC应用程序需要两步操作:首先你必须通过标准的 J2SE编译程序运行它们,不过使用 CLDC类库代替标准的 J2SE类库。然后,使用preverify程序把得到的.class文件转化成 KVM可读的 Java应用程序。

  上面的示例程序如下面这样编译:

javac -g:none -classpath %cldc_classpath% -d %temp% HelloWorld.java

preverify -classpath %cldc_classpath% -s %temp% -d .


  一旦编译好后,就可以使用下面的命令来在你的台式机上运行这个程序:

 
kvm -classpath %cldc_classpath% HelloWorld


  既然这个CLDC应用程序在计算机上可以运行,那么你也可以试着把它转换成Palm可执行文件。

  在Palm上运行

  为了把一个使用CLDC开发的.class文件转换成在Palm OS设备上可实际运行的文件,你需要使用j2me_cldc-1_0-src-palm_overlay.zip中的许多程序。首先,你必须把你的 .class文件转换成 Palm OS应用程序,所有的 Palm OS应用程序都有扩展名 .prc。通过使用 palm.database.MakePalmApp类把 .class文件转化成 .prc文件,使用下面这个命令行运行我们刚才写好的 HelloWorld.class文件:

java palm.database.MakePalmApp -bootclasspath %cldc_classpath% HelloWorld


  现在,在存放 HelloWorld.class的相同目录就有了 HelloWorld.prc文件。这个文件就是 Palm应用程序。你现在可以使用 Palm OS设备带的安装程序安装这个文件。除了把你的应用程序的.prc文件安装到 Palm OS设备上以外,你还要安装 kvm.prc,kvm.prc是 K虚拟机的一个实现,用于 Palm OS设备。




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