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