要是僅僅開(kāi)發(fā)基于 MIDP 的 J2ME 程序, EClipseME 足矣。
要是使用到 J2me polish ,EclipseMe不是必須的, 因?yàn)?J2me polish 也提供 Eclipse 插件。
要是開(kāi)發(fā)基于 BlackBerry 的應(yīng)用, 分兩種情況:
1 使用了如 J2me polish 等第三方類庫(kù)。要是 J2me polish 的話,它本身支持 BB ,便在 Eclipse 下 使用J2me Polish 的插見(jiàn)Mepose來(lái)開(kāi)發(fā)。
2 要是沒(méi)有使用除 BB API 和 MIDP API 之外的任何第三方類庫(kù),就可以選擇 BB JDE 和 BB simulator。現(xiàn)在RIM提供了一個(gè) Eclipse 插件。這是一個(gè)比JDE好的選擇。不過(guò),不提供中國(guó)IP的下載。用美國(guó)的代理應(yīng)該可以下下來(lái)。之后應(yīng)該來(lái)試一下。
1. Eclispe + EclipseMe + WTK
這個(gè)環(huán)境就可以做 MIDP下的 J2me 開(kāi)發(fā),
為一般的支持 MIDP/CLDC 的手機(jī)做應(yīng)用。這個(gè)環(huán)境就夠了。所以模擬器選擇最普遍的 sun 的 WTK。
入門第一個(gè)J2me項(xiàng)目是在linux下做的,用 Emacs作編輯器,仿照demo里的例子寫的腳本來(lái)編譯和運(yùn)行。
這樣做覺(jué)得清楚,速度也快很多。有時(shí)候,eclipse顯得有點(diǎn)笨重了。當(dāng)然軟件做大了,要團(tuán)隊(duì)工作了,還是得在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框架下來(lái)做J2me,就要安裝 J2me polish 的 SDK 和 J2me polish 的 eclipse插件 Mepose。
下載:
SDK, 更改后面的數(shù)字可以選擇版本,不要選擇太高的版本,不是很穩(wěn)定:
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號(hào)的最新版本
安裝和配置:
http://www.j2mepolish.org/cms/leftsection/documentation/installation/ide-integration/eclipse/installation.html
下載了檔案文件 de.enough.mepose.zip, 想在 Eclipse 中本地引入這個(gè)插件,但是沒(méi)有成功,總是說(shuō)找不到內(nèi)容。不過(guò)按照上面的官方配置文檔說(shuō)明中的步驟,通過(guò)網(wǎng)絡(luò)安裝還是成功了。這個(gè)過(guò)程和安裝 EclipseMe 的安裝過(guò)程是一樣的。
運(yùn)行:
試一下,他們?cè)?J2ME-Polish/samples 文件下提供的例程 email :
1 拷貝整個(gè)文件夾到eclipse的工作目錄 Workspace 下。
2 創(chuàng)建一個(gè)新工程, File -〉java project
選擇從已有代碼創(chuàng)建。填入email的所在文件夾。引入這些代碼,正常情況下,工程圖標(biāo)上應(yīng)該沒(méi)有代表有錯(cuò)誤的紅叉。
3 編譯代碼,可以右鍵點(diǎn)擊 build.xml
選擇Run As -〉 Ant Build... -〉 勾選 j2mepolish。編譯。
Apply 然后 Run
4 運(yùn)行代碼,可以右鍵點(diǎn)擊 build.xml
選擇Run As -〉 Ant Build... -〉 勾選 emulator。在模擬器中運(yùn)行代碼。
Apply 然后 Run
也可以編譯和運(yùn)行一起勾選。3和4就遞次自動(dòng)運(yùn)行了。
應(yīng)該會(huì)有錯(cuò)誤:
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).
這是說(shuō),無(wú)法支持 polish.css 里的 expand-items。
修改 polish.css, 一般在resources文件下。找到使用了這個(gè)參數(shù)的行, 注釋掉這一行。
不能用雙斜桿 // 注釋一行,CSS 不支持這種注釋格式。要用 /* */。
版本不同,可能還有別的錯(cuò)誤。認(rèn)真看問(wèn)題報(bào)告,找到引發(fā)問(wèn)題的行,注釋掉這些行。
可能還有這樣的錯(cuò)誤:
[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: 找不到符號(hào)
[javac] 符號(hào): 類 CustomItem
[javac] 位置: 軟件包 javax.microedition.lcdui
[javac] public void setEventHandled( javax.microedition.lcdui.CustomItem item ) {
[javac] ^
[javac] 1 錯(cuò)誤
[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" />
第一行的參數(shù) device 是說(shuō)程序?qū)⑦\(yùn)行在什么樣的設(shè)備上,相應(yīng)的模擬器將被調(diào)用,當(dāng)然需要安裝了相應(yīng)的模擬器和設(shè)置了模擬器,才會(huì)彈出模擬器。怎么設(shè)置,第3節(jié) 中,會(huì)為BB 設(shè)置一個(gè)模擬器。
第二行的參數(shù) devices 是說(shuō)為哪些設(shè)備編譯這個(gè)程序。 錯(cuò)誤消息是說(shuō)在編譯 MIDP1.0 設(shè)備時(shí)出錯(cuò)。可能是 MIDP1.0 有些類庫(kù)沖突的原因。
修改為:
<property name="device" value="Generic/Midp2Cldc11"/>
<property name="devices" value="Generic/Midp2Cldc11"/>
這樣就只編譯 MIDP2.0/CLDC1.1 的設(shè)備。完成的速度快了很多。
建議只編譯自己的目標(biāo)設(shè)備, 這樣增加通過(guò)的幾率和編譯速度。
結(jié)果:
3. Eclispe + J2me polish for BlackBerry
J2me polish 支持 BB。
可以在Eclispe + J2me polish 插件 Mepose 的環(huán)境下,開(kāi)發(fā)基于J2me polish 的 BB 程序。
這里的目的是,在 BB 模擬器中成功運(yùn)行第 2 節(jié)中的 email 例程。
在安裝了 Eclipse 和 Mepose 的基礎(chǔ)上, 要需要一套 BB 的編譯環(huán)境和模擬器。
安裝BB JDE, 其中集成了編譯環(huán)境和模擬器。
下載:
BB 相關(guān)軟件。中國(guó)IP無(wú)法下載,可以試著用美國(guó)代理服務(wù)器下載。
http://na.blackberry.com/eng/developers/downloads/
國(guó)內(nèi)的 BB 資源:
http://down.maxpda.com/download/category-86-1.html
JDE 的 版本對(duì)應(yīng)不同型號(hào)的 BB 設(shè)備,最好選擇和目標(biāo)設(shè)備匹配版本:
* 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 節(jié)的一樣。引入已存在的代碼。指示 email 的文件目錄。
設(shè)置和運(yùn)行:
J2me polish for BB 設(shè)置 :
http://www.j2mepolish.org/cms/leftsection/documentation/platforms/blackberry.html
上面的設(shè)置講了很多,關(guān)于團(tuán)隊(duì)開(kāi)發(fā)的環(huán)境設(shè)置,涉及到安全證書的類庫(kù)開(kāi)發(fā)需要購(gòu)買證書,和關(guān)于一些UI類庫(kù)的沖突。
不同版本的 J2me polish 需要做的不同。在我使用的版本下,涉及到 email 例程的,只要做下面兩點(diǎn):
1 找到 J2me polish SDK 的安裝目錄,如:D:\Program Files\J2ME-Polish 下的文件: global.properties。打開(kāi)這個(gè)文件,找到下面這一行:
# blackberry.home=(please define if needed)
去掉,前面代表注釋的 # ,用 BB JDE 的安裝目錄替換。替換等于號(hào)后面的括號(hào)。
如同:
blackberry.home=D:/Program Files/Research In Motion
這里做的是,告訴Eclispe,BB的編譯環(huán)境和模擬器所在的位置。
還有另外兩種方法做了相同的事情,同樣的事情,當(dāng)然只要做一片。前面修改全局參數(shù)的方法是最簡(jiǎn)單的。另外兩種方法如下:
1> 要是先安裝了 BB JDE,后安裝 J2me polish SDK 的話,在安裝過(guò)程中,
一個(gè)界要求指示,Eclipse或則Netbean的安裝目錄和其他模擬器的安裝目錄時(shí),可以指示 BB JDE的安裝目錄。
2> 在工程里修改 build.xml 里,開(kāi)始那一段找到那一些 <property /> 的行,加入下面的參數(shù)說(shuō)明。
<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節(jié)時(shí)也修改了這一些行,意思是只為 BlackBerry 8130 編譯和只啟動(dòng) Blackberry 8130 模擬器。
現(xiàn)在在這里右鍵點(diǎn) build.xml,Run As -> Ant Build... 勾選 J2me polish 和 emulator
有一些警告,但是最終還是會(huì)通過(guò)。
結(jié)果: