天天看点

配置Eclipse3.3.2和EclipseMe1.7.9和JDK6.0,搭建J2ME开发平台1. 导入设备定义2. 改变Eclipse的调试设定3. 配置ProGuard混淆器(可选)4. 配置EclipseME的无线下载(OTA)选项(可选)

你必须至少配置一种设备定义之后才能开始使用eclipseme。请按下列步骤来配置设备定义:

从eclipse的窗口菜单中选择首选项。

打开左边面板的j2me选项分支,点击设备管理(device management)。

配置Eclipse3.3.2和EclipseMe1.7.9和JDK6.0,搭建J2ME开发平台1. 导入设备定义2. 改变Eclipse的调试设定3. 配置ProGuard混淆器(可选)4. 配置EclipseME的无线下载(OTA)选项(可选)

按导入...(import)按钮。

在接下来的对话框中,选择一个包含无线工具包的根目录,eclipseme将从中查找已知设备定义。

配置Eclipse3.3.2和EclipseMe1.7.9和JDK6.0,搭建J2ME开发平台1. 导入设备定义2. 改变Eclipse的调试设定3. 配置ProGuard混淆器(可选)4. 配置EclipseME的无线下载(OTA)选项(可选)

当你离开查找目录文本框,或按下了刷新(refresh)按钮, eclipseme就会开始从指定的目录和其子目录中搜索设备定义。 在eclipseme的1.5.0版本中,你不再需要“精确的”选择目录才能正确导入设备, 只要它们位于你指定的目录中,eclipseme就应该能定位到它们。 找到一个设备定义,eclipseme就会在列表中显示出一个。如果你希望停止搜索, 只要按下取消(cancel)按钮就可以。

搜索结束以后,勾选你想导入的那些设备定义。只有导入后的设备才能被用于定义项目以及启动程序。 最后,选择完成(finish)结束导入流程。

当你成功的增加了设备定义,你就会在设备管理首选项中看到这些导入的设备。

配置Eclipse3.3.2和EclipseMe1.7.9和JDK6.0,搭建J2ME开发平台1. 导入设备定义2. 改变Eclipse的调试设定3. 配置ProGuard混淆器(可选)4. 配置EclipseME的无线下载(OTA)选项(可选)

点确定来保存设备定义。

因为无线工具包有一些奇怪的设计(尤其是sun的),如果你想使用eclipse来调试midlet, 那你必须改变一些默认的调试设定。像这样:

选择eclipse的窗口菜单中的首选项。

打开左边面板中的java选项分支 并点击调试项。

确保接近对话框顶端的两项:发生未捕获的异常时暂挂执行 和在发生编译错误时暂挂执行都没有被勾选。

把接近对话框底部的:调试器超时的值增大到最少15000毫秒。

设定后的结果应该看上去类似这样:

配置Eclipse3.3.2和EclipseMe1.7.9和JDK6.0,搭建J2ME开发平台1. 导入设备定义2. 改变Eclipse的调试设定3. 配置ProGuard混淆器(可选)4. 配置EclipseME的无线下载(OTA)选项(可选)

如果你不做这些改变,在运行midlet的时候就会发生错误。

如果你想用proguard来产生混淆包,那你就需要把它配置到插件中。这样做:

打开左边面板的j2me选项分支, 选择打包(packaging)子项, 然后点击混淆(obfuscation)。

配置proguard的根目录(在对话框顶部)。

microsoft windows用户请注意: 默认情况下,proguard假定你使用的的操作系统能够区分两个只是大小写不同的文件名的 (比如,a.java和a.java被认为是两个不同的文件)。 显然microsoft windows不是这样的操作系统(windows是对文件名是大小写不敏感的)。 因此windows用户必须为progurad指定-dontusemixedcaseclassnames选项。 如果你不这么做并且你的项目中有超过26个类的话,那么proguard就会默认混用大小写文件名, 而导致class文件相互覆盖。安全起见,从0.9.0版本开始,eclipseme默认为proguard设置 -dontusemixedcaseclassnames选项。项目中有很多类的unix用户 可以删除这个选项,这样最终产生的jar文件的大小可以进一步缩小。

