java 的時候一般都寫過如下的HelloWorld程序,今天我準備詳細講述一下 J2ME 中的HelloWorld。無論你是J2ME 開發 高手還是新手都應該讀讀這篇文章,我想它會對你有所幫助!" name="description" />

精通J2ME中的Hello World

發表于:2007-04-29來源:作者:點擊數: 標簽:Hello精通j2meworld初學
初學 java script:;" onClick="javascript:tagshow(event, 'java');" target="_self"> java 的時候一般都寫過如下的HelloWorld程序,今天我準備詳細講述一下 J2ME 中的HelloWorld。無論你是J2ME 開發 高手還是新手都應該讀讀這篇文章,我想它會對你有所幫助!

初學javascript:;" onClick="javascript:tagshow(event, 'java');" target="_self">java的時候一般都寫過如下的HelloWorld程序,今天我準備詳細講述一下J2ME中的HelloWorld。無論你是J2ME開發高手還是新手都應該讀讀這篇文章,我想它會對你有所幫助!

      在javax.microedition.midlet包中定義了一個非常重要的類MIDlet,所有J2ME的應用程序都必須擴展這個類,只有這樣才可以使得應用管理軟件(Application Management Software)管理MIDlet,包括下載、安裝和刪除。在被AMS管理的同時,MIDlet可以和應用管理軟件通信通知應用管理軟件自己狀態的變化,通常是通過方法notifyDestroyed()和notifyPaused()實現的。最后MIDlet還可以通過getAppProperty(String name)讀取在jad文件中定義的屬性值。

      MIDlet有三個狀態,分別是pause,active和destroyed。在啟動一個MIDlet的時候,應用管理軟件會首先創建一個MIDlet實例并使得他處于pause狀態,當startApp()方法被調用的時候MIDlet進入active狀態,也就是我們平時所說的運行狀態。在active狀態調用destroyApp(boolean unconditional)或者pauseApp()方法可以使得MIDlet進入destroyed或者pause狀態。值得一提的是destroyApp(boolean unconditional)方法,很多開發者對unconditional參數不是很理解,事實上,當destroyApp()方法被調用的時候,AMS通知MIDlet進入destroyed狀態。在destroyed狀態的MIDlet必須釋放了所有的資源,并且保存了數據。如果unconditional為false的時候,MIDlet可以在接到通知后拋出MIDletStateChangeException而保持在當前狀態,如果設置為true的話,則必須立即進入destroyed狀態。

      下面是根據上述問題我編寫的一個J2ME中的HelloWorld程序,他比j2se中的helloworld要復雜一點。新手可以仔細看看。
package com.j2medev.mingjava;

import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
import javax.microedition.lcdui.*;

public class HelloWorld extends MIDlet implements CommandListener
{
    private Display display;
    private Form mainForm;
    private StringItem stringItem;
    private Command exitCommand = new Command("Exit", Command.EXIT, 1);

    public static final String WEB_SITE = "WEB_SITE";

    protected void startApp() throws MIDletStateChangeException
    {

        initMIDlet();
        display.setCurrent(mainForm);

    }

    private void initMIDlet()
    {
        display = Display.getDisplay(this);
        mainForm = new Form("Hello World");
        stringItem = new StringItem(null, null);
        String text = getAppProperty(WEB_SITE);
        stringItem.setText(text);
        mainForm.append(stringItem);
        mainForm.addCommand(exitCommand);
        mainForm.setCommandListener(this);
    }

    protected void pauseApp()
    {

    }

    protected void destroyApp(boolean arg0) throws MIDletStateChangeException
    {
        System.out.println("exit the application");
    }

    public void commandAction(Command cmd, Displayable display)
    {
        if (cmd == exitCommand)
        {
            try
            {
                destroyApp(false);
                notifyDestroyed();
            } catch (MIDletStateChangeException e)
            {
                e.printStackTrace();
            }
        }
    }

}

HelloWorldMIDlet.jad文件內容如下,如果你還不是很清楚jad文件請參考MIDP中的屬性問題。尤其是當你在安裝MIDlet到手機上的時候。

MIDlet-Jar-Size: 2128
MIDlet-1: HelloWorld,/icon.png,com.j2medev.mingjava.HelloWorld
MIDlet-Jar-URL: HelloWorldMIDlet.jar
MicroEdition-Configuration: CLDC-1.0
MIDlet-Version: 1.0.0
MIDlet-Name: HelloWorldMIDlet
MIDlet-Vendor: www.j2medev.com
MicroEdition-Profile: MIDP-1.0
WEB_SITE: www.j2medev.com



TAG: J2ME

原文轉自:http://www.anti-gravitydesign.com

評論列表(網友評論僅供網友表達個人看法,并不表明本站同意其觀點或證實其描述)
...

熱門標簽

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97