随笔 - 35  文章 - 21  trackbacks - 0
<2008年8月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
31123456

常用链接

留言簿

随笔分类

随笔档案

文章分类

搜索

  •  

最新评论

阅读排行榜

评论排行榜

分三步来写,这样清楚些。

要是仅仅开发基于 MIDP 的 J2ME 程序, EClipseME 足矣。
要是使用到 J2me polish ,EclipseMe不是必须的, 因为 J2me polish 也提供 Eclipse 插件。
要是开发基于 BlackBerry 的应用, 分两种情况:
    1 使用了如 J2me polish 等第三方类库。要是 J2me polish 的话,它本身支持 BB ,便在 Eclipse 下 使用J2me Polish 的插见Mepose来开发。
    2 要是没有使用除 BB API 和 MIDP API 之外的任何第三方类库,就可以选择 BB JDE 和 BB simulator。现在RIM提供了一个 Eclipse 插件。这是一个比JDE好的选择。不过,不提供中国IP的下载。用美国的代理应该可以下下来。之后应该来试一下。


1. Eclispe + EclipseMe + WTK
这个环境就可以做 MIDP下的 J2me 开发,
为一般的支持 MIDP/CLDC 的手机做应用。这个环境就够了。所以模拟器选择最普遍的 sun 的 WTK。

入门第一个J2me项目是在linux下做的,用 Emacs作编辑器,仿照demo里的例子写的脚本来编译和运行。
这样做觉得清楚,速度也快很多。有时候,eclipse显得有点笨重了。当然软件做大了,要团队工作了,还是得在IDE上做。

下载:
http://www.eclipse.org/downloads/
http://eclipseme.org/
http://java.sun.com/products/sjwtoolkit/download.html

配置
http://www.cnjm.net/eclipseme/docs/configuring.html

安装这些之前可能需要安装JDK。
使用的版本:
JDK1.5.2
Eclipse 3.3.2
EclipseMe 1.7.9
WTK 2.5.1



2. Eclipse + J2me polish
要是在J2me polish框架下来做J2me,就要安装 J2me polish 的 SDK 和 J2me polish 的 eclipse插件 Mepose。

下载:
SDK, 更改后面的数字可以选择版本,不要选择太高的版本,不是很稳定:
http://prdownload.berlios.de/polish/j2mepolish-2.0.1.jar
Mepos :
http://www.j2mepolish.org/eclipse/de.enough.mepose.zip

使用的版本:
j2mepolish-2.0.1.jar
Mepose 未知, 2008/7/20号的最新版本

安装和配置:
http://www.j2mepolish.org/cms/leftsection/documentation/installation/ide-integration/eclipse/installation.html
下载了档案文件 de.enough.mepose.zip, 想在 Eclipse 中本地引入这个插件,但是没有成功,总是说找不到内容。不过按照上面的官方配置文档说明中的步骤,通过网络安装还是成功了。这个过程和安装 EclipseMe 的安装过程是一样的。

运行:
试一下,他们在 J2ME-Polish/samples 文件下提供的例程 email :
1 拷贝整个文件夹到eclipse的工作目录 Workspace 下。
2 创建一个新工程, File -〉java project
   选择从已有代码创建。填入email的所在文件夹。引入这些代码,正常情况下,工程图标上应该没有代表有错误的红叉。
3 编译代码,可以右键点击 build.xml
   选择Run As -〉 Ant Build... -〉 勾选 j2mepolish。编译。
    Apply 然后 Run
4 运行代码,可以右键点击 build.xml
   选择Run As -〉 Ant Build... -〉 勾选 emulator。在模拟器中运行代码。
    Apply 然后 Run      

也可以编译和运行一起勾选。3和4就递次自动运行了。

应该会有错误:
BUILD FAILED
D:\Program Files\eclipse\Workspace\email\build.xml:88: Invalid CSS: The CSS-attribute [expand-items] is not supported. Please check your "polish.css" file(s).


这是说,无法支持 polish.css 里的 expand-items。
修改 polish.css, 一般在resources文件下。找到使用了这个参数的行, 注释掉这一行。
不能用双斜杆 // 注释一行,CSS 不支持这种注释格式。要用 /* */。
版本不同,可能还有别的错误。认真看问题报告,找到引发问题的行,注释掉这些行。