配置Eclipse3.3.2和EclipseMe1.7.9和JDK6.0,搭建J2ME开发平台1. 导入设备定义2. 改变Eclipse的调试设定3. 配置ProGuard混淆器(可选)4. 配置EclipseME的无线下载(OTA)选项(可选)

如果你想使用eclipseme在无线下载(ota)模式下调试midlet,那么你可能需要调整ota首选项。这样做:

打开左边面板中的j2me选项分支 并点击over the air项。

默认的设置应该是这样:

配置Eclipse3.3.2和EclipseMe1.7.9和JDK6.0,搭建J2ME开发平台1. 导入设备定义2. 改变Eclipse的调试设定3. 配置ProGuard混淆器(可选)4. 配置EclipseME的无线下载(OTA)选项(可选)

到这里,你已经准备就绪,可以开始创建你的midlet套件项目了。

<a>二、开发 j2me应用程序</a>

在本节中,我们将介绍使用 eclipseme 插件构建 j2me 应用程序的基本步骤。首先,您将创建一个 j2me 项目。然后,您可以开始您的j2me开发之旅。

<a>1 创建 j2me项目</a>

要创建一个 j2me 项目,回到"file"菜单,选择"new"项,并在子菜单中选择"project"。然后执行以下步骤:

(1.) 进入"j2me"选项,选择"j2me midlet suite"并单击"next"(参见图4)。

(2.) 填上项目名,并单击"next"(参见图5)。

(3.) 选择可能的平台定义。可以选择"j2me wireless toolkit 2.1 midp1.0 platform"或者"j2me wireless toolkit 2.1 midp1.0 platform",默认为前者。(参见图6)。

(4.) 单击"next",出现j2me项目有关设置,这里我们均采用默认设置(参见图7)。

(5.) 单击"finish",完成项目创建。

最终创建 j2me 项目的结果如图8所示。

<a>图 4. 创建 j2me 项目 - 步骤 1</a>

配置Eclipse3.3.2和EclipseMe1.7.9和JDK6.0,搭建J2ME开发平台1. 导入设备定义2. 改变Eclipse的调试设定3. 配置ProGuard混淆器(可选)4. 配置EclipseME的无线下载(OTA)选项(可选)

<a>图 5. 创建 j2me 项目 - 步骤 2</a>

配置Eclipse3.3.2和EclipseMe1.7.9和JDK6.0,搭建J2ME开发平台1. 导入设备定义2. 改变Eclipse的调试设定3. 配置ProGuard混淆器(可选)4. 配置EclipseME的无线下载(OTA)选项(可选)

<a>图 6. 创建 j2me 项目 - 步骤 3</a>

配置Eclipse3.3.2和EclipseMe1.7.9和JDK6.0,搭建J2ME开发平台1. 导入设备定义2. 改变Eclipse的调试设定3. 配置ProGuard混淆器(可选)4. 配置EclipseME的无线下载(OTA)选项(可选)

<a>图 7. 创建 j2me 项目 - 步骤 4</a>

配置Eclipse3.3.2和EclipseMe1.7.9和JDK6.0,搭建J2ME开发平台1. 导入设备定义2. 改变Eclipse的调试设定3. 配置ProGuard混淆器(可选)4. 配置EclipseME的无线下载(OTA)选项(可选)

<a>图 8. 创建 j2me 项目 - 最终结果</a>

配置Eclipse3.3.2和EclipseMe1.7.9和JDK6.0,搭建J2ME开发平台1. 导入设备定义2. 改变Eclipse的调试设定3. 配置ProGuard混淆器(可选)4. 配置EclipseME的无线下载(OTA)选项(可选)

