好男人天堂网,久久精品国产这里是免费,国产精品成人一区二区,男人天堂网2021,男人的天堂在线观看,丁香六月综合激情

當前位置:首頁 > 網站舊欄目 > 學習園地 > 設計軟件教程 > 用一個簡單的例子來看MIDlet的生命周期原文

用一個簡單的例子來看MIDlet的生命周期原文
2010-01-13 23:30:05  作者:  來源:

用一個簡單的例子來看MIDlet 的生命周期

想來估計也沒有比網上教程說的更清楚了,我這里摘錄的只是文字,從www.j2medev.com來獲取,更詳細的資料可以到www.j2medev.com上查看。我將會以一個例子跟查看官方的源代碼來分析它們。

理解J2ME 的體系結構并不像想象的那么容易,我們覺得讀更多的資料幫助也不大,我們

直接邁向J2ME 開發也許會對你理解J2ME 平臺體系結構這個重要的概念有所幫助。在MIDP

中定義了一種新的應用程序模型MIDlet,它是被Application Management Software(AMS)管理

的。AMS 負責MIDlet 的安裝、下載、運行和刪除等操作。在被AMS 管理的同時,MIDlet 可

以和應用管理軟件通信通知應用管理軟件自己狀態的變化,通常是通過方法notifyDestroyed()

和notifyPaused()實現的

MIDlet 有三個狀態,分別是pause、active 和destroyed。在啟動一個MIDlet 的時候,應用

管理軟件會首先創建一個MIDlet 實例并使得他處于pause 狀態,當startApp()方法被調用的時候

MIDlet 進入active 狀態,也就是所說的運行狀態。在active 狀態調用destroyApp(boolean

第1 章 J2ME 技術概述

4

unconditional)或者pauseApp()方法可以使得MIDlet 進入destroyed 或者pause 狀態。值得一提的

是destroyApp(boolean unconditional)方法,事實上,當destroyApp()方法被調用的時候,AMS 通

知MIDlet 進入destroyed 狀態。在destroyed 狀態的MIDlet 必須釋放了所有的資源,并且保存了

數據。如果unconditional 為false 的時候, MIDlet 可以在接到通知后拋出

MIDletStateChangeException 而保持在當前狀態,如果設置為true 的話,則必須立即進入destroyed

狀態。下圖說明了MIDlet 狀態改變情況:

<!--[if !vml]--><!--[endif]-->

 


看看我那個簡單的例子
public class HelloWorld extends MIDlet ......{

    public HelloWorld() ......{ 
        System.out.println("這個是程序的構造函數,程序運行的時候首先調用這個");
    }

    protected void destroyApp(boolean unconditional)
            throws MIDletStateChangeException ......{
        System.out.println("這個是程序的destroyed事件,當您按下退出時調用");
    }

    protected void pauseApp() ......{
        System.out.println("這個是程序的pause事件,當您按下暫停的時調用");

    }

    protected void startApp() throws MIDletStateChangeException ......{
        System.out.println("這個是程序的active事件,程序啟動時候調用");

    }

}

