J2ME入門(mén) 概念
?????????J2ME(Java 2 Micro Edition),是SUN公司推出的在移動(dòng)設(shè)備上運(yùn)行的微型版Java平臺(tái),目前最常見(jiàn)的移動(dòng)設(shè)備包括智能手機(jī),掌上數(shù)據(jù)助理(PDA),以及各類(lèi)信息終端等等。
由于移動(dòng)終端的種類(lèi)繁多,而且不同設(shè)備的運(yùn)算能力存在很大的差異,不像在Windows,Linux和Unix桌面系統(tǒng)中,只需使用相應(yīng)的JVM虛擬機(jī)即可運(yùn)行可移植性的JAVA程序,所以J2ME并不單是一個(gè)簡(jiǎn)單的微型版的虛擬機(jī)JVM。在實(shí)際中,為了能滿足各種各樣的微型移動(dòng)設(shè)備上的環(huán)境需求,SUN公司定義了一系列的針對(duì)不同類(lèi)型設(shè)備的規(guī)范,因此,J2ME平臺(tái)即是一個(gè)規(guī)范的集合。
目前最重要的移動(dòng)終端就是移動(dòng)手機(jī),本文主要來(lái)討論一下移動(dòng)手機(jī)相關(guān)的J2ME規(guī)范。
一、Configuration
什么叫Configuration?SUN公司按照不同的設(shè)備,根據(jù)他們的計(jì)算能力分為CLDC(Connected Limited Device Configuration)和CDC(Connected Device Configuration)兩種類(lèi)型,而這兩種Configuration都是分別針對(duì)設(shè)備的軟硬件環(huán)境而定義的,例如CLDC1.0版本即定義了設(shè)備的內(nèi)存大小為64-512k之間,如果設(shè)備支持CLDC1.0,那么它就必須嚴(yán)格滿足CLDC1.0中的定義。
CLDC1.0規(guī)范只是針對(duì)運(yùn)算能力非常小的移動(dòng)設(shè)備而定義出來(lái)的,一次該規(guī)范只支持做整數(shù)運(yùn)算,而無(wú)法支持做浮點(diǎn)數(shù)的運(yùn)算,在早期的大部分Java手機(jī)都只能支持CLDC1.0。
與CLDC1.0不同的是,CLDC1.1增加了浮點(diǎn)數(shù)字運(yùn)算能力,在任何支持CLDC1.1的移動(dòng)設(shè)備上,都可以使用float和double類(lèi)型的浮點(diǎn)數(shù)變量。目前的很多Java手機(jī)都能支持CLDC1.1。
另一種規(guī)范是CDC,CDC是針對(duì)相對(duì)擁有比較強(qiáng)的運(yùn)算能力的移動(dòng)設(shè)備而定義的,如PPC等,在CDC平臺(tái)中的虛擬機(jī)JVM可以基本上和一般桌面系統(tǒng)中的JVM很接近了,但是可以使用的Package任然大大少于J2SE中的包,支持CDC的高端Java手機(jī)已經(jīng)陸續(xù)出現(xiàn)。
二、Profile
與Configuration不同的是,Profile主要是針對(duì)軟件接口而定義的,Profile有必須實(shí)現(xiàn)的,也有可選的功能,所以Profile在某種意義上更加靈活。
在Profile規(guī)范中最重要的是MIDP(Micro Information Device Profile),MIDP是一套定義了能在Java手機(jī)上運(yùn)行的Java程序規(guī)范集合,它不僅定義了包括應(yīng)用程序生命周期,定義了手機(jī)中多種UI界面組件,而且還定義了支持手機(jī)Record存儲(chǔ)和網(wǎng)絡(luò)Http連接等規(guī)范,所有符合MIDP規(guī)范的Java程序都被稱為MIDlet,MIDlet程序可以通過(guò)網(wǎng)絡(luò)直接下載到手機(jī)中并運(yùn)行。
????????相對(duì)于早期的MIDP1.0規(guī)范來(lái)說(shuō),MIDP1.0能使我們?cè)谑謾C(jī)上運(yùn)行有手機(jī)UI界面的Java程序,但是MIDP1.0在手機(jī)游戲方面對(duì)游戲的支持還是不夠,在開(kāi)發(fā)過(guò)程中必須實(shí)現(xiàn)許多代碼才能完成簡(jiǎn)單的程序,所以MIDP2.0規(guī)范的出現(xiàn)很大程度上加強(qiáng)了對(duì)手機(jī)游戲開(kāi)發(fā)的支持,從而使得開(kāi)發(fā)者能在創(chuàng)建游戲的過(guò)程中編寫(xiě)更少的代碼量。
目前MIDP規(guī)范的圖形界面UI都是獨(dú)立于J2SE平臺(tái)中的AWT組件和Swing組件,因?yàn)槟壳笆謾C(jī)的運(yùn)算能力還是比較有限的,隨著手機(jī)的CPU運(yùn)算速度的越來(lái)越快,使得J2SE中的AWT和Swing移植到手機(jī)上將成為可能。目前,基于CDC規(guī)范的最新PBP 1.0(Personal Basic Profile)和PP 1.0(Personal Profile)版本提供了相對(duì)一部分的AWT和Swing支持,部分高端PDA已經(jīng)可以運(yùn)行PBP和PP的Java程序了。由此可見(jiàn),在不久的將來(lái)大部分的AWT和Swing組件都能移植到手機(jī)上。
和Configuration相比,Profile規(guī)范有許多可選的類(lèi)包,比較實(shí)用的Profile規(guī)范有MMAPI(Mobile Media API),能夠?qū)崿F(xiàn)手機(jī)中多媒體播放功能;M3G API(Mobile 3D Graphics API),定義了實(shí)現(xiàn)手機(jī)中3D的UI功能;WMA(Wireless Messaging API),實(shí)現(xiàn)手機(jī)短消息的收發(fā)。不同手機(jī)如果支持某一Profile,那么將可以在MIDlet中使用相應(yīng)的接口API來(lái)實(shí)現(xiàn)相應(yīng)的功能。
?
鳳凰涅槃/浴火重生/馬不停蹄/只爭(zhēng)朝夕
???? 隱姓埋名/低調(diào)華麗/簡(jiǎn)單生活/完美人生
posted on 2008-11-26 01:57 poetguo 閱讀(1840) 評(píng)論(3) 編輯 收藏 所屬分類(lèi): J2ME