MIDlet是在MIDP中提出的一種應(yīng)用程序模型,目前在J2ME中應(yīng)用最為廣泛。本文將主要介紹MIDP應(yīng)用程序的屬性問(wèn)題。讀者可以參考MIDP application PRoperties
MIDlet可以訪問(wèn)兩種運(yùn)行時(shí)的屬性值:系統(tǒng)和應(yīng)用程序的。
系統(tǒng)屬性的概念是在CLDC(Connected Limited Device Configuration)中定義的,屬性值被寫(xiě)入底層的系統(tǒng),我們可以讀取它們但是不能修改這些屬性值。如果你想讀取一個(gè)系統(tǒng)屬性值那么你可以使用System類(lèi)的靜態(tài)方法System.getProperty()來(lái)讀取。經(jīng)常有網(wǎng)友會(huì)詢(xún)問(wèn)如何讀取手機(jī)號(hào)碼或者IMEI號(hào)碼,其實(shí)這些你應(yīng)該參考具體機(jī)型的開(kāi)發(fā)文檔。各個(gè)廠商的實(shí)現(xiàn)都是不一樣的。為了讓大家查找方便這里列出在J2ME中定義的系統(tǒng)屬性值,如果你的手機(jī)支持相關(guān)的JSR,那么就可以通過(guò)上述方法取得屬性值。
應(yīng)用程序?qū)傩灾凳窃趹?yīng)用程序描述符文件或者M(jìn)ANIFEST文件中定義的(其中MANIFEST文件是打包在jar文件中的),當(dāng)我們部署應(yīng)用程序的時(shí)候會(huì)定義應(yīng)用程序?qū)傩浴1热缦旅媸且粋€(gè)典型的jad文件內(nèi)容:
MIDlet-1: HttpWrapperMidlet,,httpwrapper.HttpWrapperMIDlet
MIDlet-Jar-Size: 16315
MIDlet-Jar-URL: HttpWrapper.jar
MIDlet-Name: HttpWrapper
MIDlet-Vendor: Vendor
MIDlet-Version: 1.0
MicroEdition-Configuration: CLDC-1.0
MicroEdition-Profile: MIDP-1.0
Which-Locale: en
其中Which-Locale就是應(yīng)用程序?qū)傩灾?,我們可以通過(guò)MIDlet的成員方法getAppProperty()來(lái)得到它,代碼片斷如下:
import javax.microedition.midlet.*; public class MyMIDlet extends MIDlet { private String suiteName; public MyMIDlet(){ suiteName = getAppProperty( "MIDlet-Name" ); ... // more stuff } ... // etc. }
屬性值是大小寫(xiě)敏感的,如果屬性值在系統(tǒng),jad文件和manifest文件中都沒(méi)有定義的話,那么將返回null。如果在jad文件和manifest文件中定義了同樣的屬性值,那么會(huì)出現(xiàn)如下兩種情況:如果應(yīng)用程序是MIDP2.0種的信任應(yīng)用程序,那么AMS將會(huì)拒絕安裝。否則在jad文件中的屬性值會(huì)覆蓋manifest中的值。
在jad文件中使用屬性值有一定的好處,如果你需要更改一些數(shù)據(jù)而又不想重新編譯代碼、打包的話,那么你可以在jad中定義一些屬性值。這樣可以配置你的應(yīng)用程序,想想是不是和你在j2se應(yīng)用中使用屬性文件類(lèi)似。但是不要在jad文將中定義大量的數(shù)據(jù),因?yàn)楹芏嘣O(shè)備都是對(duì)jad文件的大小有限制的。
(出處:http://www.survivalescaperooms.com)
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注