可能还有这样的错误:
[j2mepolish] assembling resources for device [Generic/midp1].
[j2mepolish] preprocessing for device [Generic/midp1].
[j2mepolish] compiling for device [Generic/midp1].
[j2mepolish-javac-Generic/midp1] Compiling 248 source files to D:\Program Files\eclipse\Workspace\fisheye\build\real\Generic\midp1\de_DE\classes
    [javac] Internal J2ME Polish class: D:\Program Files\eclipse\Workspace\fisheye\build\real\Generic\midp1\de_DE\source\de\enough\polish\ui\UiAccess.java:3116: 找不到符号
    [javac] 符号: 类 CustomItem
    [javac] 位置: 软件包 javax.microedition.lcdui
    [javac]     public void setEventHandled( javax.microedition.lcdui.CustomItem item ) {
    [javac]                                                              ^
    [javac] 1 错误
    [javac] An internal class of J2ME Polish could not be compiled. Please try a clean rebuild by either calling "ant clean j2mepolish" or by removing the working directory "D:\Program Files\eclipse\Workspace\fisheye\build\real".
    [javac] When an API-class was not found, you might need to define where to find the device-APIs. Following classpath has been used: [D:\Program Files\J2ME-Polish\import\midp-1.0.jar;D:\Program Files\J2ME-Polish\import\cldc-1.0.jar;].

BUILD FAILED
D:\Program Files\eclipse\Workspace\fisheye\build.xml:90: Unable to compile source code for device [Generic/midp1]: Compile failed; see the compiler error output for details.


修改 build.xml
可以找到这样的两行:

    <!-- the device for the test mode - you can define it on the command-line
         using the -D switch, e.g. ant -Ddevice=Generic/midp2 emulator -->
    <property name="device" value="Nokia/Series60E2FP3"/>
    <property name="devices" value="${device},Generic/jtwi,Generic/midp1,Generic/Midp2Cldc11,Nokia/Series40E3,Nokia/Series60E2,Nokia/Series60E3,Sony-Ericsson/JavaPlatform6" />

       
第一行的参数 device 是说程序将运行在什么样的设备上,相应的模拟器将被调用,当然需要安装了相应的模拟器和设置了模拟器,才会弹出模拟器。怎么设置,第3节 中,会为BB 设置一个模拟器。
第二行的参数 devices 是说为哪些设备编译这个程序。 错误消息是说在编译 MIDP1.0 设备时出错。可能是 MIDP1.0 有些类库冲突的原因。

修改为:
<property name="device" value="Generic/Midp2Cldc11"/>
<property name="devices" value="Generic/Midp2Cldc11"/>


这样就只编译 MIDP2.0/CLDC1.1 的设备。完成的速度快了很多。
建议只编译自己的目标设备, 这样增加通过的几率和编译速度。

结果:



3. Eclispe + J2me polish for BlackBerry

J2me polish 支持 BB。
可以在Eclispe + J2me polish 插件 Mepose 的环境下,开发基于J2me polish 的 BB 程序。
这里的目的是,在 BB 模拟器中成功运行第 2 节中的 email 例程。

在安装了 Eclipse 和 Mepose 的基础上, 要需要一套 BB 的编译环境和模拟器。
安装BB JDE, 其中集成了编译环境和模拟器。

下载:
BB 相关软件。中国IP无法下载,可以试着用美国代理服务器下载。
http://na.blackberry.com/eng/developers/downloads/
国内的 BB 资源:
http://down.maxpda.com/download/category-86-1.html

JDE 的 版本对应不同型号的 BB 设备,最好选择和目标设备匹配版本:
    * BlackBerry/4.1: for devices like the 8700, 7290 etc
    * BlackBerry/4.2: for devices like the 8100, 8800 etc
    * BlackBerry/4.3: for devices like the 8120, 8130 etc

我使用的版本:
BB JDE 4.3   

建立工程:
引入工程的方法和第 2 节的一样。引入已存在的代码。指示 email 的文件目录。   
   
设置和运行:
J2me polish for BB 设置 :
http://www.j2mepolish.org/cms/leftsection/documentation/platforms/blackberry.html

上面的设置讲了很多,关于团队开发的环境设置,涉及到安全证书的类库开发需要购买证书,和关于一些UI类库的冲突。
不同版本的 J2me polish 需要做的不同。在我使用的版本下,涉及到 email 例程的,只要做下面两点:

1 找到 J2me polish SDK 的安装目录,如:D:\Program Files\J2ME-Polish 下的文件: global.properties。打开这个文件,找到下面这一行:
# blackberry.home=(please define if needed)

去掉,前面代表注释的 # ,用 BB JDE 的安装目录替换。替换等于号后面的括号。
如同:
blackberry.home=D:/Program Files/Research In Motion

这里做的是,告诉Eclispe,BB的编译环境和模拟器所在的位置。
还有另外两种方法做了相同的事情,同样的事情,当然只要做一片。前面修改全局参数的方法是最简单的。另外两种方法如下:
    1> 要是先安装了 BB JDE,后安装 J2me polish SDK 的话,在安装过程中,
    一个界要求指示,Eclipse或则Netbean的安装目录和其他模拟器的安装目录时,可以指示 BB JDE的安装目录。
    2> 在工程里修改 build.xml 里,开始那一段找到那一些 <property /> 的行,加入下面的参数说明。

    <property
        name="blackberry.home"
        location="C:/Program Files/Research In Motion"/>


2 在 build.xml 找到下面的行:

    <!-- the device for the test mode - you can define it on the command-line
         using the -D switch, e.g. ant -Ddevice=Generic/midp2 emulator -->
    <property name="device" value="Nokia/Series60E2FP3"/>
    <property name="devices" value="${device},Generic/jtwi,Generic/midp1,Generic/Midp2Cldc11,Nokia/Series40E3,Nokia/Series60E2,Nokia/Series60E3,Sony-Ericsson/JavaPlatform6" />

       
修改为:
    <property name="device" value="BlackBerry/8130"/>
    <property name="devices" value="BlackBerry/8130"/>


第2节时也修改了这一些行,意思是只为 BlackBerry 8130 编译和只启动 Blackberry 8130 模拟器。

现在在这里右键点 build.xml,Run As -> Ant Build... 勾选 J2me polish 和 emulator
有一些警告,但是最终还是会通过。

结果:

posted on 2008-08-16 05:39 lincode 阅读(2509) 评论(0)  编辑  收藏 所属分类: Blackberry

只有注册用户登录后才能发表评论。


网站导航: