JAVA ME 中MIDP1.0与MIDP2.0的区别? Java MIDP2.1和JAVA MIDP2.0的本质区别...

作者&投稿:揣念 (若有异议请与网页底部的电邮联系)
kjava(J2ME)目前有MIDP1.0和MIDP2.0;但中国移动百宝箱现在只有支持MIDP1.0,很多手机都支持MIDP2.0,如Nokia600
这一个根据不同型号可以查询相关厂家对该款手机的支持情况,一般都会说明是支持MIDP1.0还是2.0

J2ME平台

J2ME(JAVA 2 Micro Edition)平台是目前最火暴的手机游戏平台,尽管它还可以下载和安装一些小的应用程序。J2ME简单的可以理解为JAVA的移动版本,其MIDP(Mobile Information Device Profile,移动信息装置简表)架构就是专门为手机与PDA而设计。

目前MIDP有1.0和2.0之分,后者在兼容性以及游戏的多媒体表现力如音效和振动方面有更好的效果,此外通过测试软件显示,支持MIDP2.0的JAVA游戏在图形运行能力对比1.0版本也有更优秀的表现。目前支持MIDP2.0手机主要为03年下半年以后发布的手机如索爱K700、摩托罗拉V300、诺基亚6230等。

同时,以J2ME平台开发的程序叫做MIDlet,可以直接从在线下载后离线运行,或从PC通过数据线、红外或者蓝牙传输到手机上。由于J2ME程序都很小,只有几十K,所以又被称为K-JAVA。由于K-JAVA(J2ME)是开放平台,因此任何程序设计师甚至程序编写爱好者都能到Sun网站下载J2ME开发工具,为手机写JAVA程序。

此外,J2ME的MIDlet文件都是由.jad(JAVA Description File)和.jar(JAVA Package)呈现,不同的手机品牌在使用安装时会有不同的方式,如索爱的手机则仅需安装JAR文件即可;而三星和诺基亚手机则需要同时下载JAD和JAR文件。

由于J2ME的技术先进,而且又能跨平台运行,因此受到了众多手机厂家的支持,甚至成为现在用户购买手机的一项比较重要的技术指标。所以到目前为止,手机的游戏应用平台中,以支持J2ME的最多,而且J2ME软件开发商也有越来越多的趋势,J2ME已成为2002年下半年之后的行动游戏平台主流。尤其在进入04年之后,基于JSR184的Mobile 3D Graphics API for J2ME的3D游戏开始出现,象索爱S700/K700/Z500以及西门子S65等新机都开始支持在手机上运行3D JAVA游戏。

目前市场上JAVA游戏中支持诺基亚手机最多,而且尽管该品牌部分手机存在下载程序不能超过64K的限制,但无论是运行速度还是在兼容性上诺基亚手机基本上都是最为出色的。

3.电脑下载
电脑下载传送到手机要求玩家对手机的认知比较高。也要拥有一定的电脑基础知识。首先要将游戏下载到电脑之中。

若是通过手机上网下载以及使用短信定购的方式,直接在手机的个人文档或者应用程序中找到(根据手机各不相同),无需在安装,直接可以在类似“我的文件夹”之类的选项找到。

使用电脑下载就需要将文件传送到手机上。

传送到手机的方法有3种。

1.蓝牙传输
这个最简单,买个蓝牙适配器就能传。将蓝牙的驱动安装完毕后,直接用鼠标右键点击你想传的文件,选发送,然后再选通过BLUETOOTH就能传到手机。由于蓝牙的范围在5-10米内,所以只要将蓝牙手机的蓝牙功能打开,放在与电脑距离5-10米的范围都可以直接传输。蓝牙的驱动在任何系统都必须安装。

2.红外线
与蓝牙一样,也是可以使用鼠标来传输。只不过红外需要点对点,所以将手机红外功能打开后,与你所买的红外适配器对整齐,才能传输 。红外在XP、2K、2003的系统下无须驱动。

3.数据线
最麻烦的一种,需要通过软件才能传输,关键在于软件驱动之上,查找安装相当的麻烦,所以再此还是建议使用以上的方式。至于连接方法,就很简单了,大家多摸索摸索。

如果你下载的是JAVA游戏,后缀名为JAR,不要解压缩,将JAR文件直接传到手机。如果是MPN游戏,就必须解压缩,然后将里面的MPN文件全部按顺序传进手机。

NOKIA K-JAVA游戏下载基本知识

每一个KJAVA游戏主要由2个文件组成。1个是扩展名为jar的文件,1个是扩展名为jad的文件。

