本文讲述如何搭建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);