這一篇是我在Getting started with Java ME的中文翻譯,網址在開始使用Java ME!
為了備份,並轉貼在此:
要使用你的第一個Java ME應用程式(MIDlet)在一台真正的機器上跑需要一些步驟,這個維基網頁是這些步驟的指南,因為他是針對第一次應用程式的開發,所以有些事情被簡化,更多詳細的資訊可以在別的地方找到。
Java ME是你需求的正確工具嗎?
Java ME是桌上電腦標準Java(Java SE)的有限集合,它有些其他手機相關的API,有一些限制你需要記住:
- MIDlets因為安全的因素再殺盒裡面執行。(當使用某些功能時需要確認,像連網或是發送簡訊。)
- 沒有JNI (Java原生介面)所以你不能在手機上展開Java Me環境的能力。
- 沒有Swing或AWT類別,MIDlets使用自己的(最簡單的)UI類別。
- Java ME環境的能力差異很大,因為手機有不同的API選項可以實做(例如存取檔案、存取電話簿、影音錄製、三維圖形等等。)
因此首先,開始之前別的,考慮看看Java ME 是否是你的正確選擇,或是你應該使用Flash Lite開發應用程式(可以在40及S60系列手機上執行),或者你應用Python設計程式(只能在S60用)或是原生的Symbian C++(只能在S60的手機上用),(然而,SymbianOS上原生的C++開發非常的乏味而且容易出錯,所以為了生產力的原因,Java ME可能是較好的選擇。)
假如Java ME似乎是一條要走的路,你可以在這個維基或諾基亞論壇的Java討論區裡找到很多好的資訊,另外在諾基亞的網站裡也有文件可以使用,就跟在昇陽的網站及IBM DeveloperWorks網站一樣。
開發流程概述
首先記住你必須在你開發的電腦上設計程式、編譯及佈署MIDlet,你不能在自己的手機上建立MIDlet(尚未有這個功能)。
要寫MIDlet程式碼,可以使用文字編輯器或是你喜歡的IDE (整合式開發環境),(請見下面諾基亞支援的IDE,)然後使用Java SE SDK (JDK)所附的javac編譯器編譯,這時候你甚至不需擔心你的程式,你的程式碼在這個階段會先被預審核。
在能夠安裝MIDlet到一台真正的機器之前,你仍需要封裝MIDlet類別及資源成JAR (Java的檔案文件)然後產生一個JAD (Java應用描述文件)檔,JAR檔包含所有要執行這個應用程式的程式碼,JAD檔式一個文字檔包含了關於MIDlet的描述資訊(大小、所需的 API、MIDlet名稱、廠商名稱及可簽名訊息),這可以讓手機(及使用者)可以使用來決定是否要下載這個MIDlet,你只需要安裝JAR檔到手機上 就能夠執行MIDlet;然而,強烈建議使用這兩個檔案來安裝應用程式。
在這個階段,你可以在你的開發工作站使用手機的模擬器來測試MIDlet,然後進可能的更改、然後重新編譯及封裝,當你滿意這個結果,你可以移轉產生的JAR及JAD檔到真正的手機上 、安裝應用程式然後測試。(你應該在發行之前在真正的機器上測試MIDlet。)
你也可以使用某些線上的資源在真正的機器上來測試你的應用程式,像是遠端設備存取(RDA)或是Device Anywhere。
你也應該下載其他廠商的模擬器(摩托羅拉、索尼愛立信、三星等等),然後使用它們來測試你的應用程式。
需要的硬體
因為諾基亞開發工具的需求,你開發的電腦必須是一台執行Microsoft Windows 2000 (SP 4)或Microsoft Windows XP (SP 2)的PC。
S60需要的軟體
關於S60平台的Java ME開發,需要下列的工具:
- Java SE (標準版本) Development Kit (JDK)
- 無線開發工具包
- Nokia SymbianOS/S60 SDK for Java
- 一個IDE加上Java ME的開發(諾基亞支援Eclipse + EclipseME及NetBeans + Mobility Pack)
- 說明文件
安裝這些工具的詳細資料,見安裝S60的Java ME開發工具。
S40及S80系列的模擬器及SDK
在S60開發的例子裡,使用執行Windows 2000或Windows XP的PC,及Eclipse或NetBeans的IDE,以及相關的Java ME開發外掛(EclipseME或Mobility Pack),見安裝S60的Java ME開發工具下載的位置。
設計及編譯你的第一支MIDlet程式
見Hello World in Java ME及Creating your first MIDlet using EclipseME。
典型陷阱
使用錯誤的Java編譯選項編譯Java ME程式
正確的編譯版本是1.3或1.4,使用5.0或6.0版本來邊議會不能安裝MIDlet。
用不正確的CLDC或MIDP版本編譯及封裝MIDlet
這特別在使用昇陽的無線通訊包時是真的,它預設是用MIDP 2.1建置MIDlet,然而目前大部分的手機只能用MIDP 2.0,(注意,你可以安裝手機可以支援的較舊版的CLDC/MIDP,但是你不能用較新的CLDC/MIDP版本來安裝MIDlet到手機上,檢查FN device specification pages上支援的CLDC及MIDP版本。)