下面简单介绍一下两者的作用:
jar文件是实际的游戏文件。通过PC安装游戏其实只需要一个jar文件即可,这也就是许多手机游戏站点提供的众多游戏下载包中只包含一个jar文件的原因。

jad文件是一个描述性的文件,它其实就是一个文本文件,我们可以用文本程序打开它进行编辑。

我们在下载了游戏之后会发现有些游戏安装不了,提示缺少JAD文件,这种问题常见于使用OPM的手机玩家,这时我们可以使用NOKIA_JAD文件生成器(即JADgen)来生成JAR相应的的JAD文件,使用PC套件的朋友就可以不必为这个问题担心,它只需要一个JAR文件就可以将游戏传入到手机中使用。

一个游戏在不同品牌的手机运行,需要下载相应版本的jar文件才能正常运行。 由于本人是N6108的使用者,下面就主要介绍Nokia品牌的KJAVA游戏。

【诺记手机类型介绍】

Nokia手机的kjava游戏主要可以分为2个大类,一类是S40系列,一类是S60系列

S40系列的手机包括:Nokia6100,Nokia6610,Nokia6108,Nokia7210,Nokia7250等

S60系列的手机包括:Nokia7650, Nokia3650, Nokia3310等

2个系列手机的主要外观区别在于屏幕大小不同。区别Nokia新款手机是哪个系列,基本上看屏幕大小即可判断。

S40系列手机的屏幕为128×128象素,S60系列手机的屏幕为176×208象素。因此下载游戏是需要针对自己的手机型号来下载相应游戏。不然就有可能出现游戏不能兼容的问题 ,而且,两个系列的手机其KJAVA游戏的大小限制也不一样,S40系列机器KJAVA游戏的大小限制在64K之内,超过这个大小就会玩不了。而S60系列的机器就可以下载大型一点的KJAVA游戏。至于其具体容量大小的限制,小弟还不太清楚。

【KJAVA游戏安装介绍】

简单介绍一下安装KJAVA游戏的方法(目的就是就是把jar文件传送到手机上,使KJAVA游戏为我所用)。

1。通过PC和数据线安装

条件:需要手机支持数据线传输,并购买指定手机的数据线,安装Nokia PC Suite(随机光盘自带)或者OPM,本人喜欢使用OPM传输软件。

2。通过PC和红外线接收器安装

条件:需要手机支持红外线,并购买红外线接收器,(推荐购买SMH-IR650或者BAFO品牌的红外适配器)这样就可以直接和手机对传文件(S60系列受机支持,本人试验了7650,确实可行),也可以使用Nokia的PC Suite或者OPM传送文件。

3。通过PC和蓝牙接收器安装

条件:需要手机支持蓝牙,并购买蓝牙接收器。利用蓝牙的管理工具就可以找到手机并可以传输文件 。

4。通过自己收发E-mail安装

条件:需要手机开通GPRS,并且支持接收E-mail,只要把你常用的信箱在手机配置好,再把KJAVA游戏的jar文件发送给自己,通过手机接收即可。由于游戏都不大,用手机接收E-mail也是很方便的 。

5。通过WAP下载游戏安装

条件:手机开通GPRS,并设置好参数,到某些游戏的WAP网站,直接下载游戏。

MIDP 1.0 提供了以下功能:
  ·显示工具箱
  ·用户输入方法
  ·持久性数据存储(使用简单的面向记录的数据库模型)
  ·基于 HTTP 1.1 的网络(使用 CLDC 通用连接框架)
  Java 规范请求 (Java Specification Request, JSR)-37 中定义了 MIDP 1.0 标准。
  MIDP 2.0
  JSR-118 中定义了 MIDP 2.0 标准。
  MIDP 2.0 于 2002 年 11 月正式发布,MIDP 2.0 的推出在一定意义上增强了 Java ME 的功能,主要体现在如下几个方面。
  (1)支持操作图像的像素,支持 Alpha 通道。
  (2)增强型的图形用户界面类 CustomItem,提高了高级界面类的表现力。
  (3)Media 音频子系统填补了 MIDP 1.0 不支持声音播放的空白。
  (4)Push 注册机制和安全模型增强了对 MIDlet 的控制。
  (5)游戏开发包提高了游戏开发的效率。
  (6)联网能力增强,可以支持 TCP/IP 甚至是 UDP 层的通信。 在MIDP1.0里面,Canvas的绘图只能写在paint(Graphics g)方法里,因为一来g参数在此方法结束后就没有意义了,保留它的副本没有用处;二来此方法由平台调用,而不是由Canvas这个线程调用。因此在MIDP里绘图总是一件很痛苦的事情,特别是需要保证Canvas线程与调用paint的那个线程同步(J2me的Specification说的是,可以保证你repaint了以后,paint方法在之后的某个时刻被调用,但不能保证马上就被调用,因为paint是个比较耗时的方法,它无法确定其他的paint是否及时完成了)。在MIDP2.0里,有所改进了。首先是你可以通过GameCanvas的一个方法getGraphics来获取那个g,然后这个g就永不失效了(当然是在这个GameCanvas的生命周期内)。当然,这个g和1.0里的还是有所区别。这个g实际上是画在一块缓冲“画布”上,即内存里。完全画好以后,再用flushGraphics刷到屏幕上。缓冲的好处是可以让屏幕在画时不显得闪烁,很有用的东西。flushGraphics还有另外一个作用,就是强制输出,以达到显示的那个线程与游戏控制线程的同步(这也是为什么做时间协调时,要把显示方法所消耗的时间也计算进来)。