<a>2开发 j2me项目</a>

要创建一个 j2me 应用程序,回到"file"菜单,选择"new"项,并在子菜单中选择"other"。然后执行以下步骤:

(1). 进入"j2me"选项,选择"j2me midlet"并单击"next"(参见图9)。

(2). 填上应用程序名,其他设置采用默认设置,并单击"finish"(参见图10),完成应用程序创建。

<a>图 9. 创建 j2me 应用程序 - 步骤 1</a>

配置Eclipse3.3.2和EclipseMe1.7.9和JDK6.0,搭建J2ME开发平台1. 导入设备定义2. 改变Eclipse的调试设定3. 配置ProGuard混淆器(可选)4. 配置EclipseME的无线下载(OTA)选项(可选)

<a>图 10 创建 j2me 应用程序 - 步骤2</a>

配置Eclipse3.3.2和EclipseMe1.7.9和JDK6.0,搭建J2ME开发平台1. 导入设备定义2. 改变Eclipse的调试设定3. 配置ProGuard混淆器(可选)4. 配置EclipseME的无线下载(OTA)选项(可选)

系统会自动生成helloworld.java程序以及一段自动生成的代码,最终的程序代码见清单1。

<a>清单 1. helloworld.java</a>

package com.ken;

/**

 * helloworld.java

 * 

 * @author ken.xu

 */

import javax.microedition.lcdui.display;

import javax.microedition.lcdui.textbox;

import javax.microedition.midlet.midlet;

public class helloworld extends midlet {

    private textbox textbox;

    /**

     * constructor of the helloworld class

     */

    public helloworld() {

        textbox = new textbox("ff", "hello world!ken", 20, 0);

    }

    /*

     * the startapp method is used for starting or restarting a midlet.

     * 

     * @see javax.microedition.midlet.midlet#startapp()

    public void startapp() {

        display.getdisplay(this).setcurrent(textbox);

     * the pauseapp method is called by the system to ask a midlet to "pause"

     * @see javax.microedition.midlet.midlet#pauseapp()

    public void pauseapp() {

     * the destroyapp method is called by the system when the midlet is about to

     * be destroyed

     * @see javax.microedition.midlet.midlet#destroyapp(boolean)

    public void destroyapp(boolean unconditional) {

}

<a>3 运行j2me应用程序</a>

要 运行一个 j2me 应用程序,选中一个应用程序,本文中为helloworld.java,然后回到"run"菜单,选择"run as"项,并在子菜单中选择"1 emulated j2me midlet"。然后eclipse会启动j2me wireless toolkit 2.1中的模拟器得到运行结果见图11。

<a>图 11 j2me 应用程序运行结果</a>

配置Eclipse3.3.2和EclipseMe1.7.9和JDK6.0,搭建J2ME开发平台1. 导入设备定义2. 改变Eclipse的调试设定3. 配置ProGuard混淆器(可选)4. 配置EclipseME的无线下载(OTA)选项(可选)

最后要补充一句:

    在使用配置eclipse3.2.2和eclipseme1.7.9,搭建j2me平台编程环境时,写完程序会发现文件的"run as"后面只有一个“open run dialog”。别怕,这也许是eclipseme的一个bug吧,不过还好,很好解决,解决方法如下。这个方法可是我费了一个下午的时间才发现的。

你右键单击你的midlet项目里面的主类文件,

选择run as--&gt;open run dialog,

在打开的窗口中选择 wireless toolkit emulator选项下面的子选项中你的midlet项目(如果没有可以双击 wireless toolkit emulator新建一个,在name中输入配置名,在project中输入你要运行的midlet的项目名),

然后在右边的窗口中的"executable"栏中选中"midlet",点击右边的"search",在弹出的窗口中输入你的midlet项目的主类名,

然后确定.点击applay,

再点击run应该就可以了!(注意要确保project(项目名)是你要运行的项目的名称,可以直接输入)

继续阅读