J2ME開發環境搭建 之 EclipseMe

來源:互聯網
上載者:User

J2ME開發環境搭建 之 EclipseMe




 


第一節    初識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 為大家示範。




 


既然Eclipse在java開發中如此重要,那麼我們能否使用Eclipse開發手機應用程式呢?是的,這個答案就是EclipseMe。



EclipseMe作為Eclipse一個外掛程式,致力於協助開發人員開發J2ME應用程式。EclipseMe並不為開發人員提供無線裝置類比裝置,而將各手機廠商的實用模擬器緊密串連到Eclipse開發環境中,為開發人員提供一種無縫統一的整合式開發環境。



你可以在http://www.eclipseme.org/上得到免費下載的EclipseMe,本文寫作時的最新版本是0.7.5,同樣出於穩定的考慮,筆者在這裡選用eclipseme.feature_0.5.5_site.zip來為大家示範。




 


除了Eclipse與EclipseMe之外,你還需要java運行環境和一些手機模擬器來完成安裝。以下列出了完成本文的工具列表以及參考下載地址(按安裝順序):



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



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



2.Eclipse 3.0.X 語言套件  http://www.eclipse.org/downloads/index.php



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



4.Sun 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將首先完成第一次啟動配置,包括相應的漢化工作。指定你的工作空間就可以了。










 


歡迎介面之後,就是Eclipse漂亮的工作介面!








 



 


2. EclipseMe外掛程式安裝



在Eclipse中選擇“協助 / 軟體更新 / 尋找並更新”,在彈出對話方塊中選擇“搜尋要安裝的新功能組件”,在“建立已歸檔網站”的彈出框中,指定EclipseMe壓縮檔eclipseme.feature_0.5.5_site.zip。








 


點擊確定後可以看到Eclipse已經搜尋到了相應的外掛程式。









選中EclipseMe的複選框,接受協議,忽略功能組件驗證,最後重新啟動控制台,EclipseMe外掛程式就已經順利的安裝好了。












 























 


為了驗證EclipseMe確實已經安裝上了,我們在工作台重啟之後,開啟“視窗 / 喜好設定”中,我們可以看到一個J2ME選項,這時,Eclipse移動開發的第一步,我們已經成功的邁出了!




 


注意:安裝好EclipseMe之後,我們要對原有的Eclipse配置做一點小小的改動。由於移動開發時我們需要首先啟動手機模擬器,那麼在Debug模式的Eclipse預設設定不等到模擬器啟動就會失敗。



修改這點很簡單,在喜好設定的“java / 調試”中,把預設設定更改為如下圖所示,偵錯模式就可以順利的啟動了。










 








3. 載入廠商模擬器



EclipseMe為我們提供了一個整合式開發環境,但僅僅這些是不夠的,我們還需要一種或多種手機模擬器作為程式啟動並執行實際載體。目前,各大手機廠商都擁有多種型號的手機模擬器,Sun也提供了一種通用模擬器。這裡我們採用Sun WTK和Nokia Developer's Suite 兩種來為大家示範。




 


Sun wtk v2.2



Wtk(Wireless toolkit)是Sun為無線開發人員提供的一個無線開發實用包。它擁有多個手機模擬器,我們在這裡將WTK綁定到Eclipse,這將大大提高開發人員的工作效率。



當然首先,我們得安裝WTK。安裝過程也很簡單,系統會自動檢測到當前JDK所在路徑,引用該JDK。



下面我將WTK綁定到Eclipse。



找到路徑“視窗 / 喜好設定/ J2ME / Platform Component”,按右鍵對話方塊右側的wireless toolkit,我們可以添加當前系統已有模擬器。在單擊“瀏覽”按鈕之後,我們選定WTK的安裝目錄。









EclipseMe會自動分析出當前模擬器類型,並顯示出來。









確認之後,我們發現Platform Component一欄上添加了關於WTK的許多配置資訊,此時,WTK已經被我們整合到EclipseMe上了。










 


Nokia Developer's 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論壇的使用者名稱和安裝序號。









第一次安裝沒有序號也不用擔心,輸入一欄中什麼都不用填直接忽略過去,Developer's Suite會讓你選擇一種代理連網模式(如果沒有用Proxy 伺服器上網就選擇no proxy),然後要求你輸入你在Nokia論壇的使用者名稱和密碼進行註冊。註冊成功之後,使用者名稱對應的序號就會被發送到你的郵箱中,查收一下,就可以繼續了!(有的時候Nokia發送序號的行為會很慢,沒辦法,只有等等了J)。




 







 







 