大家可以運行程序中看到這個程序的運行先后順些;旧暇兔靼琢顺绦虻恼{用機制了。
現在大家思考下,j2me的MIDlet是怎么樣運行的呢?sun在里面進行了什么樣子的限制與手腳呢?
一般的應用程序都有個main入門。這里沒有,為什么呢?
我想這個就是ASM的作用了,sun在后臺做了很多處理,比如包括,啟動容器,啟動MIDlet相關的資源等等。

public static void main(String args[]) ...{
        CommandState state = new CommandState();

    /**//*
     * pass resource strings down to the native system menu and
     * popup choice group methods...
     */
    initSystemLabels();

        /**//*
         * We will try to handle any printing at this level, because
         * displaying JAM command line errors is device specific.
         */
        try ...{
            initializeInternalSecurity();

        /**//* Start a inbound connection watcher thread. */
        new Thread(new PushRegistryImpl()).start();

            restoreCommandState(state);

            // handle any development machine only functions at this level
            switch (state.nextCommand) ...{
            case CommandProcessor.RUN_CLASS:
                runLocalClass(state);
                state.nextCommand = CommandProcessor.EXIT;
                break;

            case CommandProcessor.MANAGE:
                manage(state);
                break;

            case CommandProcessor.LIST:
            case CommandProcessor.STORAGE_NAMES:
                list(state);
                state.nextCommand = CommandProcessor.EXIT;
                break;

            case CommandProcessor.REMOVE:
                if (DEV_STORAGE_NAME.equals(state.suiteStorageName)) ...{
                    removeDevStorage(state);
                    state.nextCommand = CommandProcessor.EXIT;
                    break;
                }

                // fall through
            default:
                CommandProcessor.perform(state);
                if (state.status == CommandProcessor.MIDLET_SUITE_NOT_FOUND) ...{
                    System.out.println("The MIDlet suite was not found.");
                } else if (state.initialCommand == CommandProcessor.INSTALL &&
                        state.status == CommandProcessor.OK) ...{
                    System.out.println("Storage name: " +
                                       state.suiteStorageName);
                }
            }
        } catch (InvalidJadException ije) ...{
            System.out.println("** Error installing suite (" +
                               ije.getReason() + "): " + 
                               messageForInvalidJadException(ije));
        } catch (IOException ioe) ...{
            System.out.println("** Error installing suite: " +
                               ioe.getMessage());
        } catch (ClassNotFoundException ex) ...{
            if (state.initialCommand == CommandProcessor.MANAGE) ...{

              state.runExceptionMessage =
                    Resource.getString("The application cannot be launched. " +
                    "One of the application classes appears to be missing. " +
                    "This could be due to a mis-named class. Contact the " +
                    "application provider to resolve the issue.");
            } else ...{
                System.out.println("MIDlet class(s) not found: " + 
                                   ex.getMessage());
            }
        } catch (InstantiationException ex) ...{
            if (state.initialCommand == CommandProcessor.MANAGE) ...{
               state.runExceptionMessage = Resource.getString(
                   "The application cannot be launched. The application " +
                   "may have done an illegal operation. Contact the " +
                   "application provider to resolve the issue.") + " " +
                   ex.getMessage();
            } else ...{
                System.out.println(
                    "MIDlet instance(s) could not be created: " + 
                                 ex.getMessage());
            }
        } catch (IllegalAccessException ex) ...{
            if (state.initialCommand == CommandProcessor.MANAGE) ...{
                state.runExceptionMessage = Resource.getString(
                   "The application cannot be launched. The application " +
                   "may have done an illegal operation. Contact the " +
                   "application provider to resolve the issue.") + " " +
                   ex.getMessage();
            } else ...{
                System.out.println(
                    "MIDlet class(s) could not be accessed: " + 
                    ex.getMessage());
            }
        } catch (OutOfMemoryError ex) ...{
            if (state.initialCommand == CommandProcessor.MANAGE) ...{
                state.runExceptionMessage = Resource.getString(
                    "The application has unexpectedly quit because it ran " +
                    "out of memory.");
            } else ...{
                System.out.println("The MIDlet has run out of memory");
   &nb

安徽新華電腦學校專業職業規劃師為你提供更多幫助【在線咨詢
亚洲 欧美 91| 国产一区二区精品久| 久久精品大片| 在线观看成人网 | 日韩中文字幕在线播放| 日韩在线观看视频免费| 久草免费在线观看| 国产视频在线免费观看| 青青久热| 美国一区二区三区| 国产高清在线精品一区二区| 国产亚洲精品aaa大片| 成人高清视频在线观看| 美女免费精品高清毛片在线视| 精品美女| 日韩在线观看视频网站| 成人影院一区二区三区| 日日日夜夜操| 欧美电影免费看大全| 日日夜人人澡人人澡人人看免| 国产综合91天堂亚洲国产| 日本伦理黄色大片在线观看网站| a级黄色毛片免费播放视频| 国产亚洲精品aaa大片| 日韩在线观看视频免费| 国产激情一区二区三区| 国产成人精品在线| 麻豆午夜视频| 精品国产一区二区三区久| 国产美女在线观看| 精品国产一区二区三区国产馆| 成人免费观看男女羞羞视频| 国产一区二区精品久久91| 91麻豆国产福利精品| 亚洲精品久久玖玖玖玖| 韩国妈妈的朋友在线播放| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 日韩中文字幕在线亚洲一区| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 黄色福利片| 91麻豆国产福利精品| 国产韩国精品一区二区三区| 国产视频一区二区在线播放| 日韩专区亚洲综合久久| 日本特黄一级| 青青青草视频在线观看| 精品视频在线看| 青草国产在线| 欧美国产日韩精品| 黄视频网站在线看| 毛片成人永久免费视频| 欧美激情一区二区三区在线| 91麻豆国产| 可以免费看毛片的网站| 四虎久久精品国产| 日日夜夜婷婷| 国产一区精品| 999久久狠狠免费精品| 国产不卡在线看| 一级片片| 一本高清在线| 99久久精品国产片| 一本伊大人香蕉高清在线观看| 亚洲爆爽| 午夜激情视频在线播放| 九九精品久久| 久久精品大片| 国产亚洲免费观看| 你懂的在线观看视频| 亚洲天堂免费观看| 国产精品123| 天堂网中文字幕| 日韩中文字幕一区| 成人影院久久久久久影院| 可以免费在线看黄的网站| 高清一级做a爱过程不卡视频| 国产成人欧美一区二区三区的| 91麻豆精品国产片在线观看| 国产视频网站在线观看| 亚洲 欧美 91| 精品视频一区二区三区| 青草国产在线| 麻豆系列国产剧在线观看| 免费国产在线视频| 免费一级生活片| 亚洲精品久久玖玖玖玖| 亚洲第一色在线| 日韩一级精品视频在线观看| 欧美爱色| 国产网站免费| 日韩男人天堂| 青草国产在线| 亚洲精品久久玖玖玖玖| 一本高清在线| 麻豆系列 在线视频| 色综合久久天天综线观看| 台湾美女古装一级毛片| 一级女性大黄生活片免费| 精品国产三级a∨在线观看| 欧美激情一区二区三区在线播放| 一级女性全黄久久生活片| 国产精品12| 午夜在线观看视频免费 成人| 久久久久久久免费视频| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 成人高清视频在线观看| 精品视频免费看| 久草免费资源| 国产一区二区福利久久| 日本免费乱理伦片在线观看2018| 欧美日本韩国| 国产成人精品综合在线| 国产一区免费观看| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 欧美另类videosbestsex高清| 日本免费乱理伦片在线观看2018| 日韩免费在线观看视频| 日韩中文字幕在线播放| 亚州视频一区二区| 色综合久久久久综合体桃花网| 91麻豆精品国产自产在线| 免费一级片在线观看| 韩国毛片免费| 你懂的福利视频| 国产视频一区二区在线播放| 国产精品1024永久免费视频 | 国产一区二区精品| 久久99中文字幕| 四虎影视久久久| 香蕉视频久久| 国产视频网站在线观看| 香蕉视频三级| 欧美另类videosbestsex高清| 国产亚洲精品aaa大片| 精品视频一区二区三区免费| 亚飞与亚基在线观看| 国产精品123| 国产一区二区精品久久| 国产亚洲免费观看| 一本高清在线| 久久精品欧美一区二区| 日韩在线观看视频免费| 精品国产一区二区三区免费| 久久精品欧美一区二区| 韩国三级香港三级日本三级| 97视频免费在线| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 欧美日本免费| 精品久久久久久中文字幕2017| 成人免费观看视频| 中文字幕97| 成人影视在线播放| 你懂的日韩| 韩国三级视频在线观看| 日韩一级黄色片| 成人免费观看视频| 欧美激情一区二区三区中文字幕| 午夜激情视频在线观看| 久久国产影院| 成人影院一区二区三区| 国产一区精品| 尤物视频网站在线| 国产极品精频在线观看| 午夜欧美成人久久久久久| 久久国产精品自由自在| 国产精品123| 久久久久久久网| 国产一区二区福利久久| 精品久久久久久综合网| 国产麻豆精品hdvideoss| 久久国产精品自线拍免费| 亚洲天堂免费观看| 国产视频在线免费观看| 91麻豆爱豆果冻天美星空| 精品久久久久久影院免费| 91麻豆精品国产高清在线| 日韩av东京社区男人的天堂| 亚洲天堂免费| 一级女性大黄生活片免费| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 日韩在线观看视频黄| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 精品国产香蕉在线播出| 日日日夜夜操| 国产亚洲精品aaa大片| 日日夜人人澡人人澡人人看免| 日本免费区| 99热精品在线| 国产激情一区二区三区| 国产一区免费观看| 日本在线不卡视频| 精品在线观看国产| 日韩一级黄色片| 成人免费观看网欧美片| 日韩在线观看视频网站| 韩国毛片免费大片| a级毛片免费观看网站| 青青久久精品| 精品久久久久久综合网| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 |