JavaMe嵌入式程序设计cha.ppt
《JavaMe嵌入式程序设计cha.ppt》由会员分享,可在线阅读,更多相关《JavaMe嵌入式程序设计cha.ppt(65页珍藏版)》请在三一办公上搜索。
1、Java Me 嵌入式程序设计,张家耀主讲,北大青鸟就业明星,培训费用:每学时近100元。学长:王天胥,何宏智,黄忠玉。,第1章 Java Me概述,本章重点研究:Java ME平台的架构;虚拟机、配置、简表、可选包的内容;MIDlet程序的基本结构MIDlet套件的基本组成 J2ME的规范。,第一章Java Me概述,本章简介本章重点讲解Java ME的体系结构,详细分析每一个软件层次的组织,明确Java ME的分层结构自下至上是:操作系统、虚拟机、配置、简表和可选包。进而介绍了MIDP应用程序_MIDlet的基本结构,和MIDlet套件的基本组成。最后介绍相关规范,第一章,1.1 Java
2、 ME 平台移动互联网的时代到来了!越来越多的从不同的角度喊出了同一口号。几乎每一个农民工手中都有一部手机,但他们中的大多数人没有PC机。可见手机普及率远高于PC机。近日发布的调查显示:我国通过手机上网的用户已经超过1.176亿。随着我国具有独立知识产权3G技术的普及和发展必然开拓出属于手机应用的广阔空间。可以想象某一天你用手机打开车门,刚一下班就用手机打开热水器准备好洗澡的热水,用手机把刚刚收集到的数据发给老板,汇报工作。是何种惬意的生活。,第一章,然而手机操作系统市场并不像PC机那样有统一。从老牌的Symbian和Windows Mobile到后起之秀iPhone 和Android都有这不
3、少的客户群,而且可以预见不远的将来还会有更多的厂商进入这个炙手可热的领域。面对如此众多的平台如何找到一种统一的开发方法,开发出各种操作系统都兼容的软件产品呢?Java Me为我们提供了一个很好的解决方案。,第一章,1991 年,Sun公司中由James Gosling,Bill Joe 等人组成的Green小组开发了名为Oak的软件,开发的目的是用于电视等家用电器的嵌入式应用。Oak语言是Sun公司为一些消费产品而设计的一个通用环境,最初的目的只是开发一个独立于平台的软件技术。后来发展成为Java。发布之后风靡于WWW世界,广泛应用于网络计算。Java语言的设计特点是简单、安全、易于维护、可移
4、植性强。它采用了虚拟机技术,把源程序编译成二进制的中间代码,然后在设备虚拟机上运行,这就是“一次编程、到处运行”的思想。在Java网络应用大获成功的同时,也面临着更多设备都要接入互联网这样的挑战。,第一章,尤其是众多厂家和型号的手机要接入互联网,接入设备操作系统不同,输入、输出方式各异,内存和处理机的能力有限,因此对其可移植性提出了更强的要求。为了解决这个问题Sun公司推出了Java的微型版,即Java ME(Java Plantform Micro Edition)Sun公司将Java Me 定义为“Java Platform,Micro Edition provides a robust,
5、flexible environment for application running on mobile and other embedded device”.好了,从现在开始我们希望能用Java Me这把嵌入式开发利剑统一手机应用程序开发这一混乱的领域。,第一章,1.2 Java ME体系结构Java ME是专门面向小型手持设备,嵌入式应用软件开发的平台,可以应用到移动电话、个人数字助理(PDA)、网络IP电话、机顶盒、家庭娱乐多媒体系统、信息家用电器以及车载导航等系统中。Java ME面对的是大量不同的设备,这种不同不仅表现为硬件的结构,更大程度上还表现为功能应用的不同。为了适应这众多
6、不同设备的需求,Java ME在组织这些设备时采用了分层的概念,它将运行在硬件以上的软件分成若干个层次,如图1-1所示。,第一章,图1-1 J2ME软件的层次结构,第一章,1.2.1 操作系统在软件的最底层是操作系统(Host Operating System),它负责管理和配置该手持设备的所有硬件,也就是说其他所有的软件必须通过操作系统才能使用硬件资源。当前流行的操作系统主要有以下几种:用于开发移动电话:Symbian、Linux、Windows Pocket PC、Palm OS以及最近迅速发展的iPhone和Android等;用于开发其他嵌入式设备:VxWorks、Linux、Windo
7、ws CE等。1.2.2 虚拟机在操作系统之上是Java虚拟机(Java Virtual Machine,JVM),所有的Java程序只能运行在JVM上,为此实现Java开发平台必须首先实现JVM。对于Java ME的标准参考实现的虚拟机为CVM和KVM.CVM适用于那些瘦客户端,如数字机顶盒、车载电子系统等;,第一章,KVM应用于那些电池供电的手持移动设备,如移动电话、PDA等;CVM和KVM适用的硬件资源是前者高后者低,根据不同的硬件选择不同的虚拟机。KVM在功能上是CVM的子集。KVM的最大特点是小而高效,只需要几万字节的存储空间就可以运行。KVM虚拟机和类库只需占有K量级的存储空间,即
8、5080KB,具有较高的可移植性和可扩展性。KVM是专门执行下载到低端的CLDC设备上的MIDlet程序。KVM虚拟机是根据相应的设备完全重新编写的,它不是现有JVM的改进产品。虽然Sun公司推荐CVM和KVM作为Java ME的虚拟机,但这不是必需的,实际上,只要满足配置中的规范定义,通过兼容性测试就可以作为虚拟机应用在小型设备上。,第一章,1.2.3 配置层在虚拟机之上的软件层次是配置(Configurations),Java ME支持的硬件有很大的差异,不可能构建一个适用于所有设备的开发平台,为了满足不同设备的开发需求,Java ME引入了配置的概念,屏蔽了不同硬件设备的物理特性。它包含
9、一些核心的类库,定义了Java虚拟机类型和一些基础API,当前Java ME存在两种配置CDC和CLDC。将具有固定连接的、不间断网络连接的共享连接信息设备,如电视机顶盒(Set-Top Boxe),网络电视(Web TV),支持Intenet的可视电话,汽车娱乐/导航系统等归为一类即:连接设备配置(Connected Device Configuration,CDC)。另一类是具有间断网络通讯能力的个人移动信息设备,如手机、双向寻呼机、个人数字助理PDA、销售点终端POS等,为连接受限设备配置(Connected Limited Device Configuration,CLDC)。我们在编
10、写Java ME的程序之前要根据运行程序的硬件情况选择合适的配置。,第一章,1.2.4 简表层在配置之上的软件层次是简表(Profiles),它是某个行业或者某个领域内的特性概括,每套简表专门针对某一类设备。例如,移动电话具有一套简表;PDA也具有一套简表;数字机顶盒具有另外一套简表。简表与它的上一层配置是必须组合使用。简表以配置为基础定义了一些附加的类和包,简表是专门针对某个特定行业或设备家族上API的最小集合。每个配置上都定义了若干个简表,如前所述,Java ME中包含了两个配置CDC和CLDC,相应地,存在着两套支持不同配置的简表。支持CDC的简表包含:FP(Foundation Pro
11、file,基础简表)、PP(Personal Profile,个人简表)和PBP(Personal Basic Profile,个人基础简表)。支持CLDC的简表目前只有MIDP(Mobile Information Device Profile,移动信息设备简表),它是目前移动电话上使用的的主要简表。,第一章,1.2.5 可选包(Optional Package)J2ME通过CLDC、CDC及其对应的简表规范了小型设备大部分的通用功能,为了保持良好的扩展性,J2ME引入了可选包,达到进一步扩展功能的目的。下面介绍一些常用的、功能强大的可选包。蓝牙功能:它提供用于开发蓝牙通信程序的接口,当然小
12、型设备中必须有蓝牙设备才能运行该接口编写的程序。无线消息功能:它支持无线消息以平台无关的访问方式访问无线资源,它既支持CDC也支持CLDC。,第一章,移动多媒体功能:它提供了在小型移动设备上处理音频和视频等多媒体的能力,包括播放音频视频、录制语音等。它允许在具备摄像功能的设备上录制视频,允许在具备麦克风的设备中录制音频。移动3D图形功能:主要用于CLDC 1.1平台,支持开发3D图形程序,特别是Java 3D游戏。可选包一般针对新兴的技术,进行一些试验性的探索,如蓝牙、Web服务、无线消息等,一旦技术成熟,这些可选包就很可能会合并到简表甚至配置中。,1.3 移动信息设备简表(MIDP)MIDP
13、简表它是建立在CLDC连接受限设备配置基础上的简表。它定义了移动信息设备特定设备家族的特殊需求。是本书重点介绍信息设备。1.3.1 MIDP目标设备的特征简表MIDP定义的移动信息设备的特性如下:,(1)小屏幕尺寸,单色或彩色的显示设备;(2)单手数字键盘、双手标准键盘或触摸屏的输入设备;(3)较少的易失性内存,非易失性内存一般需要128kB用于MIDP组件;8kB用于持久存储数据;32KB用于Java的虚拟运行时环境。注意这里并不包括CLDC对内存的需求。(4)有限带宽条件下的无线通信;(5)音频和视频采集设备。,1.3.2 MIDP简表涉及到的功能范围目前MIDP有两个版本v1.0和v2.
14、0,1.0版本的功能包括应用程序的下载、网络连接和传输、数据库存储、计时器和用户界面。2.0版本扩展了的功能有:应用下载的计费,网络安全传输,数字签名,域的安全模式,注册和音频处理。MIDP功能结构图如图1-2所示。,图1-2 MIDP功能结构图目前大多数移动手机都支持MIDP v2.0的简表,本书也将以2.0版本为例,介绍Java ME平台的编程方法。,1.3.3 MIDP 类库MIDP类库是建立在CLDC类库基础上,所以首先可以使用CLDC的四个软件包中的类有三个是从java 标准版继承的,一个CLDC所特有的。从java 标准版继承的软件包:核心输入、输出包:java.io:通过数据流提
15、供系统的输入、输出。核心语言包:,java.lang:定义MIDP的语言类,在CLDC中java.lang包的基础上增加了类java.lang.IllegalStateException,它是一个 RuntimeException,指出在不合法或不合适的时间已经调用了一个方法。比如在一个TimerTask安排中调用或者在用户界面组件容器中请求时抛出这个异常核心实用工具包:java.util:定义MIDP的工具类,在CLDC中java.util包的基础上增加了类java.util.Timer和java.util.TimerTask。java.util.Timer用于为后台线程中将要执行的任务确定
16、时间;java.util.TimerTask被java.util.Timer类使用,用于为后台线程中稍后的执行定义任务。还有一个包是CLDC特有的包:,网络包:javax.microedition.io:MIDP提供了基于CLDC通用连接框架的支持,在CLDC的基础之上,新增加了一个接口javax.microedition.io.HttpConnection,为建立HTTP连接提供必要的方法和常量。MIDP自己特有的包有:用户界面包:javax.microedition.lcdui:为MIDP应用程序提供用户界面。,游戏包:javax.microedition.lcdui.game:为MIDP
17、应用程序提供游戏API(MIDP 2.0规范支持)。数据持久存储包:javax.microeition.rms:用来为MIDP提供数据持久存储机制,应用程序可以存储数据记录,以供在以后需要时获取。应用程序生命周期包:,javax.microedition.midlet:定义MIDP应用程序以及应用程序和它所运行环境之间的交互。声音媒体包:javax.microedition.media:提供了对移动多媒体的支持。javax.microedition.media.control用来提供对声音媒体的管理、播放和控制功能(MIDP 2.0规范支持)。MIDP和CLDC所特有包是本书讲述的核心内容。在
18、以后的各章中都会指出各章内容所在的包。,第一章,1.3 MIDP应用程序MIDlet MIDlet是MIDP应用程序的基本执行单元,sun公司对MIDP上的应用程序的一个独特叫法,意思是“MIDP小应用程序”。它是为满足小型资源受限设备的特殊要求,由MIDP规范所定义的一种全新的应用程序模型。MIDlet与标准Java程序中的Applet小应用程序一样,必须运行再一个特定的环境中,或者运行在以称之为容器的大应用程序中。这个大容器可以适应不同厂家、不同型号和多种功能的移动设备。然而这个容器的内部为MIDlet提供了一个统一的接口。程序的开发者只需要编写规范的MIDlet就可以了。,第一章,1.3
19、.1一个最简单的MIDlet做为MIDP应用编程的例子,我门考察一下一个最简单的MIDlet,HelloChina程序。主要功能就是能够在屏幕上显示“Hello,中国 你好!,”.通过这个例子我们可以了解到MIDlet的基本结构特征。源程序名:HelloChina.javaimport javax.microedition.midlet.*;import javax.microedition.lcdui.*;public class HelloChina extends MIDlet implements CommandListener,第一章,private Display display;
20、private Command exitCommand;private TextBox t;public HelloChina()display=Display.getDisplay(this);exitCommand=new Command(Exit,Command.SCREEN,1);t=new TextBox(Hello,中国 你好!,256,TextField.ANY);t.addCommand(exitCommand);,第一章,t.setCommandListener(this);public void startApp()display.setCurrent(t);public
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JavaMe 嵌入式 程序设计 cha
链接地址:https://www.31ppt.com/p-6509361.html