第一节    初识Eclipse

 

 

 

 

Eclipse是一个开发源代码,基于java的可扩展开发平台,它是在OSI(Open Software Initiative 开发源代码计划)认可的通用公共许可证(CPL)版下被授予许可证的集成开发平台(IDE)。作为当今最流行的java开发IDE之一,java社群使用Eclipse以及基于Eclipse技术而来的IBM Websphere的开发者已经超过了半数。

 

 

 

 

Eclipse本身只是一个框架和一组响应的服务,但由于附带了一个标准的插件集,Eclipse中几乎每样东西都是插件;同时,它允许各个领域的开发人员构建与Eclipse环境无缝集成的工具。

 

 

 

 

基于Eclipse应用程序最突出的例子就是IBM Websphere Studio,它是IBM java开发工具的基础,其本质上就是Eclipse框架加上IBM开发的多种服务插件构成的。

 

 

 

 

你可以在http://www.eclipse.org/downloads/index.php 下载到Eclipse的解压安装文件,语言包以及许多实用工具插件。本文写作的时候最新版本是Eclipse SDK 3.1 M5a。不过,在这里笔者提醒大家,Eclipse并不是版本越新越好,新版本往往有一些难以解释的bug,而且一些插件提供商可能还没有来得及提供与之配套的版本。本文将采用Eclipse-SDK-M3.0.1 为大家演示。

 

 

 

 

 

 

 

 

既然Eclipsejava开发中如此重要,那么我们能否使用Eclipse开发手机应用程序呢?是的,这个答案就是EclipseMe

 

 

 

 

EclipseMe作为Eclipse一个插件,致力于帮助开发者开发J2ME应用程序。EclipseMe并不为开发者提供无线设备模拟装置,而将各手机厂商的实用模拟器紧密连接到Eclipse开发环境中,为开发者提供一种无缝统一的集成开发环境。

 

 

 

 

你可以在http://www.eclipseme.org/上得到免费下载的EclipseMe,本文写作时的最新版本是0.7.5,同样出于稳定的考虑,笔者在这里选用eclipseme.feature_0.5.5_site.zip来为大家演示。

 

 

 

 

 

 

 

 

除了EclipseEclipseMe之外,你还需要java运行环境和一些手机模拟器来完成安装。以下列出了完成本文的工具列表以及参考下载地址(按安装顺序)

 

 

 

 

1JDK 1.4.2            http://java.sun.com/j2se/1.4.2/download.html

 

 

 

 

2Eclipse M3.0.1        http://www.eclipse.org/downloads/index.php

 

 

 

 

2Eclipse 3.0.X 语言包  http://www.eclipse.org/downloads/index.php

 

 

 

 

3EclipseMe 0.5.5       http://www.eclipseme.org/

 

 

 

 

4Sun WTK V2.2 (sun的通用模拟器)   

 

 

 

 

http://java sun.com

 

 

 

 

   Nokia Developer's Suite 2.2 (Nokia开发者套件,包括几款比较典型机型的模拟器)

 

 

 

 

http://www.forum.nokia.com/main/0,6566,034-2,00.html

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

第二节    搭建Eclipse移动开发环境

 

 

 

 

1 Eclipse安装与汉化

 

 

 

 

    搭建Eclipse的第一个步骤就是要安装JDK,本文写作时,JDK的最新版本是5.0,但是用JDK5.0 + Eclipse开发手机程序有很多问题。所以目前的J2ME开发者基本上还是采用的JDK1.4.2,安装很简单,这里就不赘述了。

 

 

 

 

Eclipse的安装过程更加简单,事实上,这仅仅是一个解压缩的过程。将你下载的Eclipse SDK压缩包eclipse-SDK-M3.0.1拷贝在你的目标目录下,我们这里以D盘根目录为例,然后解压到当前文件夹。

 

 

 

 

先不要急着运行你的Eclipse环境,把Eclipse语言包NLpack-eclipse-SDK-3.0拷贝到相同路径(D盘)下解压缩,再运行,Eclipse将首先完成第一次启动配置,包括相应的汉化工作。指定你的工作空间就可以了。

 

 

 

 

 

 

 

 

 J2ME开发环境搭建 之 EclipseMe_新版本

 

 J2ME开发环境搭建 之 EclipseMe_新版本

 

欢迎界面之后,就是Eclipse漂亮的工作界面!

 

 

 

 

 

 

 

 

 J2ME开发环境搭建 之 EclipseMe_新版本_03

 

 J2ME开发环境搭建 之 EclipseMe_新版本_03

 

 

 

 

 