MIDP2.0相对于MIDP1.0最大的变化就是增加了media和game包,在rms的读取也有微小的改动.其实,MIDP2.0主要是给游戏开发提供方便,采用增加的两个包能够快速开发游戏程序,效率相对于MIDP1.0要高些.
不过现在的市场行情是,支持MIDP2.0的手机比支持MIDP1.0的远远要少,考虑到市场的效应,还是应用MIDP1.0的为多.并且根据目前的状况,此情形还会持续很长一段时间.
如果你学的话,建议双管齐下,因为两者区别不大,但MIDP2.0的可移植性好些.
举个例子,
比如,在MIDP1.0的状况下,开发西门子的手机游戏,如果要播放音乐的话,就要
import com.siemens.mp.media.*;
这样的直接后果就是在别的型号的手机无法运行.
所以在平时开发中就会遇到:
支持MIDP2.0的手机不多,运用MIDP1.0的做出的声色俱全的游戏移植性又不高的尴尬情形
所以,究竟选择哪个开发,就是仁者见仁,智者见智了

版本升级,功能扩充,修正以前版本的bug

Java MIDP 2.1和JAVA MIDP 2.0有什么区别?~

MIDP 2.1 新特性

在经历了N长时间的等待之后,MIDP 2.1终于诞生并应用于实际的机型中,对于MIDP2.0的升级版本,我们没有看到太多的功能推进,而是看到了将MIDP2.0中的许多特性进行了强制化的规定,从而更加的标准性,在兼容MIDP2.0的同时,对于许多组件的规格和性能作出了明确的规定,只是我们最高兴看到的,尤其是对于Image的数个规定,让我们感到欣慰,因为对于不同的厂商,他们的手机对于图片等多媒体能力的支持是相差很大的,比如韩系的手机(三星,LG之流)对于多媒体的支持那不是一般的差,除了外形说的过去以外,我真的不知道韩系手机有什么过人之处,总体而言,韩系手机是标注的“金絮其外,败絮其中”,而且还买的贼TMD贵,坑害广大的勤劳的中国人们-_-!!!

目前,支持MIDP 2.1的手机主要是Nokia的(不愧是老大级的人物啊~),机型是Nokia 5610 XpressMusic、Nokia 5310 XpressMusic、Nokia 6555、Nokia 7500 Prism 、Nokia 7900 Prism、Nokia 6267、Nokia 6500 classic、Nokia 6500 slide 相信这些手机我们都是能看得到的(不是行货就是水货),MIDP标准的统一之路又跨进了一步了,不过,在我看过MIDP3.0之后,我觉得如果说MIDP3.0将来能够以比较快的速度普及的话,那比然是J2ME的又一个春天。

MIDP 2.1 新特性:

1、 一个TextField或一个TextBox的最小尺寸(存储容量)不能少于1000个字符

2、 LCDUI布局指令必须被遵循

3、 LayoutManager.insert()方法的行为必须依照以下的描述:insert(Layer,int)
描述:
Public void insert(javax.microedition.lcdui.game.Layer l,int index)
插入一个新的Layer对象到LayoutManager在指定的索引值
描述:
插入一个已经被添加到这个LayoutManager的Layer对象等于先使用LayoutManager.remove()方法删除它,再用insert()方法添加到特定的索引。在LayoutManager.remove()方法被调用前,抛出IndexOutOfBoundsException的情况被检查
参数:
Layer l:被插入的Layer对象
int Index:在被添加的新的Layer对象的索引值

