<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 18, comments - 15, trackbacks - 0, articles - 0
    由于群里有朋友要學(xué)習(xí)J2ME,不知道如何下手,也不知道如何使用JBuilder2006來(lái)配置J2ME,根據(jù)我自己曾經(jīng)配置過(guò)的經(jīng)驗(yàn),就特別寫下這篇文章,給這位朋友以及想學(xué)J2ME的朋友提供學(xué)習(xí)的資料!

    J2ME(Java 2 Micro Edition)是致力于消費(fèi)產(chǎn)品和嵌入式設(shè)備的最佳解決方案. J2ME在設(shè)計(jì)其規(guī)格的時(shí)候,遵循著「對(duì)于各種不同的裝置而造出一個(gè)單一的開發(fā)系統(tǒng)是沒(méi)有意義的事」這個(gè)基本原則。于是J2ME先將所有的嵌入式裝置大體上區(qū)分為兩種:一種是運(yùn)算功能有限、電力供應(yīng)也有限的嵌入式裝置(比方說(shuō)PDA、手機(jī));另外一種是運(yùn)算能力相對(duì)較佳、并請(qǐng)?jiān)陔娏?yīng)上相對(duì)比較充足的嵌入式裝置(比方說(shuō)冷氣機(jī)、電冰箱、電視機(jī)上盒(set-top box))。因?yàn)檫@兩種區(qū)分,所以Java引入了一個(gè)叫做Configuration的概念,然后把上述運(yùn)算功能有限、電力有限的嵌入式裝置定義在Connected Limited Device Configuration(CLDC)規(guī)格之中;而另外一種裝置則規(guī)范為Connected Device Configuration(CDC)規(guī)格。也就是說(shuō),J2ME先把所有的嵌入式裝置利用Configuration的概念區(qū)隔成兩種抽象的型態(tài)。

    了解了什么J2ME后,切入正題,開始J2ME旅途!

    以下是轉(zhuǎn)載作者http://yycaf1.spaces.live.com/PersonalSpace.aspx?_c02_owner=1 Blog的文章。


    JBuilder上的J2ME開發(fā)環(huán)境配置

    該文應(yīng)網(wǎng)友 romejian 的要求撰寫,由于網(wǎng)上已有比較詳細(xì)的中文電子文檔來(lái)描述如何配置開發(fā)環(huán)境(J2ME 中文教程 1.01a),因此,本文僅從補(bǔ)充說(shuō)明的角度來(lái)完善一些細(xì)節(jié),建議閱讀此文前先閱讀以上提供的電子文檔。

    通常,我的 J2ME 開發(fā)工作是在 JBuilder 中完成的,雖然我也看過(guò)一些有關(guān) Eclipse 配置 J2ME 開發(fā)環(huán)境的文檔,但怎么都感覺(jué)過(guò)于繁鎖,而且還要注意版本問(wèn)題,與其將時(shí)間用在搭建開發(fā)環(huán)境上,還不如用于寫點(diǎn)代碼,并且,一旦開發(fā)過(guò)程中遇到某些問(wèn)題,至少我不用擔(dān)心是開發(fā)環(huán)境沒(méi)有配置好還是模擬器沒(méi)有設(shè)置好問(wèn)題。

    好了,廢話不多,開始進(jìn)入正題了,通常,我們可能是針對(duì)某一具體的手機(jī)進(jìn)行軟件開發(fā),因此,環(huán)境的配置是針對(duì)具體廠家的具體型號(hào)的手機(jī)來(lái)說(shuō)的,如果在你的程序中不使用廠商提供的 API ,或者換句話說(shuō),僅僅只使用標(biāo)準(zhǔn)的 MIDP1.0/2.0 , CLDC1.0/1.1 ,那么,直接使用 SUN 官方的 WTK 來(lái)進(jìn)行開發(fā)環(huán)境配置即可。不過(guò),依然不建議這么做,至少,不同廠商不同型號(hào)的手機(jī)在細(xì)節(jié)上還是會(huì)有一些區(qū)別的。

    JBuilder 建議使用 9 以上的版本,目前我使用的是 JBuilder 2005 , JBuilder9 和 JBuilder X 也都用過(guò),差別不算太大,因此,我以目前使用的 2005 來(lái)說(shuō)一下各主流廠商的開發(fā)環(huán)境配置問(wèn)題,由于個(gè)人也不敢說(shuō)是精通,因此,膚淺的地方請(qǐng)大家指正。

    WTK

    使用 WTK 來(lái)配置開發(fā)環(huán)境是最簡(jiǎn)單的事情, JBuilder2005 中就自帶的 WTK2.1 ,目前官方最新的版本為 2.2 ,可以從 SUN 官方站點(diǎn)上下載得到。

    優(yōu)點(diǎn):通常,使用 WTK 是由于 WTK 提供了對(duì)相當(dāng)多 JSR 規(guī)范的支持,同時(shí),對(duì)某些細(xì)節(jié)的支持也比較良好(如在 MOTO 4.3 中,創(chuàng)建帶有 alpha 通道的圖片常常會(huì)報(bào)錯(cuò),導(dǎo)致模擬器崩潰,但在 WTK 中卻沒(méi)有這種問(wèn)題,盡管在真機(jī)上這段代碼是正確的)。也許目前市面上所有的手機(jī)都未能提供支持的 JSR 或者廠商還未能提供相應(yīng)的 SDK 之前,使用 WTK 可以進(jìn)行前瞻性的開發(fā)工作。另外, WTK 模擬器的運(yùn)行速度比較快,占用資源少,機(jī)器配置不好的朋友可以在 WTK 中進(jìn)行開發(fā)調(diào)試,在進(jìn)入最后階段時(shí)再換成相對(duì)應(yīng)的 SDK ,可以節(jié)約許多時(shí)間。

    缺點(diǎn):分辨率為 240*320 ,但無(wú)法全屏,如果目標(biāo)手機(jī)的分辨率與此不同,情況可就不妙了。

    WTK 的配置我就不說(shuō)了,上面提供的文檔中已經(jīng)說(shuō)得極為詳盡。

    SIEMENS

    SIEMENS 的 SDK 是我最早進(jìn)行開發(fā)時(shí)使用的,可惜現(xiàn)在 SIEMENS 不再經(jīng)營(yíng)手機(jī)業(yè)務(wù),并且,出的機(jī)器也無(wú)太多亮點(diǎn),因此,不提也罷(真讓人懷念 6688 上的 IO 系統(tǒng),功能強(qiáng)大,遠(yuǎn)勝于現(xiàn)在的 JSR-75 )

    NOKIA

    NOKIA 有一統(tǒng)手機(jī)平臺(tái)的野心,并且近來(lái)推出的手機(jī),不管型號(hào)如何,也逃不過(guò) S40 、 S60 、 S80 ( N9210 )和 S90 ( N7710 )平臺(tái),而目前市面上使用最多的莫過(guò)于載有 S40 或 S60 的手機(jī)了, S40 的分辨率通常為 128*128 或 120*160 ,個(gè)人感覺(jué)比較小,而 S60 支持 176*208 則比較合適(但仍沒(méi)有 240*320 夠用),雖然現(xiàn)在的 SDK3.0 可以支持 240*320 和 352*416 ,可惜我已轉(zhuǎn)到 MOTO 上了,沒(méi)有太多了解。

    優(yōu)點(diǎn): NOKIA 模擬器給人的感覺(jué)是穩(wěn)重,從安裝后的大小就可以看出來(lái)了。 NOKIA 真實(shí)的模擬了整個(gè)手機(jī)系統(tǒng),因此,模擬程度還是相當(dāng)高的。

    缺點(diǎn):穩(wěn)重從另一方面來(lái)說(shuō)可以說(shuō)是笨重,由于是模擬手機(jī)系統(tǒng),因此,資源的開銷較大,特別是使用中文版本的模擬器時(shí),速度有點(diǎn)讓人無(wú)法忍受( AMD1800+/ 512M )。

    NOKIA 的 SDK 可以從 http://www.forum.nokia.com/main.html上面載得到, SDK 可以分為幾個(gè)版本,早期的是 1.2 ,需要注冊(cè)得到序列號(hào)用于安裝,后來(lái)就是 2.1C 和 3.0 ,通常我使用 1.2 進(jìn)行開發(fā)調(diào)試,原因是英文版本的模擬器,運(yùn)行速度比較快(但中文無(wú)法正常顯示),直到最后需要發(fā)布時(shí),才使用 2.1C 的模擬器做最后的調(diào)整( S60 上的連連看游戲)

    模擬器的安裝只不過(guò)是將文件 COPY 到指定目錄,因此,安裝好 SDK 后,一旦重新安裝了操作系統(tǒng),只要安裝文件沒(méi)有丟失,可以直接進(jìn)行配置。

    1、Tools->Confirgure->JDKs

    2、配置JDKs的界面

    3、在彈出的界面中選擇New

    4、選擇安裝后模擬器的路徑,比如我的安裝在C:\Series_60_MIDP_SDK_2_1_Chinese下

    5、OK,配置完成,就是這么簡(jiǎn)單

    當(dāng)你寫完第一個(gè)程序后,開始進(jìn)行調(diào)試的時(shí)候,需要注意的是,NOKIA 的模擬器調(diào)試程序時(shí)有個(gè)特點(diǎn):不能使用.class 進(jìn)行調(diào)試,而必須使用.jar 進(jìn)行調(diào)試。也就是說(shuō),你必須先將程序打包才能調(diào)試運(yùn)行。想想也是必然的:模擬器模擬的是手機(jī)環(huán)境,在手機(jī)環(huán)境中,執(zhí)行的程序是.jar 。

    好了,現(xiàn)在想象你已經(jīng)完成了程序,先將程序編譯,如果沒(méi)有問(wèn)題,可以進(jìn)入下面的步驟了。

    1、選擇 File->New,創(chuàng)建.jar文件

    2、完成相關(guān)的信息,可以一路Next下去,也可以直接Finish

    Compress the contents of the archive(是否對(duì)打包的內(nèi)容進(jìn)行壓縮),建議選上
    Always create archive when building the project(當(dāng)編譯時(shí)重新生成包文件),對(duì)于NOKIA的模擬器來(lái)說(shuō),建議選上

    3、關(guān)于對(duì)包進(jìn)行混淆

    Obfuscate the contents of the archive(是否對(duì)包中的類進(jìn)行混淆),混淆有作用是防止反編譯,并且可以減少文件大小,不過(guò),在程序調(diào)試期間,建議不選,影響速度,但在發(fā)布的時(shí)候一定要選上,否則……

    4、生成包,此步操作會(huì)在當(dāng)前文件夾下生成相應(yīng)的.jad和.jar文件

    5、建立一個(gè)調(diào)試/運(yùn)行配置(不太好描述)

    6、同樣,填寫相關(guān)信息,記得修改Type為MIDlet,并且選擇JAD file運(yùn)行方式

    7、OK后,可以看到如下畫面

    8、現(xiàn)在可以調(diào)試/運(yùn)行這個(gè)程序了

    注意:在NOKIA SDK1.2中混淆常常報(bào)錯(cuò),建議發(fā)布時(shí)使用其它版本的SDK進(jìn)行混淆

    MOTO

    和 NOKIA 不同, MOTO 手機(jī)型號(hào)分類感覺(jué)有些亂,可能是型號(hào)比較比較多的原因吧,但是 MOTO 的模擬器文件卻比 NOKIA 要小一些,而且一個(gè) SDK 基本上包含了 MOTO 各種型號(hào)的手機(jī)開發(fā)環(huán)境。

    優(yōu)點(diǎn):和 NOKIA 相比, MOTO 的模擬器可以說(shuō)是輕靈,由于只模擬JVM 環(huán)境,因此運(yùn)行效率要高得多。

    缺點(diǎn): MOTO 對(duì)開發(fā)的支持似乎不是太好,文檔變動(dòng)比較大,而且文檔本身存在偏差(比如文檔上指出 E680 支持 Lighting 類,然而在真機(jī)上卻無(wú)法實(shí)現(xiàn))

    環(huán)境配置同 NOKIA 相差不大,只不過(guò) MOTO 的 SDK 中提供眾多型號(hào)的手機(jī),因此要選擇正確的開發(fā)包,如 E680 就在EmulatorM.3文件夾中。

    在Target device中選擇E680_E680i

    需要注意的是,在 JBuilder 9 中, MOTO 的 E680 模擬器無(wú)法正常啟動(dòng),對(duì)于這個(gè)問(wèn)題,我也不得其解。

    MOTO不需要使用.jar 進(jìn)行調(diào)試,因此,打包工作可以留在最后完成。

    E680支持文件訪問(wèn),在模擬器中,其文件的根目錄在對(duì)應(yīng)開發(fā)包的 Devroot下,因此,如果在開發(fā)過(guò)程中需要使用文件系統(tǒng)支持,可以建立相應(yīng)的文件夾

    在 MOTO4.3 的 SDK 中, MOTO 還提供了com.motorola.io類的支持,可惜不知道由于什么原因,在后來(lái)的版本中又刪除了這些類和相關(guān)文檔,如果你目前希望使用 SDK 5.2.1 ,卻也希望保留com.motorola.io類,可以將 SDK4.3 中的 lib\midp.zip 中的 com\motorola\io文件夾添加到 SDK5.2 中,同理,如果需要在WTK中使用MOTO的com.motorola.io類,也可以做上述處理。

    其它機(jī)型

    另外,我使用過(guò)的還有 NEC 的 N840 模擬器,感覺(jué)和 WTK 一樣,沒(méi)有很特別的地方,因此,也就不提了。

    我碰到的問(wèn)題

    1. 在Anyview的開發(fā)過(guò)程中,雖然模擬器提供了完善的支持,然而,在真機(jī)運(yùn)行上總是報(bào)內(nèi)存溢出,看了文檔后才發(fā)現(xiàn)真機(jī)上的HEAP才2M。
    2. 在真機(jī)上的文件訪問(wèn)速度速倍于模擬器,這是讓人始料不及的

    ?

    Feedback

    # re: (轉(zhuǎn)載)JBuilder2006上的J2ME開發(fā)環(huán)境配置  回復(fù)  更多評(píng)論   

    2008-05-15 18:20 by 額外日特
    5他5日156315631563156315
    主站蜘蛛池模板: 亚洲fuli在线观看| 亚洲综合无码一区二区| 亚洲精品久久无码| 国产精品久久永久免费| 亚洲福利电影在线观看| 96免费精品视频在线观看| 亚洲AV永久青草无码精品| 你懂得的在线观看免费视频| 亚洲精品高清无码视频| 三级网站免费观看| 亚洲专区先锋影音| 亚洲视频免费在线看| 亚洲视频在线观看2018| 国内精品免费视频自在线| 国产亚洲精品成人久久网站| 亚洲国产成人精品无码久久久久久综合 | 久久精品国产亚洲AV无码娇色| a级毛片免费网站| 亚洲中文久久精品无码| 国产白丝无码免费视频| 亚洲免费观看网站| 国产aa免费视频| 三年片免费观看大全国语| 青青草国产免费国产是公开 | 国产精品美女免费视频观看| 亚洲成av人片天堂网| 18禁美女黄网站色大片免费观看| 亚洲av无码不卡久久| 免费乱理伦在线播放| 欧洲人成在线免费| 亚洲已满18点击进入在线观看| 亚洲精品偷拍视频免费观看| 久久久久成人片免费观看蜜芽 | 一区免费在线观看| 亚洲视频在线一区| 免费黄色小视频网站| 成人av片无码免费天天看| 亚洲日本香蕉视频观看视频| 亚洲精品视频免费观看| 亚洲精品免费在线| 九九久久精品国产免费看小说|