介绍MIDP应用程序的属性

王朝other·作者佚名  2008-05-31
宽屏版  字体: |||超大  

MIDlet是在MIDP中提出的一种应用程序模型,目前在J2ME中应用最为广泛。本文将主要介绍MIDP应用程序的属性问题。读者可以参考MIDP Application Properties

MIDlet可以访问两种运行时的属性值:系统和应用程序的。

系统属性的概念是在CLDC(Connected Limited Device Configuration)中定义的,属性值被写入底层的系统,我们可以读取它们但是不能修改这些属性值。如果你想读取一个系统属性值那么你可以使用System类的静态方法System.getProperty()来读取。经常有网友会询问如何读取手机号码或者IMEI号码,其实这些你应该参考具体机型的开发文档。各个厂商的实现都是不一样的。为了让大家查找方便这里列出在J2ME中定义的系统属性值,如果你的手机支持相关的JSR,那么就可以通过上述方法取得属性值。

JSR

Property Name

Default Value¹

30

microedition.platform

null

microedition.encoding

ISO8859_1

microedition.configuration

CLDC-1.0

microedition.profiles

null

37

microedition.locale

null

microedition.profiles

MIDP-1.0

75

microedition.io.file.FileConnection.version

1.0

file.separator

(impl-dep)

microedition.pim.version

1.0

118

microedition.locale

null

microedition.profiles

MIDP-2.0

microedition.commports

(impl-dep)

microedition.hostname

(impl-dep)

120

wireless.messaging.sms.smsc

(impl-dep)

139

microedition.platform

(impl-dep)

microedition.encoding

ISO8859-1

microedition.configuration

CLDC-1.1

microedition.profiles

(impl-dep)

177

microedition.smartcardslots

(impl-dep)

179

microedition.location.version

1.0

180

microedition.sip.version

1.0

184

microedition.m3g.version

1.0

185

microedition.jtwi.version

1.0

195

microedition.locale

(impl-dep)

microedition.profiles

IMP-1.0

205

wireless.messaging.sms.smsc

(impl-dep)

205

wireless.messaging.mms.mmsc

(impl-dep)

应用程序属性值是在应用程序描述符文件或者MANIFEST文件中定义的(其中MANIFEST文件是打包在jar文件中的),当我们部署应用程序的时候会定义应用程序属性。比如下面是一个典型的jad文件内容:

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就是应用程序属性值,我们可以通过MIDlet的成员方法getAppProperty()来得到它,代码片断如下:

import Javax.microedition.midlet.*;

public class MyMIDlet extends MIDlet {

private String suiteName;

public MyMIDlet(){

suiteName = getAppProperty( "MIDlet-Name" );

... // more stuff

}

... // etc.

}

属性值是大小写敏感的,如果属性值在系统,jad文件和manifest文件中都没有定义的话,那么将返回null。如果在jad文件和manifest文件中定义了同样的属性值,那么会出现如下两种情况:如果应用程序是MIDP2.0种的信任应用程序,那么AMS将会拒绝安装。否则在jad文件中的属性值会覆盖manifest中的值。

在jad文件中使用属性值有一定的好处,如果你需要更改一些数据而又不想重新编译代码、打包的话,那么你可以在jad中定义一些属性值。这样可以配置你的应用程序,想想是不是和你在j2se应用中使用属性文件类似。但是不要在jad文将中定义大量的数据,因为很多设备都是对jad文件的大小有限制的。

(出处:http://www.knowsky.com)

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有