MIDIet能够访问JAVA压缩包(*.JAR)和应用程序描述符文件(*.JAD)中的属性(attributes),你可以按照以下代码实现:
javax.microedition.midlet.MIDlet.getAppProperty(String name)
以下举一个非常简单的例子来打印JAR跟JAD文件中的条目:
import javax.microedition.midlet.*;
public class showProperties extends MIDlet
{
public void startApp() throws MIDletStateChangeException
{
System.out.println("Vendor: " +
getAppProperty("MIDlet-Vendor"));
System.out.println("Description: " +
getAppProperty("MIDlet-Description"));
System.out.println("JadFile Version: " +
getAppProperty("JadFile-Version"));
System.out.println("MIDlet-Data-Size: " +
getAppProperty("MIDlet-Data-Size"));
}
public void pauseApp()
{ }
public void destroyApp(boolean unconditional)
{ }
}
manifest.mf 文件存储在ShowProperties.jar 文件中:
MIDlet-Name: Show Properties MIDlet
MIDlet-Version: 1.0.1
MIDlet-Vendor: Core J2ME
MIDlet-1: ShowProps, , ShowProperties
MicroEdition-Profile&: MIDP-1.0
MicroEdition-Configuration: CLDC-1.0
MIDlet-Description: A simple property list example
MIDlet-Data-Size: 1500
ShowProperties.jad 文件
MIDlet-Name: Show Properties MIDlet
MIDlet-Version: 1.0.1
MIDlet-Vendor: Core J2ME
MIDlet-Jar-URL: ShowProperties.jar
MIDlet-Jar-Size: 1190
MIDlet-1: ShowProps, , ShowProperties
MIDlet-Description: A simple property list example
JadFile-Version: 1.5
MIDlet-Data-Size: 500
要点:
1.manifest.mf文件存储在JAR文件中,那是你实际可以访问的属性(attributes)。
2.ShowProperties.jad 文件中引用了这个JAR文件:
MIDlet-Jar-URL: showProperties.jar
3.这些属性包括:MIDlet-Name,MIDlet-Version,MIDlet-Vendor既存在于JAR文件中的manifest.mf中又存在于JAD文件中,所有的值都要求是一样的。
4.属性(attribute)JadFile Version是用户自定义的属性,并没有在J2ME规格中定义。这样就可以被MIDIet程序访问而不用修改JAR文件。
5.属性(attribute)MIDlet-Data-Size同时存在于manifest.mf和JAD文件中。当存在于两个文件中的属性一样时,JAD文件中的会被优先选择。
6.以上例子是基于MIDP和CLDC 1.0.3.