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

来源:互联网 发布:近几年的动漫神作 知乎 编辑:程序博客网 时间:2024/05/23 00:41

作者:mingjava  文章来源:http://www.j2medev.com/Article/ShowArticle.asp?ArticleID=80

本文讲述如何搭建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.LEFT|Graphics.TOP,DirectGraphics.ROTATE_180);
       

    }

}
代码编写完成后,配置RUN选项的时候我们在Devices的选项中选择Nokia_7210_midp_sdk_v10选项。运行程序将看到这样的画面。


原创粉丝点击