网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.J2SE中的序列化的认识.
.什么是J2ME及其基本慨念.
.制作Windows mobile下软件安装包.
.利用Myeclipse快速开发struts应用.
.javabean与ejb的区别.
.Resin with IIS.
.-----JAVA实现:文件选择器中运行.
.跨平台Java程序设计的十二条规则.
.Java语言深入 JAVA之精髓IO流.
.Borland新一代Java开发环境JBuil.
.用Java编程获得本机和服务器IP地.
.深入浅出基于Java的责任链模式.
.AOP中的主要技术(一).
.用JWSDP将Java和Web服务结合起来.
.浅谈JAVA VM 发展.
.java报表EXCEL解决方案.
.J2SE中的序列化详解(二).
.动态扩展Java应用.
.设计不受传统网络限制的 P2P 系统.
.《J2EE核心模式》(DAO模式).

使用Netbeans IDE 5.0解决Java ME开发中的设备分裂问题

发表日期:2008-1-5



  设备分裂问题给Java ME应用程序开发带来了不小的麻烦,在不同设备之间移植应用程序通常会碰到各种各样的问题。本文介绍如何使用Netbeans IDE 5.0提供的预处理代码功能解决设备分裂问题。
尽管Java ME平台的发展是有标准可依的,JCP组织通过JSR规范了Java ME平台的特性。但是,由于规范中包含众多的可选特性,这样各个厂商在实现过程中可能采取不同的方案。以MMAPI(JSR 135)的实现为例,Nokia 7610和SonyEriCsson K700都支持MMAPI,同时也都支持图像捕捉的功能,但是在支持的图片格式上以及图片的尺寸上却存在着差别。Nokia 7610支持PNG和JPEG格式,但是SonyEricsson K700只支持JPEG格式,且图片的尺寸必须为120*160。这样就造成了一套应用程序很难在不同机型之间移植的问题,假如为每个机型都维持一套代码又显得效率不高。如何解决上述问题呢?

Mobility Pack提供的预处理代码功能正是为这个问题设计的,你可以通过预处理功能,维护着一套代码,但是却可以编译出多套应用程序。每套应用程序可以针对一个机型或者一系列的机型。下面通过一个例子yanshi如何使用预处理代码的功能。

首先你需要安装Netbeans IDE 5.0和Mobility Pack 5.0,然后将Motorola J2ME SDK 5.4.2和SonyEricsson J2ME SDK 2.2.3集成到Netbeans IDE中。方法参考下面的文章

安装Netbeans IDE 4.1中文版

使用Netbeans IDE 4.1和Mobility Pack开发J2ME应用程序

使用Netbeans IDE集成Motorola J2ME SDK 5.4.2

下面新建一个Mobile项目,命名为procode。然后新建TestMIDlet,我们的目的是演示如何使用预处理代码,因此例子比较简单,TestMIDlet代码如下所示:

package com.sun.df;

import javax.microedition.midlet.*;

import javax.microedition.lcdui.*;

/**

*

* @author mingjava

* @version

*/

public class TestMIDlet extends MIDlet {

private Display display = null;

private MainCanvas canvas = null;

public void startApp() {

if(display == null){

display = Display.getDisplay(this);

canvas = new MainCanvas();

}

display.setCurrent(canvas);

}

public void pauseApp() {

}

public void destroyApp(boolean unconditional) {

}

}

Netbeans IDE之所以可以根据预处理代码编译出多套应用程序,原因在于它将项目与配置绑定到一起。集成了Motorola和SonyEricsson的SDK后,我们就可以把A780和SonyEricsson_K700_Emu的配置添加到项目中,方法是选择Set Active project Configuration——add Configuration to project。如下图所示:

使用Netbeans IDE 5.0解决Java ME开发中的设备分裂问题(图一)

MainCanvas的任务是在手机的屏幕上显示一个字符串,这个字符串应该根据机型不同而不同。例如在Motorola A780上显示A780,在K700上显示K700。我们在MainCanvas的构造器中对变量message进行赋值,在代码编辑器中选择右键,Preprocessor Blocks——Create if/Else Block,向MainCanvas中插入预处理代码,如下图所示:

使用Netbeans IDE 5.0解决Java ME开发中的设备分裂问题(图二)

MainCanvas的源码如下所示:

package com.sun.df;

import javax.microedition.lcdui.Canvas;

import javax.microedition.lcdui.Graphics;

/**

*

* @author mingjava

*/

public class MainCanvas extends Canvas {

private String message = "WTK 2.2";

public MainCanvas() {

//#if A780

//# message = "Motorola A780";

//#elif SonyEricsson_K700_Emu


上一篇:候捷谈Java反射机制 人气:2083
下一篇:?运算符 人气:585
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