异常抛出:NullPointerException:如果Layer对象为null
IndexOutOfBoundsException:如果索引值小于0。如果索引值大于已经被添加到LayoutManager中的Layer对象的数量且Layer对象不能被添加到这个LayoutManager中。如果索引值大于已经被添加到LayoutManager中的Layer对象的数量且Layer对象已经被添加到这个LayoutManager中

4、 一个带有item Command对象且表示模式是Item.PLAIN的StringTtem对象必须总是被作为添加了Command对象且表示模式是Item.HYPERLINK的StringTtem对象的方式显示

5、 许多的MIDP LUDUI图像组件能包含文本(换句话说,一个字母数字字符),那被显示给用户。这些组件的例子是List, TextBox , Alert , StringItem ,Form和Item。一个实现常常需要截断这些可见的文本因为不能适合被给的UI组件的指定空间。在这种情况下,一个实现必须使用一个适当的可视化指示(例如一个省略符号)来指示用户,文本被截断。实际的符号或被用来显示截断的文本的符号以来于当前设备选择的区域设置。然而,可视化指示应该和用在设备本地的UI的指示一致。

6、 Canvas的触摸事件必须被支持,如果基础硬件支持这个特色。在这种情况下,Canvas.hasPointerEvents()方法应该总是返回true。

7、 Canvas的触摸拖曳事件必须被支持,如果基础硬件支持这个特色。在这种情况下,Canvas.hasPointerEvents()方法应该总是返回true。

8、 Canvas的重复事件必须被支持。在这种情况下,Canvas.hasRepeatEvents()方法应该总是返回true。

9、 双缓冲图像必须被支持。在这种情况下,Canvas.isDoubleBuffered()方法应该总是返回true。

10、 不同的文本输入模式的可用性(例如:预言输入和仅仅是数字的输入)应该和Java和本地的应用程序相一致。这意味着,例如,如果预言输入文本模式在本地应用程序中可用,那也应该在Java应用程序中可用。

11、 Image对象的创建(不管格式)必须至少支持:尺寸等于(屏幕宽度)乘以(屏幕高度)乘以(以字节为单位的颜色深度)或262144比特(128×128×16比特=32KB),无论哪一个更大。注意,一个Image对象的内在表现应该保持至少每个象素16字节的颜色/透明度数据

12、 每一个包括在字符串值的通过System.getProperty(“microedition.commports”)方法返回的串行端口名字必须可获取通过javax.microedition.io.CommConnection接口

12、 在每个协议,AllowedSender域必须匹配适当的输入事件的地址域。地址域的使用和语法和语意以来于协议。然而,地址和过滤器必须被比较通过精确的字符串匹配,在那里,字符串被一个接着一个字符的比较,字符需要正确地匹配通过两个通配符

13、 以下地网络通信协议必须被支持,提供了以下Java ME接口的实现:javax.microedition.io.SockerConnection , javax.microedition.io.SecureConnection, javax.microedition.io.HttpsConnection

14、 javax.microedition.io.HttpsConnection和javax.microedition.io.SecureConnection必须支持SSLv3协议,其它的,例如TLS,WTLS也许被支持。

15、 应用程序描述符应该包含MIDlet-Permissions

16、 以下的JAD/manifest文件属性被定义来支持指定预期的运行时执行环境:Runtime-Execution-Environment:这是一个可选的属性,指出了应用程序必须的运行时执行环境。这个属性也许有值MIDP.CLDC.如果MIDlet suite不指定属性,隐含的默认值是MIDP.CLDC。当值是MIDP.CLDC,实现的行为必须坚持在以下显示的更多的细节描述。这个属性值的附加值被在将来定义。手机实现必须支持这个属性。当值是MIDP.CLDC,实现的行为必须坚持以下要求:1、支持API和API行为,以及基础虚拟机,必须顺从CLDC1.1规范。2、手机实现也许二选一地使用Java ME的CDC规范。然而,如果CDC被用作基础配置,运行在这个平台顶端的应用程序必须看见一个语义学和功能上等于CLDC1.1平台的环境。CDC特定的API或者CDC特定行为必须不能被暴露给应用程序或应用程序开发者。3、当一个应用程序定义了Runtime-Execution-Environment属性值,应用程序必须也定义一个CLDC平台在MicroEdition-Configuration属性值中。4、如果一个应用程序定义了不被实现支持的Runtime-Execution-Environment属性值或MicroEdition-Configuration属性值,应用程序不能被安装。所有的手机实现必须支持MIDP.CLDC值对于Runtime-Execution-Environment属性。

