亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

用J2ME MIDP開發無線應用程序

2019-11-17 06:28:21
字體:
來源:轉載
供稿:網友

  J2ME(java 2 Micro Edition)的出現把Java開發者徹底地引入了開發無線設備應用程序的廣闊天地。當然,移動設備因其功能和處理能力而多種多樣,但是,J2ME通過定義configurations和PRofiles而對這些差異性進行了邏輯抽象,然后整合兩種設置為在特定移動設備上開發應用程序提供了一套完整的平臺和API。

連接限制設備配置CLDC(Connected Limited Device Configuration)和移動信息設備設置MIDP(Mobile Information Device Profile)一道支持目前在用的大多數主流移動設備,比如PDA、手機和雙向尋呼機等。本文將通過J2ME構建一個簡單的示范應用程序向讀者介紹其基本知識。
J2ME示例程序
實際構建、安裝和運行MIDP應用程序的過程同標準Java應用程序存在很大不同。為了“公平”起見,這一問題只能留待今后的文章對其進行專門闡述了?,F在我們就來了解了解示例程序的結構。這個程序就是程序員剛入門時幾乎都要遭遇的“Hello World!”應用程序,在這里,程序名是HelloJ2ME,程序代碼見清單A。運行HelloJ2ME程序后的顯示結果見圖A。

用J2ME MIDP開發無線應用程序(圖一)


我知道,這個程序非常簡單,不過要作為一種講解新語言的入門示例也足夠了。正如你看到的那樣,HelloJ2ME擴展了MIDP基本應用程序MIDlet類并導入了兩個包名稱空間: javax.microedition.midlet和javax.microedition.lcdui。前者包括該應用程序的MIDlet基類,而后者則提供了一組類似Swing的GUI元素供給用程序使用。

MIDlet類提供了三種抽象方法供設備的應用程序治理器用來同其運行的應用程序通訊。只要應用程序被激活、構造器執行完畢之后就會立即調用startApp方法而不是在應用程序最初啟動的時候這樣做。應用程序在一次運行的過程中會在活動和不活動狀態之間多次轉變,這樣你就不必編寫單獨運行的初始化代碼了,比如初始化用戶界面的代碼等,因為這類代碼很可能會執行好多次。為此應該采用構造器來完成同一功能。

治理器指示應用程序關閉之后就會調用destroyApp方法。和startApp方法不一樣的是該方法只在應用程序生存期內調用一次,所以在這個方法內編寫清除代碼是很安全的。實際上,由于MIDP并沒有為對象包括finalize函數,所以你不得不在以上方法處執行清除功能。同時,由于典型的移動設備比通常情況下的標準平臺欠缺穩定,經常被用戶進行開關機或者復位操作。所以你也不能真正指望destroyApp派上大用場。

最后的抽象方法就是pauseApp了。該方法主要作用是發出這樣的通知:因為用戶轉換到其他應用或者采用了設備的某項功能促使應用程序不能繼續運行而暫時停止應用程序的運行。由于大多數移動設備都缺乏執行多任務的處理能力,以上的這類情況是完全可能發生的。所以在這個方法中應該編碼釋放所有資源。一旦應用程序重新開發運行則應用程序治理器會再度調用startApp方法。

同應用程序治理器的通訊

當然,通訊必須是雙向有效的,MIDP應用程序也不例外。MIDlet提供了一組方法供你用來同應用程序治理器通訊:

NotifyDestroyed告訴治理器你的應用程序要關閉了。調用該方法不會執行destroyApp方法,所以你必須手工調用它。
NotifyPaused通知治理器你的應用程序要暫停了。
ResumeRequest要求應用程序治理器重啟暫停的應用程序。
GetAppProperty從輸入或者應用程序描述文件中獲取應用程序的配置信息,這些將在以后討論?,F在我們不妨認為該方法就是訪問專有的初始化文件。
治理界面
我剛才已經提到過, javax.microedition.lcdui包包含了MIDP應用程序要采用的用戶界面元素。這個包里的大多數UI(用戶界面)元素同Swing的對等物非常相似,只是名字不同而已,其API后臺的事件系統在工作方式上也基本一樣。此外,同HelloJ2ME 程序的構造器中代碼一樣,你應該把事件偵聽器對象注冊為控件。這樣,為簡單起見,HelloJ2ME即可實現自身的commandListener接口并為其包含的唯一Command對象起到偵聽器的作用。不過,創建偵聽器類、匿名內部類和專用類的其他技術也可以實現以上目標。

