开发NokiaS40系列应用程序初级篇

王朝other·作者佚名  2006-01-10
窄屏简体版  字體: |||超大  

本文讲述如何搭建Nokia S40系列手机应用程序的开发环境,并对Nokia UI包进行简单的介绍。最后提供一个简单的应用程序。

我们把Nokia 7210 MIDP SDK集成到eclipse环境下,这样方便我们进行开发。首先我们搭建起Eclipse的开发环境,可以参考搭建J2ME开发环境,我使用的是J2SDK1.4.2_03+wtk21+eclipse3.0+eclipseME0.4.5,首先你应该从forum.nokia.com.cn下载Nokia_7210_MIDP_SDK_v1.0,然后把它解开放到WTK_HOME/wtklib/devices下面,例如放置好的路径类似这样:

C:\WTK21\wtklib\devices\Nokia_7210_MIDP_SDK_v1_0。在这个目录里面有nokia提供的说明文档,在使用Nokia UI API的时候您应该仔细读读相关的说明文档和API DOC。

实际上现在我们已经可以开始开发基于Nokia 7210的应用程序了,eclipseME提供了添加定制平台的功能,你可以添加基于Nokia 7210的PRofile然后添加基于Nokia 7210的平台。读者可以参考一下eclipse帮助文档的eclipseME部分,我的做法是在新建J2ME Project的时候依然选择基于MIDP1.0平台,在Libraries的选项里面Add External JARs到项目里面来,添加的jar包含了nokia ui包。如下图所示:

新建项目以后我们就可以使用nokia提供的api了,但是我们要注重假如我们使用了这些api后我们就不能保证程序的可移植性了,这样的程序多半不能在其他的手机上运行。Nokia提供给我们api总共有两个package,一共六个类。由于MIDP1.0不支持声音的处理,这里面提供了Sound类。另外他还提供了非常有用的FullCanvas类和DirectGraphics,借助它们我们可以完成对图像的旋转等操作。关于如何使用这些API开发应用程序,请读者参考API DOC。

下面我们编写一个简单的应用程序,代码如下:

package com.j2medev.mingjava;

import javax.microedition.lcdui.Display;

import javax.microedition.midlet.MIDlet;

import javax.microedition.midlet.MIDletStateChangeException;

public class NokiaTest extends MIDlet

{

Display display;

NokiaCanvas nc;

protected void startApp() throws MIDletStateChangeException

{

display = Display.getDisplay(this);

nc = new NokiaCanvas();

display.setCurrent(nc);

}

protected void pauseApp()

{

}

protected void destroyApp(boolean arg0) throws MIDletStateChangeException

{

}

}

package com.j2medev.mingjava;

import java.io.IOException;

import javax.microedition.lcdui.Graphics;

import javax.microedition.lcdui.Image;

import com.nokia.mid.ui.DirectGraphics;

import com.nokia.mid.ui.DirectUtils;

import com.nokia.mid.ui.FullCanvas;

public class NokiaCanvas extends FullCanvas

{

protected void paint(Graphics arg0)

{

DirectGraphics dg = DirectUtils.getDirectGraphics(arg0);

Image welcome = null;

try

{

welcome = Image.createImage("/welcome.png");

}

catch(IOException e)

{

e.printStackTrace();

}

dg.drawImage(welcome,10,10,Graphics.LEFTGraphics.TOP,DirectGraphics.ROTATE_180);

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航