2 EclipseMe插件安装

 

 

 

 

Eclipse中选择“帮助 / 软件更新 / 查找并更新”,在弹出对话框中选择“搜索要安装的新功能部件”,在“新建已归档站点”的弹出框中,指定EclipseMe压缩文件eclipseme.feature_0.5.5_site.zip

 

 

 

 

 

 

 

 

 J2ME开发环境搭建 之 EclipseMe_新版本_05

 

 J2ME开发环境搭建 之 EclipseMe_新版本_05

 

点击确定后可以看到Eclipse已经搜索到了相应的插件。

J2ME开发环境搭建 之 EclipseMe_java_07

 

J2ME开发环境搭建 之 EclipseMe_java_07

 

 

 

 

 

选中EclipseMe的复选框,接受协议,忽略功能部件验证,最后重新启动控制台,EclipseMe插件就已经顺利的安装好了。

 

 

 

 

 

 

 

 

 

 

 

 

 J2ME开发环境搭建 之 EclipseMe_java_09

 

 J2ME开发环境搭建 之 EclipseMe_java_09

 

 

 

J2ME开发环境搭建 之 EclipseMe_eclipse_11

 

J2ME开发环境搭建 之 EclipseMe_eclipse_11

 

 

 

J2ME开发环境搭建 之 EclipseMe_开发者_13

 

J2ME开发环境搭建 之 EclipseMe_开发者_13

 

 

 

 

 

 

 

 

 

为了验证EclipseMe确实已经安装上了,我们在工作台重启之后,打开“窗口 / 首选项”中,我们可以看到一个J2ME选项,这时,Eclipse移动开发的第一步,我们已经成功的迈出了!

 

 

 

 

 

 

 

 

注意:安装好EclipseMe之后,我们要对原有的Eclipse配置做一点小小的改动。由于移动开发时我们需要首先启动手机模拟器,那么在Debug模式的Eclipse默认设置不等到模拟器启动就会失败。

 

 

 

 

修改这点很简单,在首选项的“java / 调试”中,把默认设置更改为如下图所示,调试模式就可以顺利的启动了。

J2ME开发环境搭建 之 EclipseMe_eclipse_15

 

J2ME开发环境搭建 之 EclipseMe_eclipse_15

 

 

 

 

 

 

 

 

 

J2ME开发环境搭建 之 EclipseMe_首选项_17

 

J2ME开发环境搭建 之 EclipseMe_首选项_17

 

3 加载厂商模拟器

 

 

 

 

EclipseMe为我们提供了一个集成开发环境,但仅仅这些是不够的,我们还需要一种或多种手机模拟器作为程序运行的实际载体。目前,各大手机厂商都拥有多种型号的手机模拟器,Sun也提供了一种通用模拟器。这里我们采用Sun WTKNokia Developer's Suite 两种来为大家演示。

 

 

 

 

 

 

 

 

Sun wtk v2.2

 

 

 

 

Wtk(Wireless toolkit)Sun为无线开发者提供的一个无线开发实用包。它拥有多个手机模拟器,我们在这里将WTK绑定到Eclipse,这将大大提高开发者的工作效率。

 

 

 

 

当然首先,我们得安装WTK。安装过程也很简单,系统会自动检测到当前JDK所在路径,引用该JDK

 

 

 

 

下面我将WTK绑定到Eclipse

 

 

 

 

找到路径“窗口 / 首选项/ J2ME / Platform Component”,右键单击对话框右侧的wireless toolkit,我们可以添加当前系统已有模拟器。在单击“浏览”按钮之后,我们选定WTK的安装目录。

J2ME开发环境搭建 之 EclipseMe_首选项_19

 

J2ME开发环境搭建 之 EclipseMe_首选项_19

 

 

 

 

 

EclipseMe会自动分析出当前模拟器类型,并显示出来。

J2ME开发环境搭建 之 EclipseMe_java_21

 

J2ME开发环境搭建 之 EclipseMe_java_21

 

 

 

 

 

确认之后,我们发现Platform Component一栏上添加了关于WTK的许多配置信息,此时,WTK已经被我们集成到EclipseMe上了。

J2ME开发环境搭建 之 EclipseMe_eclipse_23

 

J2ME开发环境搭建 之 EclipseMe_eclipse_23

 

 

 

 

 

 

 

 

 

Nokia Developer's

Suite 2.2

 

 

Suite 2.2

 

 

Nokia拥有多种型号的手机模拟器,为了统一管理,它推出了用于集中管理这些模拟器的管理软件Developer's Suite

 

 

 

 

