1.2 MIDlet Suites简介
在制定MIDP规范过程中,最重要的一件事情就是定义一个MIDP应用程序的组成。换句话说,它应当回答任何开发人员都可能问的问题,比如,如何将程序正确下载到设备中?程序的入口在哪儿?设备如何识别该MIDP应用程序是自己想要的?
同Applet类似,一个MIDP程序被称为“MIDlet”,MIDlet应用的主类需要从一个特殊的类(javax.microedition.midlet.MIDlet)中继承,并提供共用的默认的构造函数。一个或多个MIDlet打包在一起叫做MIDlet Suite,其表现形式是一个以“.jar”为后缀名的文件,这个JAR文件非常重要,所包含的主要信息如下:
(1)包含MIDlet运行所需要的所有类,与Applet不同,MIDlet不运行在运行时下载其他类,而只运行在同一个MIDlet中的类。
(2)JAR的Manifest文件是个文本文件,用于描述JAR文件的内容,定义了在MIDlet中的重要信息,如名称、主类、图标等。
(3)其他资源文件,如使用的图像、声音文件。
JAR文件是作为一个整体提供给手机设备的,是程序运行的最小单位,其中个别的类或者文件提取出来都是没有意义的。从概念上讲,一个MIDP应用的单位是JAR文件。
一个MIDlet Suite实际上有两个文件,一个是标准的JAR文件,其中有相关的类、MIDlet信息描述和相关资源文件;另一个是文本文件,称为Java应用程序描述器(Java application descriptor)。Java应用程序描述器重复了一些在JAR描述文件(Manifest file)中的信息,以及Suite的名字、大小和版本等,这样可以让设备中的J2ME程序管理器快速决定是否需要下载和安装等问题。
除了为下载提供单一入口外,MIDlet Suite的另一个重要用途是提供MIDlet的活动范围(类似沙箱机制)。换句话说,在不同的MIDlet Suite中的MIDlet是不能相互通信的,所有MIDlet Suite的类必须放在同一个JAR文件中。