真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

第九章:MIDPAPI(轉(zhuǎn))

  • 介紹

    移動(dòng)信息設(shè)備簡(jiǎn)表 (MIDP) 適合類似于蜂窩電話和尋呼機(jī)這樣的設(shè)備。MIDP,就象 KJava 一樣,同樣也建立在 CLDC 之上。MID 簡(jiǎn)表提供一種標(biāo)準(zhǔn)的運(yùn)行時(shí)環(huán)境,允許在終端用戶設(shè)備上動(dòng)態(tài)地配置新的應(yīng)用程序和服務(wù)。

    在本章中,我們將詳細(xì)地討論 MID 定義的七個(gè)軟件包。我們還將建立一個(gè) MIDP 應(yīng)用程序示例。

創(chuàng)新互聯(lián)是專業(yè)的鉛山網(wǎng)站建設(shè)公司,鉛山接單;提供成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作,網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行鉛山網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!



  • UI 設(shè)計(jì)注意事項(xiàng)

    MIDP 包括一個(gè)低級(jí)的 UI API 和一個(gè)高級(jí)的 UI API。低級(jí)的 API 允許您完全訪問(wèn)一個(gè)設(shè)備的顯示屏,也允許訪問(wèn)原始鍵和指針事件。然而,使用低級(jí) API 時(shí), 沒(méi)有可用的用戶界面控件。應(yīng)用程序必須精確地繪制出按鈕和其它所有的控件。

    相反,高級(jí) API 提供簡(jiǎn)單的用戶界面控件但不能直接訪問(wèn)原始的輸入事件或顯示屏。由于顯示屏的尺寸和 MIDP 設(shè)備輸入方法的差異,控件顯得很抽象。MIDP 的實(shí)現(xiàn)確定了繪制控件的方法,也確定了如何管理用戶輸入。

    讓我們?cè)诤竺娴恼鹿?jié)里更進(jìn)一步了解 MIDP 的軟件包和類。



  • MIDP API

    MIDP 包含四個(gè)核心 CLDC 軟件包 (java.lang、java.io、java.util 和 javax.microedition.io),另加下面的三個(gè)特定于 MIDP 的軟件包:

    ? javax.microedition.lcdui

    ? javax.microedition.midlet

    ? javax.microedition.rms

    我們將在本章的后面部分詳細(xì)介紹特定于 MIDP 軟件包。除了上面新的軟件包之外,MIDP 還向核心 CLDC 軟件包添加了四個(gè)新類,如下所示。

    ? java.util.Timer -- 用于為后臺(tái)線程中將來(lái)要執(zhí)行的任務(wù)確定時(shí)間。



    ? java.util.TimerTask -- 被 java.util.Timer 類使用,用來(lái)為后臺(tái)線程中稍后的執(zhí)行定義任務(wù)。



    ? javax.microedition.io.HttpConnection -- 一個(gè)接口,為 HTTP 連接定義必要的方法和常量。



    ? java.lang.IllegalStateException -- 一個(gè) RuntimeException, 指出在不合法或不合適的時(shí)間已經(jīng)調(diào)用的一個(gè)方法。



  • MIDlet 介紹

    MIDlet 是一個(gè) Java 類,它擴(kuò)展了 javax.microedition.midlet.MIDlet 抽象類。實(shí)現(xiàn) startApp()、pauseApp()和 destroyApp()方法,這些方法類似于 J2SE 的 java.applet.Applet 類中的 start()、stop()和 destroy()方法。

    除了擴(kuò)充 javax.microedition.midlet.MIDlet 的主 MIDlet 類之外,一個(gè) MIDP 應(yīng)用程序通常還包括其它一些類,這些類能隨它們的資源一起被打包成為 jar 文件 -- 稱之為 MIDlet 套件。一個(gè) MIDlet 套件中的不同 MIDlet 能共享 jar 文件的資源,盡管不同套件中的 MIDlets 不能直接相互作用。

    MIDlet 在應(yīng)用程序生命周期中有三種可能的存在狀態(tài) -- 運(yùn)行狀態(tài)、暫停狀態(tài)、銷毀狀態(tài)。運(yùn)行狀態(tài),正如其名稱所暗示的,意味著 MIDlet 正在運(yùn)行中。這種狀態(tài)始于 startApp 方法被調(diào)用時(shí)。在暫停狀態(tài)中,MIDlet 持有的所有資源將被釋放,但是它準(zhǔn)備著再次被運(yùn)行。調(diào)用 notifyPaused 方法時(shí),MIDlet 處于暫停狀態(tài)。在銷毀狀態(tài)中,MIDlet 已經(jīng)永久地將其自身關(guān)閉,釋放所有的資源,等待著廢物清理程序的處理。它是通過(guò) notifyDestroyed 方法來(lái)調(diào)用的。

    在接下來(lái)的兩頁(yè)中,我們來(lái)看一個(gè)簡(jiǎn)單的 HelloWorld MIDlet。



  • HelloWorld MIDlet

    與使用 KJava HelloWorld 應(yīng)用程序一樣,這個(gè) MIDlet 也會(huì)在 MIDP 設(shè)備的顯示屏上顯示 "Hello World!" 和 Exit 按鈕,按下該按鈕會(huì)終止應(yīng)用程序。

    HelloWorld.java 文件以下面的代碼行開(kāi)始,這些代碼行導(dǎo)入稍后會(huì)在 HelloWorld 類中使用的類:



    import javax.microedition.midlet.MIDlet;

    import javax.microedition.lcdui.Command;

    import javax.microedition.lcdui.CommandListener;

    import javax.microedition.lcdui.Display;

    import javax.microedition.lcdui.Displayable;

    import javax.microedition.lcdui.Form;

    由于 HelloWorld 類是一個(gè) MIDP 應(yīng)用程序,它擴(kuò)展了 MIDlet。它也實(shí)現(xiàn) CommandListener 接口來(lái)處理事件:



    public class HelloWorld extends MIDlet implements CommandListener

    下面的方法是一個(gè)缺省構(gòu)造程序,它創(chuàng)建一個(gè)新表單,在上面初始化控件,然后顯示出來(lái):



    private Form form;



    public HelloWorld()

    {

    // Create a new form on which to display our text

    form = new Form("Test App");



    // Add the text "Hello World!" to the form

    form.append("Hello World!");



    // Add a command button labeled "Exit"

    form.addCommand( new Command( "Exit", Command.EXIT, 1 ) );



    // Register this object as a commandListener

    form.setCommandListener( this );

    }

    調(diào)用 startApp() 方法啟動(dòng)應(yīng)用程序與小應(yīng)用程序的啟動(dòng)方法很象。在 MIDle 的一次執(zhí)行中它可能會(huì)被調(diào)用多次。如果 MIDlet 暫停,pauseApp() 將會(huì)被調(diào)用。要重新啟動(dòng) MIDlet,需調(diào)用 startApp()。僅須執(zhí)行一次的主初始化代碼應(yīng)該放置在構(gòu)造程序中:



    public void startApp()

    {

    // Get a reference to the display, and show the form

    Display display = Display.getDisplay(this);

    display.setCurrent( form );

    }

    pauseApp() 被調(diào)用使得 MIDlet 處于暫停狀態(tài)。在此應(yīng)用程序中,當(dāng)進(jìn)入暫停狀態(tài)時(shí),我們沒(méi)執(zhí)行任何操作;但是我們?nèi)匀恍枰?MIDlet 中實(shí)現(xiàn) pauseApp 方法,因?yàn)樗歉?MIDlet 類中的抽象方法。

    public void pauseApp() { }

    destroyApp() 被調(diào)用,破壞了 MIDlet 并使其處于銷毀狀態(tài)。在此應(yīng)用程序中,我們通過(guò)將引用設(shè)為 null,釋放了對(duì)表單的引用。

    public void destroyApp(boolean unconditional)

    {

    form = null;

    }

    commandAction() 方法是事件處理程序,被請(qǐng)求實(shí)現(xiàn) CommandListener 接口。目前,它破壞了應(yīng)用程序并通知應(yīng)用程序管理軟件 MIDlet 已經(jīng)完成。



    public void commandAction(Command c, Displayable d)

    {

    // Destroy this MIDlet

    destroyApp(true);



    // Notify the application management software that this MIDlet

    // has entered the destroyed state

    notifyDestroyed();

    }



  • MIDP 軟件包

    除標(biāo)準(zhǔn) CLDC 軟件包之外,MIDP 還包含三個(gè)附加的軟件包:

    ? javax.microedition.lcdui -- 定義用來(lái)控制 UI 的類。這個(gè)軟件包既包含高級(jí) UI 類(例如 Form、Command、DateField 和 TextField 等),又包含低級(jí) UI 類(允許用低級(jí)方式控制 UI)。



    ? javax.microedition.midlet -- 包含 MIDP 主類中的一個(gè),MIDlet 類,為 MIDP 應(yīng)用程序提供訪問(wèn)關(guān)于其運(yùn)行所在環(huán)境信息的權(quán)限。



    javax.microedition.rms -- 定義一個(gè)類的集合,這些類為 MIDlet 提供了永久存儲(chǔ)并隨后重新得到數(shù)據(jù)的機(jī)制。
[@more@]
文章題目:第九章:MIDPAPI(轉(zhuǎn))
分享網(wǎng)址:http://weahome.cn/article/jspcpe.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部