Developer's Suite本身是一个可以独立运行的工具包,它同样可以被EclipseMe绑定,使开发者在一个相同的工作环境下高效率的工作。

 

 

 

 

这里,我们采用了Nokia Developer's Suite 2.2,这个版本甚至在安装的时候就可以绑定Eclipse了!

 

 

 

 

 

 

 

 

首先,从Nokia论坛上下载安装文件,如果你的电脑中有旧版本的Developer's Suite,需要首先卸载旧版本。

 

 

 

 

Nokia的开发包是提供给Nokia论坛的开发者使用的,所以,在接受安装协议之后,你需要提供你在Nokia论坛的用户名和安装序列号。

J2ME开发环境搭建 之 EclipseMe_eclipse_25

 

J2ME开发环境搭建 之 EclipseMe_eclipse_25

 

 

 

 

 

第一次安装没有序列号也不用担心,输入一栏中什么都不用填直接忽略过去,Developer's Suite会让你选择一种代理联网模式(如果没有用代理服务器上网就选择no proxy),然后要求你输入你在Nokia论坛的用户名和密码进行注册。注册成功之后,用户名对应的序列号就会被发送到你的邮箱中,查收一下,就可以继续了!(有的时候Nokia发送序列号的行为会很慢,没办法,只有等等了J)

 

 

 

 

 J2ME开发环境搭建 之 EclipseMe_开发者_27

 

 J2ME开发环境搭建 之 EclipseMe_开发者_27

 

 

 

 

 

 

 

 

 

 

 

 

 

 J2ME开发环境搭建 之 EclipseMe_首选项_29

 

 J2ME开发环境搭建 之 EclipseMe_首选项_29

 

当我们完成认证之后,会发现Developer's Suite 2.2提供了多种安装方式,包括独立安装或者直接与Eclipse集成。

 

 

 

 

 J2ME开发环境搭建 之 EclipseMe_java_31

 

 J2ME开发环境搭建 之 EclipseMe_java_31

 

 

 

 

 

 

 

 

 

如果选择了与Eclipse集成,那我们就要提供当前Eclipse的安装目录。

J2ME开发环境搭建 之 EclipseMe_eclipse_33

 

J2ME开发环境搭建 之 EclipseMe_eclipse_33

 

 

 

 

 

 

 

 

 

如果你选择了独立安装,在重启系统之后,我们以与添加Sun WTK相同的方法,在“首选项 / J2ME / Platform Components”中选中Developer's Suite的安装目录,确定之后可以看到,Wireless Toolkits中除了WTKNokia Developer Suit也被列在其中了!

J2ME开发环境搭建 之 EclipseMe_eclipse_35

 

J2ME开发环境搭建 之 EclipseMe_eclipse_35

 

 

 

 

 

 

 

 

 

现在,我们终于可以用Eclipse开发第一个J2ME程序了!J

 

 

 

 

 

 

 

 

 

 

 

 

第三节    使用Eclipse进行无线开发

 

 

 

 

1.       创建工程

 

 

 

 

在完成了环境搭建后,我们就可以在Eclipse中用我们所熟悉的方式开发无线应用程序。下面让我们完成一个经典Hello World程序,这里,我们选择使用Sun WTK 2.2作为运行模拟器。

 

 

 

 

    Eclipse工作台上的新建选项中,选择J2ME Midlet Suite,首先创建一个MIDP Suit

J2ME开发环境搭建 之 EclipseMe_eclipse_37

 

J2ME开发环境搭建 之 EclipseMe_eclipse_37

 

 

 

 

 

在下一步中,我们可以看到有多种模拟器设备可供选择,选定“J2ME Wireless Toolkit 2.2 MIDP 2.0 Platform”后,继续下一步,直至完成。

J2ME开发环境搭建 之 EclipseMe_新版本_39

 

J2ME开发环境搭建 之 EclipseMe_新版本_39

 

 

 

 

 

    此时,在包资源管理器中,Hello World套件项目已经被建立起来,我们注意到,Eclipse为我们自动绑定了J2ME library运行库,并创建了jad等配置文件。

 

 

 

 

    J2ME开发环境搭建 之 EclipseMe_首选项_41

 

 

 

 

 

 

 

 

2.      创建MIDlet文件

 

 

 

 

    完成项目创建后,让我来创建一个MIDlet类文件,它是整个套件的入口文件。也是Hello World的关键类。

J2ME开发环境搭建 之 EclipseMe_开发者_42

 

