WAP之家:为您提供最全最新的WAP技术,CP.SP.3G等行业资讯。 WAP之家交流论坛全新开放 点击进入>>
WAP资讯 | 3G动态 | SP动态 | 运营商动态 | 内容商动态 | 制造商动态 | 论坛讨论>> 每次自动访问
WAP技术 | WAP源码 | 手机编程 | 手机源码 | 无线技术 | J2ME技术 | 手机软件 添加到收藏夹
IVR技术 | SP资料 | SMS MMS技术 | 商业方案 | IVR下载 | 书籍教程 | 工具软件 语言:繁體中文

WAP之家技术文章J2ME技术J2ME基础J2ME平台体系结构

J2ME平台体系结构
作者:mingjava  来源:j2medev  发布时间:2005-11-2 16:01:18
做J2ME应用开发的程序员也许经常会被一些名词或者概念所迷惑,比如Personal Basic Profile和Personal Profile有什么关系?基于CLDC的应用程序能够无修改的移植到基于CDC的设备上嘛?要回答这些问题并不容易,因为你必须首先揭开J2ME平台的神秘面纱。

2000年当J2ME平台的CLDC发布的时候,所有的java开发者都为之兴奋不已。SUN也不负众望在两个月后发布了基于CLDC的MIDP,给开发者提供了开发交互式应用程序的平台。我想现在国内还主要是基于CLDC/MIDP在开发应用吧。J2ME平台的另一个规范CDC在大概10个月后才发布,同时发布的还有Foundation Profile。但是由于他们都没有给开发者提供开发可交互应用程序的API,因此他们发布的影响远远小于CLDC/MIDP的发布。大概在2003年SUN发布了基于CDC的Personal Basic Profile和Personal Profile。他们的组合替代了以前的PersonalJava平台。

是不是已经被这些名字弄糊涂了,我们现在来看J2ME平台的结构。J2ME平台是本着Configuration和Profile结合来设计的。Configuration是提供支持最大范围设备的最小的平台。Profile是针对特定的设备提供相应的开发包集合。在J2ME的两个基本配置CDC和CLDC是按照如下的标准进行区分的。
CLDC:

512 KB 以下内存
有限能源供应(通常使用电池)
有限或非持续网络连接
简单的用户界面
16位或者32位的处理器
CDC:

2M以上内存
具有网络连接能力,通常为无线网络
需要实现java虚拟机规范的全部功能
32位或者64位的处理器

从上述的要求中我们不难看出CLDC主要针对那些资源非常受限的设备比如手机、PDA、双工寻呼机等。而CDC主要面对那些家电产品,比如机顶盒、汽车导航系统等。
下面我们来看看J2ME平台的结构图:


我们可以看出J2ME的核心是Configuration,在它里面定义了java的虚拟机,通过它来和底层的Host OS打交道。Profile提供了访问设备的IO或者图形界面的能力,这样Configuration和Profile共同构成了J2ME的运行环境。比如CLCD/MIDP可以提供给你开发手机程序的环境。在Profile之上针对不同的设备还可以提供不同的可选开发包。
由于CLDC/MIDP大家都比较熟悉了,我们下面主要介绍一下基于CDC的J2ME系统构架,同样还是看它的系统图:

基于CDC的设备可以支持全部的Java2语言规范和Java虚拟机规范,它是CLDC的超集并且远大于CLDC,因此基于CLDC的程序是可以无修改的移植到基于CDC的设备的。Foundation Profile是对CDC进行扩展的Profile,但是他并没有提供GUI的开发包,GUI是在Personal Basic Profile中进行定义的,它提供了AWT的一个子集给开发人员。它还提供了Xlet应用程序模式——针对java TV。Personal Profile是Personal Basci Profile的超集。他提供了对Applet的支持,丰富了AWT的组件,添加了java.awt.datatransfer包。
总结:上面是我对J2ME平台进行的阐述,我想最重要的就是Configuration/Profile的设计。理解了它就掌握了一半。如果大家有不同的意见,欢迎一起交流!

[] [返回上一页] [打 印]
文章评论

用户名: 查看更多评论

分 值:100分 85分 70分 55分 40分 25分 10分 0分

内 容:

         (注“”为必填内容。) 验证码: 验证码,看不清楚?请点击刷新验证码