我们都清楚在CLDC的上层是MIDP,在MIDP中提供了对用户界面的支持,我们可以使用javax.microedition.lcdui包中提供的API进行开发,但是还有一类设备是不具有显示屏的,比如网卡、路由器和跟踪器等。为了满足上述设备的市场需要,JCP组织中SIEMENS领导制定了JSR195 Infomation Module PRofile。本文将比较详细的介绍IMP。
IMP是MIDP1.0的严格子集,由于IMP的目标设备是无显示能力和用户输入能力的设备,因此javax.microedition.lcdui包没有包括在其中,如果你要为有显示屏和键盘输入的设备开发应用的话,那么请选择MIDP1.0或者MIDP2.0。
首先我们了解一下IMP对硬件层的最低要求:
内存:
1.128K非挥发性内存空间用于IMP组件
2.8K非挥发性的内存空间用于应用程序创建的持久性数据存储
3.32K的挥发性内存空间用于java运行环境(HEAP)
联网能力:
双工、无线、带宽受限
根据以上硬件的基础和市场的需求,在软件层IMP对定时器(Timer),联网和持久性数据存储都提供了支持。由于IMP是MIDP1.0的子集,这些特性与MIDP非常相似因此不进行一一的介绍,您可以从jcp下载具体的IMP规范来了解具体情况。为了让大家更好的了解IMP的体系构架,给出下面的构架图
基于CLCD和IMP的应用程序的名称为IMlets,其实他同样是扩展了javax.microedition.midlet.MIDlet的。因此它们具有相似生命周期。几个IMlets同样可以打包成IMlet套件,我们也需要提供jad文件来描述应用程序的信息,但是必须注意的一点是,由于IMlets是基于IMP的,而不是MIDP因此在jad文件中的Microediton-Profile属性值应该写IMP-1.0,在应用程序中我们通过System.getProperty("microediton.profile")应该得到IMP-1.0而不是MIDP1.0。
(出处:http://www.knowsky.com)