GUI組件

lcdui包內基本上定義了三組GUI組件,我是根據其基類對它們分組的,它們是Screen組件、Item組件和Miscellaneous Displayable組件。

Screen組件
Screen組件派生于Screen抽象類,其作用是提供傳統的、window風格的GUI控件。HelloJ2ME程序所采用的Form對象就是Screen類的派生,其中包含和顯示GUI控件。其他Screen組件還包括Alert對話框和顯示多組選項的List以及容納多行條目的TextBox等。

Item組件
Item組件就是傳統的控件,比如“Hello World!”程序的TextField等,它們都派生于Item抽象類,后者提供了標簽、事件處理和顯示控件的統一API。ChoiceGroup、 DateField、 Gauge、 ImageItem和StringItem則是其他類型的Item組件。

Miscellaneous Displayable 組件
Miscellaneous Displayable組件都派生于高級的Displayable抽象類或者具有同其相似的工作方式。該組組件有Command命令按鈕、顯示滾動文本的Ticker以及顯示圖象的Graphics等,此外還包括操作預定義項的Choice界面等。以上這些組件無法歸于其他兩類,所以單獨組成一組歸類。

圖B所示就是這些組件的關系層次。

用J2ME MIDP開發無線應用程序(圖二)


以上的全體圖形控件都是由Display對象治理的,每一個應用程序都會訪問這一對象的單一、私有實例。該實例可以通過靜態的Display.getDisplay方法獲得,該方法通常會把指向該實例的引用保存在一個成員變量里,HelloJ2ME在其構造器中就是這樣做的。除了為特定屏幕元素設置焦點(setCurrent)和獲取元素焦點的方法(getCurrent)之外,Display還暴露了一些用于獲得設備顯示能力信息的方法,比如是否顯示彩色的(isColor)和支持顯示色彩數量的(numColors)等方法。

