岁月联盟 · 中国技术网 本站主页 | 安全认证 | 用户服务 | 技术论坛
新闻快报 | 新手学堂 | 黑客特区 | 程序语言 | 数 据 库 | 防 火 墙 | 路由交换 | 系统集成 | 服 务 器 | 存储备份 | 考试认证
Windows | Linux | Java | 协议分析 | 问题解答 | 进程大全 | 网页设计 | 多 媒 体 | 图库资料 | 软件下载 | 站内下载
  您现在的位置: 岁月联盟 >> Java >> J2ME >> 无线开发 >> Java正文
移动开发谁领风骚 J2ME开发工具面面观
作者:未知 文章来源:本站整理 点击数: 更新时间:2007-7-22 22:54:54
  概述

  目前,移动开发已经成为开发者社区最为引人注目的新技术。移动互联网蕴藏的巨大商机以及嵌入式开发的神秘色彩使得越来越多的程序员开始学习和研究移动开发技术。J2ME、Symbian、Windows Mobile、BREW是目前主流的技术平台,其中J2ME凭借其开放的特性占据了绝对的市场,成为了移动开发领域的标准。相比其他平台,J2ME的参考资料也更丰富,更适合初次涉足此领域的开发者入门。

  所谓工欲善其事,必先利其器。本文主要讲述目前主流的用于开发J2ME应用程序的开发工具,包括SUN Wireless Toolkit 2.2、Netbeans IDE 4.1、Eclipse 3.1和JBuilder。通常,开发应用程序的时候都会针对具体的目标平台,比如Nokia Series60系列。如果可以把第三方的SDK集成到我们熟悉的开发工具中,必将方便调试和测试,缩短软件开发周期。文章最后讲解如何将第三方SDK集成到开发工具中。本文使用Windows XP操作系统并假设读者已经正确的安装了J2SDK 1.4.2或者更高版本。

  SUN Wireless Toolkit 2.2

  WTK是一系列工具的集合,包括Ktoolbar、模拟器和辅助工具,使用它们可以为移动电话或者其他嵌入式设备开发MIDP应用程序。从2.3 Beta版本之后,SUN将WTK的名称修改为SUN Java Wireless Toolkit,本文使用WTK 2.2正式版。首先从http://java.sun.com 下载软件,并安装到C:\WTK22目录。Ktoolbar是整个WTK 2.2的核心组件,选择“开始”——“所有程序”——“J2ME Wireless Toolkit 2.2”——Ktoolbar。Ktoolbar的界面如图1-1所示:



图1-1 Ktoolbar运行界面

  使用“打开项目”功能可以方便地运行WTK 2.2自带的Demo项目,读者可以访问C:\WTK 22\apps目录研究项目代码,对初学者来说,这是不错的学习途径。Ktoolbar也提供了“新建项目”的功能,可以新建MIDP应用程序。遗憾的是没有提供代码编辑的功能,因此很少开发者会直接使用WTK作为开发工具。本节我们不讲述如何使用WTK 2.2一步步开发MIDlet,而是介绍如何使用命令行方式开发MIDlet。之所以选择这种方式,是为了让读者清楚MIDP应用程序的开发流程,避免在下一节介绍集成开发环境的时候,只能知其然,不知其所以然。

  为了能够在命令行下完成编译、预校验和打包工作,首先把J2SDK和WTK安装目录下的bin目录加入到环境变量中。

C:> SET PATH=%PATH%;C:\WTK22\bin

C:> SET PATH=%PATH%;C:\j2sdk1.4.2_03\bin

  开发MIDP应用程序与Java应用程序存在一些差异,为了方便。我们首先设置一些环境变量,如下所示:

C:> SET WTK_HOME=C:\WTK22

C:> SET MIDPAPI=%WTK_HOME%\lib\midpapi20.jar

C:> SET MIDPCP=%WTK_HOME%\wtklib\kenv.zip;

%WTK_HOME%\wtklib\kvem.jar;%WTK_HOME%\wtklib\lime.jar;

%WTK_HOME%\lib\cldcapi10.jar

  在WTK_HOME\apps目录下面新建一个目录命名为cmdProject。cmdProject将作为我们的项目目录。在cmdProject中新建如下四个子目录:

  ·src——存放Java源文件

  ·tmpclasses——编译后的class文件

  ·classes——经过预校验的class文件

  ·bin——存放JAD和jar文件

  做好所有准备工作后,开始新建MIDlet。首先在src目录下创建HelloWorld.java文件。源文件内容如下所示:

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

public class HelloWorld extends MIDlet implements CommandListener {
 private Display display;
 public static final Command exitCommand = new Command("退出",Command.EXIT,1);

 public HelloWorld(){}

 public void startApp(){
  if(display == null){
   display = Display.getDisplay(this);
  }
  TextBox t = new TextBox("Netbeans", "出色的Java开发工具", 256, 0);
  t.addCommand(exitCommand);
  t.setCommandListener(this);
  display.setCurrent(t);
 }

 public void pauseApp(){}

 public void destroyApp(boolean unconditional){}

 public void commandAction(Command cmd,Displayable displayable){
  if(cmd == exitCommand){
   destroyApp(false);
   notifyDestroyed();
  }
 }
}
  下面的命令用来编译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: He

[1] [2] [3] 下一页


  • 上一个Java:
  • 下一个Java:
  •  
    热门文章
    推荐文章
    关于我们 | 发展历程 | 网站地图 | 广告服务 | 招贤纳士 | 战略合作 | 友情链接 | 著作声明 | 联系我们
    Copyright © 2002-2007 SYUE All rights reserved.
    E_mail:Admin@Syue.Com 皖ICP备05004589号
    未经授权禁止转载、摘编、复制或建立镜像.如有违反,追究法律责任.
    传世私服 传奇世界私服 天龙八部私服 bet365 传世私服 天龙八部私服 热血江湖私服 英雄合击传奇私服 热血江湖私服 bet365 bet365