J2ME开发环境搭建 之 EclipseMe_开发者_42

 

   

 

 

 

 

    选择J2ME Midlet之后,我们可以看到系统自动继承了MIDlet超类,请确保三个默认方法复选框被选中,输入类名,完成创建。

 

 

 

 

    J2ME开发环境搭建 之 EclipseMe_新版本_44

 

 

 

 

    打开刚刚创建的Hello World,我们发现Eclipse已经自动帮我们生成了程序主体,继承方法以及一些注释。

 

 

 

 

    J2ME开发环境搭建 之 EclipseMe_开发者_45

 

 

 

 

如此之多的重复工作已经被Eclipse完成,以至于我们只需要在相应的方法中填写自己的实现过程就可以了。

 

 

 

 

首先在Hello World代码中导入界面类import javax.microedition.lcdui.*;

 

 

 

 

然后,我们仅仅需要用以下代码覆盖原先的构造函数:

 

 

 

 

      public HelloWorld() {

 

 

 

 

     super ();

 

 

 

 

     // TODO 自动生成构造函数存根

 

 

 

 

     Form form = new Form("Hello World");

 

 

 

 

     form.append("Welcome to J2ME World!");

 

 

 

 

     Display.getDisplay(this).setCurrent(form);

 

 

 

 

  }

 

 

 

 

如此简单的几步,第一个J2ME就完成了!

 

 

 

 

 

 

 

 

 

 

 

 

第四节    执行MIDlet,打包和混淆

 

 

 

 

1 运行MIDlet文件

 

 

 

 

Hello World项目上单击右键,选择“运行”,

 

 

 

 

    J2ME开发环境搭建 之 EclipseMe_java_46

 

 

 

 

 

 

 

 

    在弹出对话框中,在Wireless Toolkit Emulator中新建一个配置,指定刚刚Hello World为入口文件,应用设置,最后运行。

 

 

 

 

    J2ME开发环境搭建 之 EclipseMe_java_47

 

 

 

 

 

 

 

 

可以看到,Eclipse自动启动了WTK的模拟器,显示出了Hello World的欢迎界面!

J2ME开发环境搭建 之 EclipseMe_首选项_48

 

J2ME开发环境搭建 之 EclipseMe_首选项_48

 

 

 

 

 

 

 

 

 

2 打包与混淆

 

 

 

 

打包,就是为套件生成jar文件,用来发布项目。右键单击目标项目,可以在J2ME选项中选定Create Package,生成jar包。

J2ME开发环境搭建 之 EclipseMe_开发者_50

 

J2ME开发环境搭建 之 EclipseMe_开发者_50

 

 

 

 

 

 

 

 

 

混淆,就是为了保护版权,增加别人反编译阅读源代码的难度;同时可以减少jar包的体积。在J2ME选项中也能够找到创建混淆包的选项。但首先,需要首先指定当前系统中混淆器的安装位置。

 

 

 

 

我们这里采用了开源免费的Proguard3.0.1作为混淆器。在“首选项 / J2ME / packaging / obfuscation”中,通过浏览指定Proguard3.0.1的安装(解压)路径。

J2ME开发环境搭建 之 EclipseMe_java_52

 

J2ME开发环境搭建 之 EclipseMe_java_52

 

 

 

 

 

 

 

 

 

应用保存设置之后,就可以成功的创建混淆包了。

 

 

 

 

 

 

 

 

注意:

 

 

 

 

很多初次使用的朋友会发现即便指定路径之后,依然不能顺利创建混淆,并且往往得到类似下面的警告信息。

J2ME开发环境搭建 之 EclipseMe_首选项_54

 

J2ME开发环境搭建 之 EclipseMe_首选项_54

 

 

 

 

 

 

 

 

 

出现这个错误的原因与JDK路径有关。我们在安装了JDK之后(1.4.2为例),系统环境变量中存在两种JDK,一种是JDK SDK,一种是运行时环境(runtime)Eclipse在解压安装时选择的是后者,而启动Proguard3.0.1需要的是前者。

 

 

 

 

修复这个问题很简单,在“首选项 / java / 已安装的JRE”中把你的JRE从指向运行时更改为指向SDK(JDK的安装目录)

J2ME开发环境搭建 之 EclipseMe_开发者_56

 

J2ME开发环境搭建 之 EclipseMe_开发者_56

 

 

 

 

 

 

 

 

 

 

 

 

 

J2ME开发环境搭建 之 EclipseMe_java_58

此时JRE将拥有完整JDK库文件,再次运行创建混淆,我们会发现在Hello World子目录deployed中包括了HelloWorld.jarHelloWorld_base.jar HelloWorld_base_obf.jar。他们分别是混淆后,混淆前等不同版本的jar包。