小結
以上內容是為移動平臺開發Java應用程序的一些基礎知識。首先,你必須處理一個簡單的類庫:沒有反射、JNI也沒有我所提到的finalization支持。其次,你必須想法克服內存的局限性,因為大多數運行MIDP profile的移動設備可用的動態內存不會超過100K。這樣,你就需要非凡在意算法對內存的利用率。最后,你還要清楚地熟悉到,任何網絡連接都會受到帶寬和環境的限制。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲a在线播放| 欧美视频免费在线观看| 91高清免费在线观看| 欧美精品福利在线| 中文日韩在线视频| 国产一区二区三区视频| 97超碰蝌蚪网人人做人人爽| 国产精品爽黄69天堂a| 亚洲尤物视频网| 日韩中文字幕不卡视频| 色诱女教师一区二区三区| 精品色蜜蜜精品视频在线观看| 亚洲一区二区免费在线| 精品无码久久久久久国产| 亚洲国产精品一区二区久| 亚洲国产精品va在线看黑人动漫| 91精品国产高清| 欧美性xxxxxxxxx| 精品中文字幕久久久久久| 国产欧美婷婷中文| 91免费看国产| 中文在线资源观看视频网站免费不卡| 成人淫片在线看| 一区二区成人精品| 亚洲一区二区在线| 黑人巨大精品欧美一区二区一视频| 亚洲a中文字幕| 日韩电影中文字幕| 欧美一级免费视频| 欧美成人精品h版在线观看| 精品中文字幕久久久久久| 5566成人精品视频免费| 国产成人久久久精品一区| 57pao成人国产永久免费| 九九热最新视频//这里只有精品| 日韩av123| 亚洲а∨天堂久久精品喷水| 欧洲美女免费图片一区| 日韩**中文字幕毛片| 成人激情视频在线播放| 久久影视电视剧免费网站清宫辞电视| 色噜噜狠狠色综合网图区| 欧美亚洲午夜视频在线观看| 青青久久aⅴ北条麻妃| 国产z一区二区三区| 97视频在线观看视频免费视频| 欧美成人精品在线观看| 欧美黄色www| 欧美成人免费小视频| 国产精品羞羞答答| 欧美日韩国产999| 国产亚洲福利一区| 欧美在线观看日本一区| 欧美日韩激情网| 欧美成人自拍视频| 欧美精品生活片| 成人xxxx视频| 亚洲精品美女网站| 三级精品视频久久久久| 亚洲最大av在线| 国产精品丝袜视频| 美女久久久久久久久久久| 青青草原成人在线视频| 国产精品高清免费在线观看| 久久精品在线播放| 日本精品va在线观看| 在线观看国产精品淫| 日本免费久久高清视频| 久久精品视频导航| 久久九九有精品国产23| 久久影视电视剧免费网站| 久久久久国产精品一区| 精品无人国产偷自产在线| 亚洲精品欧美日韩| 久久久国产91| 91精品一区二区| 久久资源免费视频| 日本免费一区二区三区视频观看| 亚洲一区二区中文字幕| 国产精品久久久91| 国产精品一区二区久久| 色系列之999| 91九色视频在线| 欧美性猛交xxxxx免费看| 日韩精品在线看| 97在线免费观看视频| 国产精品∨欧美精品v日韩精品| 色偷偷88888欧美精品久久久| 久久夜精品香蕉| 国产精品av在线播放| 91深夜福利视频| 4438全国亚洲精品在线观看视频| 日本在线观看天堂男亚洲| 亚洲国产精品va在线看黑人动漫| 国内精品一区二区三区| 欧美在线视频一二三| 日韩电视剧免费观看网站| 日韩视频一区在线| 日本午夜精品理论片a级appf发布| 欧美第一页在线| 欧美美最猛性xxxxxx| 亚洲成人久久久| 伊人亚洲福利一区二区三区| 亚洲男人的天堂在线播放| 68精品国产免费久久久久久婷婷| 欧美视频免费在线观看| 国产99久久精品一区二区永久免费| 91久久国产精品| 精品中文字幕久久久久久| 日韩精品电影网| 欧美成人激情图片网| 欧美亚洲视频在线看网址| 久久中文字幕国产| 成人国产精品一区| 久久这里只有精品99| 欧美国产日韩视频| 自拍亚洲一区欧美另类| 亚洲人成自拍网站| 欧美日韩在线视频一区| 国产午夜精品视频免费不卡69堂| 日韩www在线| 国产成人精品在线| 欧美黑人xxx| 成人性生交大片免费看小说| 久久精品国产成人| 久久久精品电影| 亚洲精品永久免费精品| 精品调教chinesegay| 91丨九色丨国产在线| 91在线观看免费高清完整版在线观看| 久久久久久欧美| 国产精品久久久久av免费| 91丨九色丨国产在线| 亚洲wwwav| 欧美大片免费看| 亚洲自拍小视频| 久久琪琪电影院| 一本色道久久综合狠狠躁篇的优点| 国产精品嫩草影院一区二区| 国产成人精品免高潮在线观看| 久久国产天堂福利天堂| 亚洲欧洲黄色网| 亚洲精品永久免费| 国产欧美精品一区二区| 日韩中文字幕欧美| 欧洲日韩成人av| 亚洲已满18点击进入在线看片| 日韩国产精品亚洲а∨天堂免| 91精品视频网站| 欧美日韩亚洲成人| 欧美日韩国产一中文字不卡| 亚洲精品国产精品自产a区红杏吧| 欧美性xxxx在线播放| 久久久亚洲影院| 亚洲美女在线视频| 国产欧美va欧美va香蕉在| 欧美猛交免费看| 欧美激情亚洲自拍| 91免费电影网站| 美女精品视频一区| 欧美俄罗斯乱妇| 最新91在线视频| 91av在线播放视频| 久久久久久高潮国产精品视|