当前位置: 首页 > news >正文

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

作者: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选项。运行程序将看到这样的画面。


相关文章:

  • 深入学习之重写call方法
  • 深入学习之this 方法1
  • 基于Nokia S40的猜数字游戏之一
  • 深入学习之继承图总结
  • 基于Nokia S40的猜数字游戏之二
  • 深入学习之 this 方法2
  • 应用Nokia UI API处理声音问题
  • 深入学习之css重点
  • Nokia UI学习范例FishTank研究
  • react 向事件处理程序传递参数
  • react 有状态组件 切换登陆和未登录状态以及UI展示
  • 整合SE J2ME SDK与eclipse开发环境
  • MP3在Sony Ericsson K700上的音响效果
  • K700之图像内存处理
  • react 隐藏组件 阻止渲染
  • 【刷算法】求1+2+3+...+n
  • Android 控件背景颜色处理
  • docker-consul
  • ES6 ...操作符
  • iOS筛选菜单、分段选择器、导航栏、悬浮窗、转场动画、启动视频等源码
  • java小心机(3)| 浅析finalize()
  • Java新版本的开发已正式进入轨道,版本号18.3
  • js写一个简单的选项卡
  • mockjs让前端开发独立于后端
  • pdf文件如何在线转换为jpg图片
  • rabbitmq延迟消息示例
  • Terraform入门 - 1. 安装Terraform
  • vue:响应原理
  • 大数据与云计算学习:数据分析(二)
  • 基于Android乐音识别(2)
  • 跨域
  • 漫谈开发设计中的一些“原则”及“设计哲学”
  • 2017年360最后一道编程题
  • 数据库巡检项
  • ​Spring Boot 分片上传文件
  • ​如何在iOS手机上查看应用日志
  • #git 撤消对文件的更改
  • #微信小程序(布局、渲染层基础知识)
  • $L^p$ 调和函数恒为零
  • (1)(1.19) TeraRanger One/EVO测距仪
  • (11)MSP430F5529 定时器B
  • (附源码)node.js知识分享网站 毕业设计 202038
  • (附源码)ssm基于web技术的医务志愿者管理系统 毕业设计 100910
  • (南京观海微电子)——COF介绍
  • (牛客腾讯思维编程题)编码编码分组打印下标题目分析
  • (十六)Flask之蓝图
  • (学习日记)2024.01.09
  • (转)jQuery 基础
  • *_zh_CN.properties 国际化资源文件 struts 防乱码等
  • ./configure,make,make install的作用
  • .Net CoreRabbitMQ消息存储可靠机制
  • .Net Memory Profiler的使用举例
  • .net mvc 获取url中controller和action
  • .Net 代码性能 - (1)
  • .net 调用php,php 调用.net com组件 --