17、 用户使用OTA下载安装之后,实现必须提示用户是否启动MIDlet

18、 实现必须允许MIDlet创建最小为10个的线程

19、 支持至少512个属性

20、 支持MIDlet suite包含1到5个MIDlet

21、 每个MIDlet suite的RMS至少保证64K的空间,在内存足够的情况下

22、 每个MIDlet suite至少可以创建10个独立记录存储

23、 MIDP的MMAPI的子集必须遵守MMAPI1.1或以后版本

24、 MicroEdition.profiles系统属性不能包含相同profile的不同的版本

25、 Image对象中ISO/IEC JPEG和JFIF被支持

26、 支持载入深度为1、2、4、8、16和32位的PNG格式

27、 TextBox和TextField的约束TextField.EMAILDDR和TextField.URL必须允许相同的字符被输入如同被允许输入在TextField.ANY约束下

28、 适合的设备必须实现基于时间的推注册,如果没有其它的安全机制基于时间的推注册不需要被显式的用户的许可

MIDP 2.1 新特性

在经历了N长时间的等待之后,MIDP 2.1终于诞生并应用于实际的机型中,对于MIDP2.0的升级版本,我们没有看到太多的功能推进,而是看到了将MIDP2.0中的许多特性进行了强制化的规定,从而更加的标准性,在兼容MIDP2.0的同时,对于许多组件的规格和性能作出了明确的规定,只是我们最高兴看到的,尤其是对于Image的数个规定,让我们感到欣慰,因为对于不同的厂商,他们的手机对于图片等多媒体能力的支持是相差很大的,比如韩系的手机(三星,LG之流)对于多媒体的支持那不是一般的差,除了外形说的过去以外,我真的不知道韩系手机有什么过人之处,总体而言,韩系手机是标注的“金絮其外,败絮其中”,而且还买的贼TMD贵,坑害广大的勤劳的中国人们-_-!!!

目前,支持MIDP 2.1的手机主要是Nokia的(不愧是老大级的人物啊~),机型是Nokia 5610 XpressMusic、Nokia 5310 XpressMusic、Nokia 6555、Nokia 7500 Prism 、Nokia 7900 Prism、Nokia 6267、Nokia 6500 classic、Nokia 6500 slide 相信这些手机我们都是能看得到的(不是行货就是水货),MIDP标准的统一之路又跨进了一步了,不过,在我看过MIDP3.0之后,我觉得如果说MIDP3.0将来能够以比较快的速度普及的话,那比然是J2ME的又一个春天。

MIDP 2.1 新特性:

1、 一个TextField或一个TextBox的最小尺寸(存储容量)不能少于1000个字符

2、 LCDUI布局指令必须被遵循

3、 LayoutManager.insert()方法的行为必须依照以下的描述:insert(Layer,int)
描述:
Public void insert(javax.microedition.lcdui.game.Layer l,int index)
插入一个新的Layer对象到LayoutManager在指定的索引值
描述:
插入一个已经被添加到这个LayoutManager的Layer对象等于先使用LayoutManager.remove()方法删除它,再用insert()方法添加到特定的索引。在LayoutManager.remove()方法被调用前,抛出IndexOutOfBoundsException的情况被检查
参数:
Layer l:被插入的Layer对象
int Index:在被添加的新的Layer对象的索引值

异常抛出:NullPointerException:如果Layer对象为null
IndexOutOfBoundsException:如果索引值小于0。如果索引值大于已经被添加到LayoutManager中的Layer对象的数量且Layer对象不能被添加到这个LayoutManager中。如果索引值大于已经被添加到LayoutManager中的Layer对象的数量且Layer对象已经被添加到这个LayoutManager中

4、 一个带有item Command对象且表示模式是Item.PLAIN的StringTtem对象必须总是被作为添加了Command对象且表示模式是Item.HYPERLINK的StringTtem对象的方式显示

5、 许多的MIDP LUDUI图像组件能包含文本(换句话说,一个字母数字字符),那被显示给用户。这些组件的例子是List, TextBox , Alert , StringItem ,Form和Item。一个实现常常需要截断这些可见的文本因为不能适合被给的UI组件的指定空间。在这种情况下,一个实现必须使用一个适当的可视化指示(例如一个省略符号)来指示用户,文本被截断。实际的符号或被用来显示截断的文本的符号以来于当前设备选择的区域设置。然而,可视化指示应该和用在设备本地的UI的指示一致。

