Sun Java Wireless Toolkit 开发手机程序入门指南(2)

Sun Java Wireless Toolkit 开发手机程序入门指南(2)

 

   此文档主要用来讲解使用sun java WTK工具来开发基本的j2me手机程序。主要包含开发环境的搭建、MIDLet小程序开发流程、WTK环境设置、程序监控等等。

 

一.             MIDLet小程序开发入门

在开始实践之前,我们先大致了解一下WTK目录结构、MIDP程序的运行过程和开发的基本概念。

 

1Wtk目录简介

当我们安装好WTK之后,我们会在安装目录下看到如下的文件:

   appdb

   apps              //开发的小程序存放目录

   bin               //wtk应用程序

   docs              //文档目录,非常有用

          lib                //j2me

   session

   wtklib             //wtk

在这里,我们会主要用到三个目录。首先是apps,在此目录下存放了优秀的样例程序,同时,你新建立的项目也默认存放入此目录,如果放到其他地方,wtk会找不到。也就是说,apps目录是我们的工作目录,这也是我们在安装时提醒大家不要将wtk安装入c盘的主要原因。另外一个目录为docs,它存放了wtkapi参考等各种文档,所有这些文档你可以通过根目录下的 index.htm进入。第三就是bin目录,我们一直在默默的使用它,为了了解wtk的运行,你需要对他们有所掌握。

 

2Midp程序的运行简介

大家先看一下这张图,通过这张图我们可以清楚地看到midp小程序的执行过程。在此执行过程中,预先审核被放到了编译的过程中,这是与普通java程序最大的不同。普通程序只需要javac 命令进行编译,其他的工作可以交给执行环境。由于移动设备的运算能力和资源有限,所以预先审核被放到了编译过程。准确地说,在wtk环境,运行build会完成编译,预审核过程。

3Midp程序入口。

按照我的习惯,在学习程序和自己实践编程之前,要对程序的入口非常明确,这样很便于分析程序。在c语言,程序由main入口,delphiprogram单元入口,java程序由主类的main方法入口。那么,midp程序入口如何哪?

Midp程序由MIDLet类接口进入程序,如下面的编码:

public class MyMIDlet extends MIDlet {。。。}

那么,移动设备又是如何知道该运行那个类哪,它并不知道那个类继承自MIDLet并实现相关接口函数。其实在我们的程序中有一个描述挡文件*.jad,它描述了你的midp程序的执行标准,主类等信息。当我们通过wtk工具的“seting”设置时,其实就是在设置描述文档。移动设备通过描述档,然后转入MIDLet类执行。

 

  MIDLet继承类中,我们主要完成三个函数以对应以移动设备的三个阶段。

  public class MyMIDlet extends MIDlet

{

public void startApp     //程序开始执行

{….}

public void pauseApp    //来电等情况下程序中断

{…..}

public void destroyApp   //程序结束

{…..}

 

}

知道了以上概念,下面开始我们最简单的开发

 

4.简单的开发循环

首先,我们来建立新项目。在开始菜单,运行“Wireless Toolkit 2.5”。程序运行如下:

点击“New project”出现新项目对话框,在Project name中输入项目名称如“MyTest”,它将会在apps目录下建立/MyTest目录以存放所有的文件。然后再MIDLet Class Name中输入主类的名称,它就是你程序的入口。当你建立好项目接着会出现“setting”对话框,在这里选择默认就可以,以后我们会讲到它的设置。这样我们就建立了一个项目。明确地说,wtk帮我们建立了文档的目录体系和描述档文件。所有的源文件我们必须自己来开发。开发过程:编辑源文件---〉编译文件----〉运行模拟器运行文件。

 

下面,我们编辑源文件,并把此源文件放入/apps/MyTest/src目录下。我们依旧以最简单的HelloWorld为入口吧。源代码如下:

import javax.microedition.lcdui.*;    //display 类库
    
    
import javax.microedition.midlet.MIDlet; //midlet 类库
    
    
 
   
   
public class MyMIDlet               //此类名必须与你在建立文件时设置的一样
    
    
    extends MIDlet
   
   
    implements CommandListener {
   
   
  public void startApp() {
   
   
    Display display = Display.getDisplay(this);
   
   
    
   
   
    Form mainForm = new Form("MyMIDlet");
   
   
    mainForm.append("Welcome to the world of MIDlets!");
   
   
    
   
   
    Command exitCommand = new Command("Exit", Command.EXIT, 0);
   
   
    mainForm.addCommand(exitCommand);
   
   
    mainForm.setCommandListener(this);
   
   
    
   
   
    display.setCurrent(mainForm);
   
   
  }
   
   
  public void pauseApp () {}
   
   
  
   
   
  public void destroyApp(boolean unconditional) {}
   
   
  
   
   
  public void commandAction(Command c, Displayable s) {
   
   
    if (c.getCommandType() == Command.EXIT)
   
   
      notifyDestroyed();
   
   
  }
   
   
}
   
   

 

源文件保存好后,运行wtk的“build”命令按钮,程序开始编译审核。编译好后的文件放入/apps/MyTest/class目录。如果出错,wtk会显示出错的位置。

 

接下来,我们就可以运行“run”命令按钮,模拟器会自动运行并载入我们编译好的程序。在编译器上选择“launch,你的程序就会在模拟器上运行了。如图:

 

5.完整的开发流程。

上面我们进行了最简单的开发。那么如何在真实的移动设备上运行哪?完整的开发流程如下:编辑源代码----〉打包----〉安装----〉运行。

编辑源代码:与简单流程一样。

打包:将运行文件打包为jar文件。选择Project > Package > Create Package命令,wtk将进行编译、与审核、打包。并将打包好的文件放入/apps/bin目录下,如果大家仔细观察,会发现此目录下放了描述档文件和jar文件。

安装:此过程会模拟载真实移动设备上的下在运行。选择Project > Run via OTA,模拟器将会运行,并出现“Install Application”选项,选中它,然后依据指示操作,你的小程序将会安装到模拟器。

运行:安装完成后,模拟器会出现你的程序的选项,选择运行就可以了。

 

Ok,终于告一段落了!!  未完待续….

 

 

 

 
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值