J2ME是“一种以广泛的消费性产品为目标的、高度优化的Java运行时环境"(Sun公司定义)。J2ME的MIDP规范将成为未来无线移动通信设备应用开发的事实上的标准。本书通过对MIDP2.0规范的全面剖析,重点介绍在资源受限的CLDC设备上开发各种移动应用程序的方法。全书由10章组成,内容包括概论、连接设备与连接受限设备的配置和简表、MIDP编程基础、J2ME应用开发环境与工具、MIDP高级用户界面设计、MIDP低级用户界面设计、MIDP游戏程序设计、MIDP多媒体程序设计、MIDP数据管理程序设计、MIDP网络程序设计等,基本覆盖J2ME平台开发的各个方面的技术。在编写组织上采用了任务和案例驱动方式,实例众多,易于理解。另外,每章后都配有思考题。本书适合有一定Java语言基础的程序设计人员学习使用,既可作为计算机、网络通信等专业本科生、研究生的教材,也可供工程技术人员自学参考之用。本书前言前言近年来,随着计算机、通信、网络和微电子技术的发展,智能消费类电子产品的种类和数量迅速增长,为无线数据业务和移动电子商务领域带来了巨大的应用前景。人们利用种类繁多且功能不断强大的移动设备,通过无线接入技术方便地沟通联系、交流信息,正逐步实现任何时间、任何地点以任何方式进行通信这一理想目标。为了满足这一发展趋势的需求,美国Sun公司不失时机地与世界主要消费类设备制造商合作,为移动电话、双向寻呼机、个人数据助理、智能卡和车载导航系统等资源受限的无线移动类设备,共同创造了一个高度可移植、安全、小容量内存下的Java应用程序开发环境。这就是Java2的微缩平台J2ME(Java2,MicroEdition)。Sun公司将J2ME定义为“一种以广泛的消费性产品为目标的、高度优化的Java运行时环境”。J2ME由于沿袭了J2EE、J2SE中Java虚拟机的思想,遵循“一次编写,到处运行”的编程理念,将Java语言与平台无关的特性移植到小型电子设备上,允许设备之间共享应用程序。因此,自从1999年6月在SunONE(OpenNetEnvironment,开放式网络环境)的JavaOneDeveloperConference大会上推出之后,J2ME迅速占领了小型移动设备应用开发的主要市场。J2ME的成功在于提供了易于理解的、可动态扩展的应用程序开发平台,为设备制造商、网络运营商和内容提供商创造了新的市场机会,同时也为软件开发者开辟了新的天地,使得开发真正的移动应用成为可能,从而让移动设备更具个性化。J2ME事实上是一系列的技术和规范的总称,其核心是Java社团(JavaCommunityProcess,JCP)的两项标准化工作。即连接受限设备配置(ConnectedLimitedDeviceConfiguration,CLDC)和移动信息设备简表(MobileInformationDeviceProfile,MIDP)两项规范。目前,这两项规范的最新版本为CLDC1.1和MIDP2.0。全世界有包括摩托罗拉、诺基亚、西门子、爱立信、NTTDoCoMo、Palm和RIM在内的60多家消费类设备制造公司和移动通信运营商直接参与了此规范的制定工作。尽管J2ME中还有一个针对高端消费类电子设备(如电视机顶盒)的连接设备配置(ConnectedDeviceConfiguration,CDC)规范,但我们更关注大量普及的属于低端消费类电子设备的无线移动设备(例如手机)的应用。因此,本书集中讨论特别为这类产品设计的CLDC+MIDP标准。本书的目标是希望读者尽快掌握J2MEMIDP应用程序的开发技术,因此在编写内容的组织上采用了任务驱动方式,实例中尽量使用完整且简洁的源程序,以便于读者理解。读者以本书各章中的案例作为学习引导,能够全面提高无线移动设备应用系统的开发设计能力。为了兼顾作为教材的用途,各章节内容的安排从易到难,即从基本概念到程序开发,从简单类库到复杂接口,力求既系统完整又突出操作应用。并且每章后配有思考题,以帮助读者巩固所学的内容。在本书的撰写过程中,作者参阅了大量的相关书籍和报刊,同时从互联网上直接或间接引用了一些学者的文章、案例和图表,而这些资料的出处难于一一列举出来,所以在参考书目中仅列举了一部分,在此向所有在本书中被引用资料的作者表示衷心的感谢。由于J2MEMIDP技术发布时间不久,涉及的内容广泛,加之作者学识和编写时间所限,难免存在错误及疏漏之处,恳请读者批评指正。作者在本书的研究工作中得到湖南省自然科学基金项目的资助(项目编号04JJ3064),在此一并表示感谢。