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