6、 Canvas的触摸事件必须被支持,如果基础硬件支持这个特色。在这种情况下,Canvas.hasPointerEvents()方法应该总是返回true。

7、 Canvas的触摸拖曳事件必须被支持,如果基础硬件支持这个特色。在这种情况下,Canvas.hasPointerEvents()方法应该总是返回true。

8、 Canvas的重复事件必须被支持。在这种情况下,Canvas.hasRepeatEvents()方法应该总是返回true。

9、 双缓冲图像必须被支持。在这种情况下,Canvas.isDoubleBuffered()方法应该总是返回true。

10、 不同的文本输入模式的可用性(例如:预言输入和仅仅是数字的输入)应该和Java和本地的应用程序相一致。这意味着,例如,如果预言输入文本模式在本地应用程序中可用,那也应该在Java应用程序中可用。

11、 Image对象的创建(不管格式)必须至少支持:尺寸等于(屏幕宽度)乘以(屏幕高度)乘以(以字节为单位的颜色深度)或262144比特(128×128×16比特=32KB),无论哪一个更大。注意,一个Image对象的内在表现应该保持至少每个象素16字节的颜色/透明度数据

12、 每一个包括在字符串值的通过System.getProperty(“microedition.commports”)方法返回的串行端口名字必须可获取通过javax.microedition.io.CommConnection接口

12、 在每个协议,AllowedSender域必须匹配适当的输入事件的地址域。地址域的使用和语法和语意以来于协议。然而,地址和过滤器必须被比较通过精确的字符串匹配,在那里,字符串被一个接着一个字符的比较,字符需要正确地匹配通过两个通配符

13、 以下地网络通信协议必须被支持,提供了以下Java ME接口的实现:javax.microedition.io.SockerConnection , javax.microedition.io.SecureConnection, javax.microedition.io.HttpsConnection

14、 javax.microedition.io.HttpsConnection和javax.microedition.io.SecureConnection必须支持SSLv3协议,其它的,例如TLS,WTLS也许被支持。

15、 应用程序描述符应该包含MIDlet-Permissions

16、 以下的JAD/manifest文件属性被定义来支持指定预期的运行时执行环境:Runtime-Execution-Environment:这是一个可选的属性,指出了应用程序必须的运行时执行环境。这个属性也许有值MIDP.CLDC.如果MIDlet suite不指定属性,隐含的默认值是MIDP.CLDC。当值是MIDP.CLDC,实现的行为必须坚持在以下显示的更多的细节描述。这个属性值的附加值被在将来定义。手机实现必须支持这个属性。当值是MIDP.CLDC,实现的行为必须坚持以下要求:1、支持API和API行为,以及基础虚拟机,必须顺从CLDC1.1规范。2、手机实现也许二选一地使用Java ME的CDC规范。然而,如果CDC被用作基础配置,运行在这个平台顶端的应用程序必须看见一个语义学和功能上等于CLDC1.1平台的环境。CDC特定的API或者CDC特定行为必须不能被暴露给应用程序或应用程序开发者。3、当一个应用程序定义了Runtime-Execution-Environment属性值,应用程序必须也定义一个CLDC平台在MicroEdition-Configuration属性值中。4、如果一个应用程序定义了不被实现支持的Runtime-Execution-Environment属性值或MicroEdition-Configuration属性值,应用程序不能被安装。所有的手机实现必须支持MIDP.CLDC值对于Runtime-Execution-Environment属性。

17、 用户使用OTA下载安装之后,实现必须提示用户是否启动MIDlet

18、 实现必须允许MIDlet创建最小为10个的线程

19、 支持至少512个属性

20、 支持MIDlet suite包含1到5个MIDlet

21、 每个MIDlet suite的RMS至少保证64K的空间,在内存足够的情况下

22、 每个MIDlet suite至少可以创建10个独立记录存储

23、 MIDP的MMAPI的子集必须遵守MMAPI1.1或以后版本

24、 MicroEdition.profiles系统属性不能包含相同profile的不同的版本

25、 Image对象中ISO/IEC JPEG和JFIF被支持

26、 支持载入深度为1、2、4、8、16和32位的PNG格式

27、 TextBox和TextField的约束TextField.EMAILDDR和TextField.URL必须允许相同的字符被输入如同被允许输入在TextField.ANY约束下

28、 适合的设备必须实现基于时间的推注册,如果没有其它的安全机制基于时间的推注册不需要被显式的用户的许可