當我們完成認證之後,會發現Developer's Suite 2.2提供了多種安裝方式,包括獨立安裝或者直接與Eclipse整合。




 







 


如果選擇了與Eclipse整合,那我們就要提供當前Eclipse的安裝目錄。










 


如果你選擇了獨立安裝,在重啟系統之後,我們以與添加Sun WTK相同的方法,在“喜好設定 / J2ME / Platform Components”中選中Developer's Suite的安裝目錄,確定之後可以看到,Wireless Toolkits中除了WTK,Nokia Developer Suit也被列在其中了!










 


現在,我們終於可以用Eclipse開發第一個J2ME程式了!J




 



 


第三節    使用Eclipse進行無線開發



1.       建立工程



在完成了環境搭建後,我們就可以在Eclipse中用我們所熟悉的方式開發無線應用程式。下面讓我們完成一個經典Hello World程式,這裡,我們選擇使用Sun WTK 2.2作為運行模擬器。



    在Eclipse工作台上的建立選項中,選擇J2ME Midlet Suite,首先建立一個MIDP Suit。









在下一步中,我們可以看到有多種模擬器裝置可供選擇,選定“J2ME Wireless Toolkit 2.2 MIDP 2.0 Platform”後,繼續下一步,直至完成。









    此時,在包資源管理員中,Hello World套件項目已經被建立起來,我們注意到,Eclipse為我們自動綁定了J2ME library運行庫,並建立了jad等設定檔。



   




 


2.      建立MIDlet檔案



    完成項目建立後,讓我來建立一個MIDlet類檔案,它是整個套件的入口檔案。也是Hello World的關鍵類。





   



    選擇J2ME Midlet之後,我們可以看到系統自動繼承了MIDlet超類,請確保三個預設方法複選框被選中,輸入類名,完成建立。



   



    開啟剛剛建立的Hello World,我們發現Eclipse已經自動幫我們產生了程式主體,繼承方法以及一些注釋。



   



如此之多的重複工作已經被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項目上單擊右鍵,選擇“運行…”,



   




 


    在彈出對話方塊中,在Wireless Toolkit Emulator中建立一個配置,指定剛剛Hello World為入口檔案,應用設定,最後運行。



   




 


可以看到,Eclipse自動啟動了WTK的模擬器,顯示出了Hello World的歡迎介面!










 


2. 打包與混淆



打包,就是為套件產生jar檔案,用來發布項目。按右鍵目標項目,可以在J2ME選項中選定Create Package,產生jar包。










 


混淆,就是為了保護著作權,增加別人反編譯閱讀原始碼的難度;同時可以減少jar包的體積。在J2ME選項中也能夠找到建立混淆包的選項。但首先,需要首先指定當前系統中混淆器的安裝位置。



我們這裡採用了開源免費的Proguard3.0.1作為混淆器。在“喜好設定 / J2ME / packaging / obfuscation”中,通過瀏覽指定Proguard3.0.1的安裝(解壓)路徑。










 


應用儲存設定之後,就可以成功的建立混淆包了。




 


注意:



很多初次使用的朋友會發現即便指定路徑之後,依然不能順利建立混淆,並且往往得到類似下面的警告資訊。










 


出現這個錯誤的原因與JDK路徑有關。我們在安裝了JDK之後(以1.4.2為例),系統內容變數中存在兩種JDK,一種是JDK SDK,一種是運行時環境(runtime)。Eclipse在解壓安裝時選擇的是後者,而啟動Proguard3.0.1需要的是前者。



修複這個問題很簡單,在“喜好設定 / java / 已安裝的JRE”中把你的JRE從指向運行時更改為指向SDK(即JDK的安裝目錄)










 










此時JRE將擁有完整JDK庫檔案,再次運行建立混淆,我們會發現在Hello World子目錄deployed中包括了HelloWorld.jar,HelloWorld_base.jar, HelloWorld_base_obf.jar。他們分別是混淆後,混淆前等不同版本的jar包。




 



 



 



 



 



相關文章

Cloud Intelligence Leading the Digital Future

Alibaba Cloud ACtivate Online Conference, Nov. 20th & 21st, 2019 (UTC+08)

Register Now >

Starter Package

SSD Cloud server and data transfer for only $2.50 a month

Get Started >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。