国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
j2me中的MIDlet類說明

在J2ME編程過程中,MIDlet是最核心的類之一,熟悉該類的使用是J2ME學習過程中必須首先掌握的類,下面就結(jié)合實際介紹一下該類的實際使用。

眾所周知,J2ME程序都是從MIDlet類開始執(zhí)行,系統(tǒng)規(guī)定了MIDlet的生命周期。規(guī)定MIDlet程序有三種狀態(tài):

1、 暫停狀態(tài)

2、 運行狀態(tài)

3、 銷毀狀態(tài)

系統(tǒng)在執(zhí)行MIDlet程序時,首先構(gòu)造一個MIDlet類型的對象,然后使程序進入到暫停狀態(tài),按照生命周期的規(guī)定,系統(tǒng)會自動調(diào)用MIDlet對象的startApp方法使程序進入到運行狀態(tài),開始程序的執(zhí)行。如果在創(chuàng)建MIDlet對象的過程中,或者是調(diào)用startApp的方法中發(fā)生了異常,則系統(tǒng)會自動調(diào)用MIDlet對象的destroyApp方法進行到銷毀狀態(tài),也就是使程序退出。

所以生命周期中的第一個需要注意的地方就是熟悉在以上狀態(tài)轉(zhuǎn)換過程中,系統(tǒng)會自動調(diào)用的方法,然后在實際編寫MIDlet類的時候,在這些方法中書寫合適的代碼,這樣就可以在系統(tǒng)規(guī)定的狀態(tài)轉(zhuǎn)換時,自動調(diào)用這些方法。

另外一個需要說明的狀態(tài)是暫停狀態(tài),系統(tǒng)在程序運行過程中,如果手機有來電,則系統(tǒng)會自動的使MIDlet程序進行到暫停狀態(tài),在進入到暫停狀態(tài)以前,系統(tǒng)會自動調(diào)用MIDlet對象的pauseApp方法。當電話接聽完畢以后,系統(tǒng)會自動使 MIDlet程序進行到運行狀態(tài),在進入到運行狀態(tài)以前,系統(tǒng)還會自動調(diào)用startApp方法使系統(tǒng)進入到運行狀態(tài)。

對于上面的內(nèi)容做一個簡單的總結(jié):

1、 startApp方法

在系統(tǒng)第一次運行的時候,系統(tǒng)會自動調(diào)用該方法使系統(tǒng)進入到運行狀態(tài)。

當系統(tǒng)從暫停狀態(tài)切換到運行狀態(tài)以前,系統(tǒng)也會自動調(diào)用該方法。

2、 pauseApp方法

當系統(tǒng)從運行狀態(tài)切換到暫停狀態(tài)以前,會自動調(diào)用該方法。

3、 destroyApp方法

當系統(tǒng)發(fā)生異常退出程序以前,會自動調(diào)用該方法。該方法有一個boolean類型的參數(shù),如果該參數(shù)為true則代表該方法必須清理和釋放資源,如果為false可以拋出一個MIDletStateChangeException異常來表明它不想立即退出。

熟悉了這幾個方法的使用以后,可以實現(xiàn)很多實用的功能,下面介紹兩個實際功能的實現(xiàn):

1、 實現(xiàn)來電話時暫停的功能

在實際的MIDlet編程中,必須實現(xiàn)手機來電時暫停程序的功能,如果有線程時,還需要把線程停止掉,然后當電話結(jié)束以后,重新顯示界面,并重新啟動線程。

startApp方法的具體的實現(xiàn)代碼框架如下:

public void startApp() {    //獲得當前顯示的界面    Displayable curr = display.getCurrent();    //判斷是否是第一次運行    if (curr == null) {        //顯示第一個界面,例如logo界面    } else {        //顯示來電以前的界面        display.setCurrent(curr);        //如果需要,還可以啟動線程    }}

如果游戲界面中有線程,則需要在來電時暫停線程,而pauseApp在暫停以前會被系統(tǒng)調(diào)用,所以可以在pauseApp方法中實現(xiàn)該功能。pauseApp方法的實現(xiàn)代碼框架如下:

public void pauseApp() {    //獲得當前顯示的界面    Displayable curr = display.getCurrent();    //判斷是否是游戲界面    if (curr instanceof GameCanvas) {        //停止線程    }}

      2、 實現(xiàn)按掛機時清理的功能

熟悉MIDlet編程的人都知道,在程序運行過程中按掛機鍵,可以使MIDlet程序退出,在低級用戶界面編程中,可以在keyPressed方法中捕獲該事件,但是卻無法處理,因為捕獲以后,程序就直接退出了。

如果游戲中有背景音樂等,則當按掛機鍵直接退出的時候,音樂還會存在,這樣就會造成很多的問題。但是按掛機鍵以后,在程序退出以前,系統(tǒng)會自動調(diào)用destroyApp方法,所以可以把最后處理的代碼放置在destroyApp方法中。

下面接著來看一下另一組方法,來繼續(xù)熟悉MIDlet類的使用:

1、 notifyPaused

使程序進入暫停狀態(tài)

2、 notifyDestroyed

是程序進入到銷毀狀態(tài)。

以上兩個方法和上面的三個方法不同,上面的三個方法是在狀態(tài)切換過程中,會自動被系統(tǒng)調(diào)用。而這兩個方法不會被系統(tǒng)自動調(diào)用,但是程序員在實際編程過程中可以手動調(diào)用這兩個方法,使程序進入指定的狀態(tài)。

比如如果想實現(xiàn)程序退出的功能,就只需要使MIDlet程序進入到銷毀狀態(tài)即可,也就是只需要手動調(diào)用notifyDestroyed方法即可。

上面是MIDlet類中最主要的兩組方法,下面分MIDP1.0和MIDP2.0來分別介紹剩下的方法的作用。首先看一下MIDP1.0中的兩個方法:

1、 getAppProperty

獲得jad文件和manifest文件中屬性的值,如果一個屬性在以上兩個文件中都包含,則以jad文件中的屬性值為準。

2、 resumeRequest

系統(tǒng)通過調(diào)用該軟件來判斷是否需要使該MIDlet進入運行狀態(tài)。如果需要進入運行狀態(tài),則系統(tǒng)會自動調(diào)用startApp方法。

在MIDP2.0中,MIDlet類中新增了兩個方法,下面介紹一下這兩個方法的作用,依次是:

1、 checkPermission

該方法是MIDP2.0的安全許可機制,在程序的實際使用過程中,可以通過該方法來檢查MIDlet是否允許特定的操作,例如聯(lián)網(wǎng)、發(fā)送短信息等等。

如果不允許該操作則返回0,允許返回1,未定義則返回-1。

2、 platformRequest

使用該方法可以訪問某些系統(tǒng)功能,例如通用的功能主要有兩種

使系統(tǒng)打開瀏覽器訪問某個特定的網(wǎng)址:

platformRequest(“http://wap.sina.com.cn”);

這個功能可以實現(xiàn)用來實現(xiàn)提示用戶下載新的程序版本等功能。

使手機撥打特定的電話號碼:

paltformRequest(“tel:1860”);

則系統(tǒng)會自動利用手機來撥打1860。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
【課程教案】第5章創(chuàng)建簡單的JavaME應(yīng)用
J2ME(CLDC/MIDP)簡介
J2ME學習札記
J2me和安卓有什么區(qū)別
J2ME程序開發(fā)全方位基礎(chǔ)講解匯總
J2ME內(nèi)存占用詳解及優(yōu)化方法
更多類似文章 >>
生活服務(wù)
分享 收藏 導長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服