第1章 J2ME入门
J2ME是Java 2平台的缩微版,其目的是为移动电话、个人数字助理(PDA)、电视机顶盒等资源受限的嵌入式设备提供一个Java程序运行环境。在这个环境中,既包含了符合嵌入式设备需求的Java虚拟机和核心类库,还包含了开发Java应用程序需要的类库和接口。
目前,J2ME在手机、PDA等移动信息设备上得到了广泛的支持。在本章中,首先简单介绍了J2ME的体系结构,然后详细讲解了在移动信息设备上开发Java��用程序的相关知识。
1.1 什么是J2ME
J2ME是Sun公司针对移动电话、PDA和电视机顶盒等嵌入设备定义的Java技术平台,其目的是为这些资源受限的嵌入式设备提供一个公共的、灵活的、开放的Java程序运行环境,也为软件开发人员开发嵌入式设备上的Java应用程序提供一个灵活、开放的开发环境。
J2ME平台由一系列技术规范组成,如CDC(JSR.36)、CLDC1.1(JSR-139)、MIDP2.0(JSR-118)、Mobile 3D Graphics API for J2ME(JSR-184)、Mobile Media API(JSR-135)、Wireless Messaging API(JSR-120)等。这些技术规范是针对不同类型的嵌入式设备或者设备的不同功能定义的,在J2ME技术规范的制定过程中,有很多移动设备制造商和软件开发商参与其中。如诺基亚、摩托罗拉、Sun Microsystem、Symbian等公司。设备制造商使用这些技术规范能够在自己的设备上构建一个灵活的、完整的Java程序运行环境,为用户和软件开发人员提供一个公共的、开放的应用程序开发和运行平台。
目前,J2ME平台在移动信息设备领域得到了广泛的支持,各大移动设备厂商都推出了支持J2ME的无线移动信息设备,并提供了相应的软件开发工具包和设备模拟器。
1.2 J2ME体系结构
J2ME被设计成为层次结构,主要由配置(configuration)、简表(profile)和可选包(optional package)三部分组成,如图1-1所示。
1.2.1 配置层
配置层是J2ME体系结构的核心。在该层中,定义了符合嵌入式设备需求的Java虚拟机(Java virtual machine,JVM)和核心类库。
由于不同嵌入式设备的计算能力有很大的差异,所以J2ME专家组根据嵌入式设备的计算能力将它们分为两大类:一类是连接受限的设备(connected limited device);另一类是连接设备(connected device),并为这两类设备分别定义了符合其需求的Java虚拟机和核心类库。针对连接受限设备的Java虚拟机和核心类库定义在CLDC(connected limiteddevice configuration)规范中,针对连接设备的Java虚拟机和核心类库定义在CDC(connected device configuration)规范中。
1.2.2 简表层
简表层构建在配置层之上,其目的是针对设备的功能特性提供Java类库支持,对配置层的规范进行扩展和补充。
在简表层,对嵌入式设备按其应用的领域进一步细分,把相同应用领域的设备归为一个设备家族,并为设备家族中的通用功能特性提供Java类库支持。支持不同设备家族的Java类库分别定义在不同的简表层规范中。例如,针对移动信息设备的Java类库定义在移动信息设备简表(mobile information device profile,MIDP)规范中,针对个人数字助理的Java类库定义在PDA简表规范中。此外,在这些规范中还定义了Java应用程序的模型、生命周期和**特性等。
简表和配置共同构成了嵌入式设备上的Java运行环境(Java runtime environment,JRE),在一个设备上只有一个符合其配置规范的Java虚拟机和核心类库,但是在一个配置上可以有多个简表规范存在。一个简表规范既可以直接建立在某个配置规范之上,也可以建立在另一个简表规范之上。设备制造商可以选择合适的简表和配置规范在设备上实现,为Java应用提供一个运行环境。应用程序开发人员在为嵌入式设备开发应用程序时,也要针对具体的简表与配置规范,以保证应用程序在实现相同简表和配置的设备之间是可移植的。
……