您的位置:首页 > 编程语言 > Java开发

J2ME系列学习(一)

2005-09-29 16:50 288 查看
1 Java平台的划分
J2EE(Java 2 Enterprise Edition) J2SE (Java 2 Standard Edition) J2ME(Java 2 Micro Edition) Java Card
所有平台的划分以J2SE为基准点,J2SE支持所有的Core Class以及8种基本类型(boolean,char,byte,short,int,long,float,double)。
2 J2ME技术架构
三个名词:JCP(Java Community Process),JSR(Java Specification Request),Expert Group。Expert Group 遵循JCP所制定的准则来制定各种JSR。
J2ME由三种类型的规范堆栈而成,最下面的是Configuration,中间是Profile,最顶层是Optional Packages。Configuration定义了硬件所必须具备的能力,比如ROM,RAM,CPU的时钟周期最少应该是多少等,还有一组低级API。Profile针对不同机器的特性定义了高级的API,这些API通常都是与其他平台不相关的扩充类库,高级API决定了该种机器上java程序的撰写方法。而就算是同种设备,也有不同的功能,这些功能就定义在Optional Package(厂商选择性实现包)中。
名词:RI(Reference Implementation)参考实现 TCK(Technical Compatible Kit)兼容性测试包
3 CLDC CDC MIDP
CLDC(Connected Limited Device Configuration)有限连接设备配置
CDC(Connected Device Configuration)连接设备配置
MIDP(Mobile Information Device Profile)移动信息设备简表
J2ME大致把所有的嵌入式设备大体上分为两种:一种是资源有限,包括运算能力有限,电力供应有限,联机速度有限或是屏幕大小与色彩有限的嵌入设备,比如PDA,手机;另一种是资源相对无限的设备,比如说冷气机,电冰箱,电视机顶盒。相对于这两种设备的Configuration就是上面列出的CLDC和CDC。
CDC1.0和 CDC1.1在Core Class上和J2SE相差无几,也支持所有的java基本类型。但是CLDC1.0就相距甚远,除了只剩下两三个包之外,也不支持浮点数(float,double)。CLDC1.1加强了CLDC1.0的功能,提供了浮点数运算的支持,也增加了java.lang.Float和java.lang.Double两种工具类,还有与J2SE更相近的工具集java.util.Calendar,java.util.Date,Zone等等。虽然增加了很多功能,但运行时最小内存也从CLDC1.0的160KB增加到192KB。
上面说的是配置(Configuration),下面看看简表(Profile)。
Profile是定义在Configuration之上的规范,每种profile都会声明它是根植于哪种Configuration的。之所以会有Profile的出现,是为了要更明确区分出各种嵌入式设备之上的java程序该如何开发,以及它们应该有什么功能。其中Mobile Information Device Profile(MIDP)就是针对移动设备所定义的,比如Pager,Mobile Phone等等,都是属于移动设备。另一个Information Module Profile(IMP)则是针对没有屏幕的移动设备所设计。
目前MIDP2.0规范要求屏幕大小至少要95×54的黑白屏幕,至少要有256KB的内存,8KB以上的非易失性内存(non-volatile memory)作为应用程序储存数据使用,以及能够播放声音的功能。
4 Optional Packages和Building Block
所谓厂商选择性实现,通常是一些本身具有独立价值的API,厂商可以按照自己的需求,选择性的实现其中某些Optional Packages规范。它是架构在特定Configuration之上。例如,PDA Optional Packages就是由Palm Computing公司所主导,用来补充MIDP功能的Optional Packages,尤其某些在PDA上很重要,而MIDP又没有的功能,例如AWT,PLM等。
由于在完整的Optional Package规范中所制定的功能过于强大,某些机器因为时空问题无法顺利实现出来,或是短期内对于Optional Package所提供的功能并没有完整的需求,从而有了Building Block的出现。
JTWI(Java Technology for Wireless Industry)是一个综合性的规范,其目的是为了确保J2ME软件的可移植性。JTWI主要分为三部分:1 规定平台必须支持的API 2 统一的应用程序执行环境 3 既有规范的理清与加强。 在API部分,JTWI规定至少必须支持CLDC1.0、MIDP2.0以及WMA1.1。
最完整、功能最强平台:CLDC1.1+ MIDP2.0+ WMA1.1+ MMAPI1.1
JTWI规定:可以执行J2ME应用程序的移动通讯设备,至少可以容许大小为64KB以上的程序主体(JAR文件)、5KB以上的应用程序描述文件(JAD文件)、30KB以上的永续存储空间,执行时期的内存为256KB。
JTWI规定:设备所支持的任何媒体格式(例如图片、声音、影象等)都应该能够使用HTTP1.1提取,即存取这些媒体所使用的URL都必须能够接受HTTP作为存取的通讯协议。
5 MIDP应用程序的部署
所谓MIDP应用程序,就是指遵循MIDP规范所开发的应用程序。一个完整的MIDP应用程序由两个文件组成:应用程序主体(JAR文件)和应用程序描述文件(JAD文件)。当我们完成一个MIDP应用程序之后,必须让程序能在用户的设备上执行,这个行为称为部署(deploy)。
部署方式:两种——OTA 与 非OTA
OTA(Over The Air)即经由无线通信网络将MIDP应用程序下载到设备上。
非OTA:1传输线和买手机附赠的下载软件   2 红外线(IrDA)   3 蓝牙(Bluetooth)   4 多媒体信息服务(MMS)   5 Email附件
JINI:一种可以连接各种java平台的技术。不同平台的java程序经由JINI能够彼此连接在一起,彼此分享对方的资源。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  j2me j2se java api 平台 mobile
相关文章推荐