| 移动开发谁领风骚 J2ME开发工具面面观 |
|
| J2ME/Kjava | ||
| 作者是 Administrator | ||
| 2007-12-02 02:51:02 | ||
|
下面的命令用来编译src目录下的所有源文件并且把他们输出到预先创建好的目录tmpclasses。注意我们已经指定了MIDP API的类路径,确保编译器使用CLDC和MIDP的类库进行编译,否则会使用J2SE SDK的类来编译。 C:\WTK22\apps\cmdProject>javac –d tmpclasses -bootclasspath %MIDPAPI% -classpath %MIDPCP% src/*.java 执行上面的操作后可以在tmpclasses目录下看到HelloWorld.clas文件,现在应该对class文件进行预校验。 C:\WTK22\apps\cmdProject>preverify –classpath %MIDPAPI%;%MIDPCP%;tmplasses -d classes tmpclasses 经过预校验的class文件已经存放在了classes目录,下面可以使用jar命令把这些文件打包。在此之前使用记事本编写一个MANIFEST.MF文件存放在cmdProject/classes目录中,MANIFEST.MF是jar包内的描述文件。内容如下: Manifest-Version: 1.0 MIDlet-1: HelloWorld,,HelloWorld MIDlet-Jar-URL: HelloWorld.jar MIDlet-Name: HelloWorld MIDlet-Vendor: J2MEdev,RT Inc. MicroEdition-Configuration: CLDC-1.0 MicroEdition-Profile: MIDP-2.0 使用jar命令进行打包操作: C:\WTK22\apps\cmdProject\classes>jar cvfm HelloWorld.jar MANIFEST.MF *.class 这样将在classes目录下生成HelloWorld.jar文件,文件大小为1277字节(在不同电脑上可能不同)。使用记事本编写一个HelloWorld.JAD文件,注意一定要在JAD文件中添加MIDlet-Jar-Size属性,通过察看HelloWorld.jar的文件大小可以得到。HelloWorld.JAD文件内容如下: MIDlet-1: HelloWorld,,HelloWorld MIDlet-Jar-URL: HelloWorld.jar MIDlet-Jar-Size: 1277 MIDlet-Name: HelloWorld MIDlet-Vendor: J2MEdev,RT Inc. MIDlet-Version: 1.0 MicroEdition-Configuration: CLDC-1.0 MicroEdition-Profile: MIDP-2.0 最后使用emulator命令来运行HelloWorld应用程序,运行界面如图1-2所示: C:\WTK22\apps\cmdProject\classes>c:/wtk22/bin/emulator -Xdescriptor HelloWorld.JAD ![]() 图1-2 使用命令行方式让我们更容易理解MIDP应用程序的开发流程。总结如下: 1. 编写Java源文件 2. 编译java源文件为class文件 3. 对class文件进行预校验,这一点与J2SE环境有区别。由于移动设备的内存和处理器能力有限,如果像J2SE那样在虚拟机内进行校验处理那么会给设备带来很大的负担。因此预校验选择在开发平台中完成。目标设备上的虚拟机只进行少量的校验工作。 4. 编写MANIFEST.MF文件,打包项目文件包括class文件和资源文件,例如文本和图片。 5. 编写JAD文件 WTK 2.2还提供了很多有用的辅助工具用于开发J2ME应用程序,例如网络监视器可以方便的监视客户端与服务器端的通信;内存监视器可以监视程序运行过程中内存的消耗情况,可以以此为根据对程序进行适当的优化;短消息控制台和蓝牙控制中心可以在开发基于WMA和蓝牙的应用程序时协助调试。 尽管WTK2.2已经提供了如此多的功能,还是很难掩饰其不能编辑代码,对项目管理不够强大的不足。下面介绍几款非常出色的集成开发环境。 Netbeans IDE和Mobility Pack ![]() Netbeans是一个开源项目,致力于为开发者提供稳定、出色的开发工具。Netbeans IDE和Netbeans平台是netbeans.org的两个著名产品。目前Netbeans IDE的下载次数已经超过了500万次,可见这一集成开发环境受欢迎的程度。现在最为稳定的版本是Netbeans IDE 4.1,虽然官方已经发布了功能更为强大的Netbeans IDE 5.0 beta2版,这里还是推荐开发者使用Netbeans IDE 4.1,同时期待Netbeans IDE 5.0正式版的发布。 Mobility Pack用于开发、测试和调试MIDP应用程序。Mobility Pack 4.1可以和Netbeans IDE 4.1无缝集成,支持CLDC 1.1和MIDP 2.0开发环境。Mobility Pack还可以很容易地与第三方模拟器集成为开发者提供所需的运行环境。 首先从http://www.netbeans.org下载 Netbeans IDE 4.1和Mobility Pack 4.1,可以根据爱 好选择英文版或者中文版本。和其他的Windows软件的安装方式一样,依次安装Netbeans IDE 4.1和Mobility Pack 4.1。这样我们就已经搭建好了J2ME的开发环境,比下一节将要介绍的eclipse要容易一些。 Netbeans IDE把项目按照类别分为:常规、Web、企业和移动。开发MIDP应用程序的时候,应该选择移动分类。在此分类中可以新建Mobile Application、Mobile Library,还可以直接导入WTK自带的Demo项目。 Netbeans IDE和Mobility Pack提供的项目管理功能非常出色,将目标平台、应用程序描述符、编译运行、混淆、签名等功能集成在了一起。开发者只需要选中项目,右键选择属性即可配置上述选项。值得注意的一点是,当项目中使用了图片或者媒体文件等资源的时候,应该在“库和资源”选项中讲资源文件所在的文件夹添加到“捆绑的库和资源”中。避免在java程序中访问资源的时候抛出空指针异常。Mobility Pack 4.1还直接集成了Proguard混淆器,可以设置混淆的级别,混淆的级别越高,混淆的力度就越大。 Mobility Pack 4.1提供了可视化用户界面设计器,开发者可以使用鼠标通过拖拽的方式设计应用程序的用户界面,通过流程控制器实现界面之间的跳转,而不用编写任何代码。无线连接向导是Mobility Pack 4.1另一新特性,可以方便快速的开发出端到端的企业级应用程序,服务器端只提供需要导出的服务类,Netbeans IDE会自动生成服务器端的servlet以及客户端用于连接网络的代码。虽然上述两个功能使用起来非常方便,但是缺乏灵活性,你很难再更改开发工具为你自动生成的代码。开发者使用的时候应该谨慎选择。同时希望Mobility Pack 5.0进一步完善和增强上述两个令开发者心动的特性。 Eclipse和eclipseME Eclipse是IBM开发的开源工具,恐怕已经成为了Java开发者最为欣赏的开发工具。围绕Eclipse的插件更是层出不穷。eclipseME就是一个非常出色的用于开发MIDP应用程序的第三方插件。上述软件可以分别从http://www.eclipse.org和http://www.eclipseme.org下载,推荐使用Eclipse 3.1和eclipseME 1.2.1版本。直接解压缩eclipse 的压缩文件到D:\eclipse即可完成安装,接下来需要安装eclipseME插件。运行eclipse,选择“help”——“Software Updates”——“Find and Install”——“search for new features to install”,然后选择“new Archived Site”,找到eclipseME1.2.1发布包的目录。按照系统提示最后完成eclipseME插件的安装。 成功安装了elcipseME插件后,还需要在“Preferences”——“J2ME”——“Platform Components”中添加Wireless Toolkit,按照系统提示将前面安装的WTk 2.2加入,这样就彻底搭建了eclipse开发J2ME程序的环境。可见使用eclipse搭建J2ME的开发环境比Netbeans IDE稍显复杂。事实上,管理eclipse的各种插件已经让很多开发者头疼不已,有些插件的更新还很难保证。这也是为什么笔者放弃了长期使用的eclipse,选择了Netbeans IDE 4.1。 JBuilder JBuilder是开发MIDP应用程序的另一选择,与前面介绍的工具不同的是,JBuilder并非免费软件,开发者需要购买才可以使用正式版本。从JBuilder 9版本开始,Borland将WTK直接集成到了开发工具内。如果使用以前版本的JBuilder,那么需要首先安装MoblieSet插件。其实,各种开发工具只是以自己的方式对MIDP应用程序的开发进行了封装,原理还是前面介绍的MIDP应用程序的开发流程。因此这里不对如何使用JBuilder开发J2ME程序做过多介绍,读者可以参考开发工具的帮助文档。 开发工具集成第三方SDK 设备制造商的SDK各式各样,很难全面讲解如何将它们集成到一种或者多种开发工具中,本节的目标在于介绍一种整合的思路。对于不符合统一模拟器接口(UEI)的SDK,例如Motorola的J2ME SDK,开发者应该参考厂商发布的文档,按照说明将其整合到适当的开发工具中;对于符合UEI接口的第三方SDK,例如Nokia和SonyEricsson提供的J2ME SDK,我们只需要把第三方SDK的根目录作为目标平台添加到开发工具的SDK(或者称为Java平台)中。这样在新建MIDP项目的时候,就可以方便的选择这些SDK和提供的模拟器了,如果需要它们自带的类库,也可以把相关的jar文件添加到项目中。 以Netbeans IDE 4.1整合Nokia Developer Suite 3.0为例,假设NDS 3.0安装在C:\Nokia目录。运行Netbeans IDE 4.1,选择工具——Java平台管理器——添加平台,选择平台文件夹为C:\Nokia\Devices\Nokia_Prototype_SDK_2_0。然后按照系统提示进行操作,NDS 3.0就可以正常集成到Netbeans IDE开发环境中了。 总结 开发工具固然重要,它可以提高软件开发效率,缩短周期。甚至可以方便的进行单元测试和团队协作。但是,掌握MIDP应用程序模型,熟悉开发流程比单纯地掌握开发工具更加重要。因此本文的重点放在了介绍如何使用命令行开发MIDP应用程序,为后面介绍开发工具奠定了基础。J2ME技术发展非常迅速,新技术层出不穷。赶快选择一款适合你的开发工具,赶上这趟飞速行进的列车吧。 |
||
| 最近更新 ( 2007-12-02 02:51:02 ) | ||




