[JavaME] Java描述文件和清单文件的预定义属性

来源:互联网 发布:w7ipv4无网络访问权限 编辑:程序博客网 时间:2024/05/23 14:40

JAR文件里一般都会有一个MANIFEST.MF文件,这个是JAR的清单文件。而在JAR外部,有时会有一个JAD文件,这个是JAR的描述文件。它们都是纯文本文件,里面记录了属性名和属性值。MIDP预先定义了一些属性,这些属性见下表:

属性名作用MIDlet-NameMIDlet Suite 的名称MIDlet-VersionMIDlet Suite 的版本号码。格式为:“xx.xx.xx”, xx分别对应主、次、微号码。版本号码可以让应用程序管理器知道是该安装(版本比已安装的旧),还是该更新(版本比已安装的新)。MIDlet-Vendor提供此MIDlet Suite的厂商名称。MIDlet-Icon代表此MIDlet Suite的图标文件名。此文件为一个位于JAR文件的PNG图形文件。必要时,应用程序管理器显示此图像来代表这个MIDlet Suite。注意,文件名(包括扩展名)是区分大小写的。MIDlet-Description描述此MIDlet Suite的相关信息MIDlet-Info-URL描述此MIDlet Suite更多相关信息的URL。正确的语法请参考http://www.ietf.org/rfc/rfc2396.txt。这个属性可以让用户在下载MIDlet Suite之前通过此URL查看更多资料,或者也可以和MIDlet类中的platformRequest()方法配合使用。MIDlet-<n>用来描述MIDlet Suite之中的MIDlet的信息。第一个MIDlet就以MIDlet-1代表(最小要从1开始),第二个MIDlet就是MIDlet-2代表(之后的号码要连贯),其它依次类推。
属性值的格式为: “应用程序名,图标,类名”
三者以逗号分开,每项的前后空白或Tab都会被应用程序管理器忽略。
其中,应用程序名由开发人员定制,图标必须要是JAR里的PNG文件(不指定也没关系),类名必须是完整的“包名.类名”,区分大小写。而且此类要继承javax.microedition.midlet.MIDlet类,并拥有一个没有参处的构造函数。MIDlet-Jar-URLJAR文件的URL地址。正确的语法请参考www.ietf.org/rfc/rfc2396.txt。可以使用相对位置或绝对位置。使用相对位置,就是假设JAR和JAD位于同一个位置。但建议还是使用觉得位置。MIDlet-Jar-SizeJAR文件的大小(以byte为单位),这是应用程序管理器初步确认JAR是否被篡改/损坏所使用的属性。MIDlet-Data-SizeMIDlet Suite 所需要的永久资料存储区(persistent data)的大小。默认值为0。而且所能配置的额外存储区大小常常会根据实体机器的不同而不同。MicroEdition-Profile执行此MIDlet Suite 所需的profile名称及版本。格式为:“Profile名称-Profile版本”。如:MIDP-1.0、MIDP-2.0。如果Profile与VM所提供的版本不兼容,应用程序管理器就会拒绝MIDlet Suite安装。此属性值可以是多个Profile版本,彼此用空格隔开。如果其中一个属性值无法和VM所提供的版本兼容(或者VM根本不提供),那么应用程序管理器就会拒绝安装。MicroEdition-Configuration执行此MIDlet Suite所需的configuration名称和版本。格式为:“Configuration名称-Configuration版本”。如:CLDC-1.0、CLDC-2.0。如果这个属性值所代表的configuration无法与VM兼容,那么应用程序管理器就会拒绝该MIDlet Suite的安装。MIDlet-Delete-Confirm删除此MIDlet Suite之前,应用程序管理器必须显示给用户的确认文字。        与安全相关的属性:MIDlet-Jar-RSA-SHA1JAR文件的数字签名。MIDlet-Certificate-<n>-<m>验证JAR文件用的安全证明。MIDlet-Permissions执行此MIDlet Suite必要的权限。MIDlet-Permissions-Opt执行此MIDlet Suite次要的权限。        与OTA相关的属性:MIDlet-Install-Notify应用程序管理器安装MIDlet Suite之后,用来报告安装结果的URL。MIDlet-Delete-Notify应用程序管理器删除MIDlet Suite之后,用来报告删除结果的URL。        与Push机制相关的属性:MIDlet-Push-<n>与javax.microedition.io.PushRegistry类有关。

上面所提到的属性的属性值,MIDlet都可以在执行时通过javax.microedition.midlet.MIDlet.getAppProperty()取得。

MIDlet-Version属性的属性值中,微版本号可以省略,如果省略,会缺省为0。也可以都不指定,那么缺省为0.0.0。主、次、微版本号,取值范围都只能在0~99。

另外,这些属性不可重复。属性出现的顺序无关紧要。除了上面提到的预定义属性,还可以加入自定义的属性。自定义的属性不要以MIDlet- 和 MicroEdtion- 开头。

 

清单文件至少要包含以下几项属性:

  • MIDlet-Name
  • MIDlet-Version
  • MIDlet-Vendor
  • MIDlet-<n>
  • MicroEdition-Profile
  • MicroEdition-Configuration

描述文件的扩展名一定要是“.jad”,而且其MIME类型(MIME Type)为“text/vnd.sub.j2me.app-descriptor”,这个MIME类型在进行OTA时非常重要,关系到MIDlet Suite的下载和安装之控制权能否由浏览器转换到应用程序管理器上。描述文件的作用只是单纯地让应用程序管理器能够在下载JAR或安装JAR之前,先做些检查,确定机器上的环境是否符合要求。

描述文件至少要包含以下几项属性:

  • MIDlet-Name
  • MIDlet-Version
  • MIDlet-Vendor
  • MIDlet-Jar-URL
  • MIDlet-Jar-Size 

 

原创粉丝点击