j2me入門續-Nokia S60平臺開發MIDlet的完整過程

本文試圖利用前一篇j2me入門中部署的環境,採用eclipse+carbide.j+S60 SDK for java
 
開發一個在Nokia S60平臺上運行的示例程序,併發布在tomcat中,通過OTA技術來下載和運行。
 
(1)在eclipse中創建java項目,選擇MIDP Project(Nokia SDK plug-in)。
 
(2)新建一個MyHelloMIDlet.java、如下:
 
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
 
public class HelloWorldPlusMIDlet extends MIDlet {
 
    private TextScreen textScreen;
    private TextEditor textEditor;
    private Display display;
 
    public void startApp() {
       if (display == null) {
            display=Display.getDisplay(this);
            textScreen = new TextScreen(this, "First Midlet");
            display.setCurrent(textScreen);
    }
 
    public void pauseApp() {
    }
 
    public void destroyApp(boolean unconditional) {
    }
 
    public void exitRequested(){
        destroyApp(false);
        notifyDestroyed();
    }
 
    public void textEditorDone(String string) {
        if (string != null) {
             textScreen.setCurrentText(string);
        }
        display.setCurrent(textScreen);
    }
 
    public void textEditorRequested() {
        String currentText = textScreen.getCurrentText();
        if (textEditor == null) {
                textEditor = new TextEditor(this, currentText);
        
        } else {
               textEditor.setText(currentText);
        }
        display.setCurrent(textEditor);
    }
}
 
(3)新建文件TextScreen.java和TextEditor.java,從Nokia SDK的S60 examples裏有個例子
 
HelloWorldPlus裏面有這樣兩個例子,稍微改動以下就行了。
 
(4)因爲項目默認生成一個ant文件,我們這裏就採用build.xml文件,改動一下就行了。
 
改動處如下:
 
//改成MyHelloMidlet,注意這裏一定要與Midlet類名一致,否則jad找不到執行的Midlet類
<property name="application" value="MyHelloMIDlet" />
//改成包名,此處沒有使用包
<property name="package.dir.dot" value="yfhuang." />
//改成包的完整路徑,此處沒有使用包,所以....
<property name="package.dir.slash" value="yfhuang/" />
 
<target name="run_with_jad" depends="package">
  <antcall target="internal_run">
//此處一定要改爲S60Emulator,否則ant會運行報錯
   <param name="device" value="S60Emulator" />
  </antcall>
</target>
 
如果沒有真正的S60設備,註釋掉以下行
<!--property name="ndsj2me.device" value="S60 3rd Edition FP1 SDK for MIDP" /-->
 
(5) 運行ant 任務run_with_jad,應該可以在模擬器中看到First Midlet的內容了。
 
(6) 找到dist目錄下的jad文件和MyHelloMIDlet.jar文件,把它發佈到Tomcat中去,步驟如下:
 
    6.1 使用tomcat 5.0.16,已經默認支持jad jar wml類型
    
    6.2 拷貝dist的MyHelloMIDlet.jar和MyHelloMIDlet.jad文件到tomcat的webapps的ROOT目錄下
 
    6.3 更改MyHelloMIDlet.jad中的jar爲絕對路徑,如http://localhost/MyHelloMIDlet.jar
 
    6.3 編寫一個簡單的wml文件,放到webapps的ROOT下,文件內容如下:
 
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "_//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card title= "Welcome" id="main">
<p>Software center:</p>
<p align="left">
<a href="MyHelloMIDlet.jad">
MyHelloMIDlet</a></p>
</card>
</wml>
命名爲myhellomidlet.xml
 
   6.4 這時運行模擬器,打開URL : http://localhost/myhellomidlet.wml就會出現到MyHelloMIDlet
的鏈接,打開該鏈接發現是jad文件,就會激活應用程序管理器安裝其中指定的jar文件(因爲目前jad
已在本地,由應用程序管理器來識別,所以jad中指定的jar文件一定要用絕對路徑。)
 
   6.5 待應用程序安裝完畢後,如果用的是S60的模擬器,可以到已經安裝的應用程序(installed)
中看到MyHelloMIDlet了,運行它,就會出現First Midlet的字樣,而且是可編輯的。
 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章