版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1第一章走进J2ME移动开发世界任柯E_mail:jacky711@《J2ME移动应用开发》电子讲义23G时代的呼唤
移动开发基础
什么是J2ME
J2ME技术框架
JTWI
J2ME与WAP
J2ME优势
33G时代的呼唤PDA、智能手机的普及,满足了智能移动应用对于终端设备的需求3G通信网络技术打破了网络带宽的瓶颈移动应用必将迎来新的开发高潮!41.2移动开发基础1.2.1移动设备操作系统(1)Symbian
目前Symbian的最新版本为Symbian9.0(2)WindowsMobile
最新版本为2005年5月发布的WindowsMobile5.0
(3)PalmOS
使用PalmOS的代表性的产品有Palmm505、Palmm500、PalmIII、HandspringTero90等
51.2移动开发基础(4)Linux
典型代表是摩托罗拉在智能手机A760和三星i519等
6平台优势劣势WindowsMobile大量的开发人员、熟悉的开发工具及技术支持,自身拥有强大的技术能力和强悍的营销能力。开发出来的应用程序较其他平台要消耗更多的资源。Symbian具有市场配置和销售的绝对优势,同时与无线软件开发公司密切合作,针对其平台开发出一系列的工具。由于Symbian是专门针对电话设计的,因此扩充性和编程方面存在一些不便。Linux内存要求低,软件版本更新较快,微内核结构简单,为构造可嵌入系统提供了可高度模块化的构件方法。Linux体系的实时应用弱,可靠性不强。PalmOS操作简单,对硬件要求低,应用软件反应迅速,新推出的PalmOS支持无线接入功能,支持各种无线通信技术,融入了更多的BeOS特性。系统开放性差,应用程序有限,扩展方面较弱,在国内的应用不及前三种广泛。表1-1几种主要的移动操作系统对比71.2.2移动开发技术(1)直接基于操作系统的开发(2)BREW81.3什么是J2ME
J2ME实际上是一系列规范的集合,由JavaCommunityProcess(Java社区组织,简称JCP)制定并发布相关的Java规范请求(JavaSpecificationRequest,简称JSR),各个厂商按照规范在自己的产品上进行实现,但是必须要通过TCK(TechnicalCompatibleKit,兼容性测试包)测试来确保兼容性。9四种Java平台10注意:不同的Java版本支持的同一名称的类和方法在内部实现上很可能是不同的,因为Sun针对不同的运行环境(如执行速度、内存容量等)进行了优化,但幸运的是这一点对开发人员并没有任何影响。111.4J2ME技术框架J2ME定义了一种灵活的层次规范结构,来规范众多的移动设备。不同层次的规范相互协作来提供一个完整的移动Java平台。J2ME定义的移动Java平台分为4层:主机操作系统配置简表厂商可选包12J2ME技术框架厂商可选包简表配置(JVM)主机操作系统131.4.1配置(Configuration)配置规范定义了硬件所必须具备的能力,例如硬件至少具备多少ROM、RAM,CPU的时钟周期最少应该是多少,连接网络时频宽至少要多宽。J2ME配置定义了特定设备可用的虚拟机和低级API,同时提供相应的开发基础。目前可用的配置有两种:CDC(ConnectedDeviceConfiguration,连接设备配置)CLDC(ConnectedLimitedDeviceConfiguration,连接有限设备配置)。14规定这类型的设备如果要能执行Java程序,则必须满足某些特定条件(CPU速度、内存、联机速度),这些必须满足的条件就定义在
ConnectedLimitedDeviceConfiguration(CLDC)规范之中。另外一种设备则称为Connocedevice(可连接、资源相对无限的设备),这种设备要能够执行Java程序的规范则定义在
ConnectedDeviceConfiguration(CDC)规范里面。
1516J2ME常见配置规范规范编号规范名称网址JSR30J2MEConnected,LimitedDeviceConfiguration1.0/jsr/detail/30.jspJSR139J2MEConnected,LimitedDeviceConfiguration1.1/jsr/detail/139.jspJSR36J2MEConnectedDeviceConfiguration/jsr/detail/36.jspJSR218J2MEConnectedDeviceConfiguration1.1/jsr/detail/218.jsp17J2ME最基本的规范制定在JSR-68(Java规范编号第68号),在此规范里头定义了J2ME的技术架构
181.4.2简表(Profile)简表针对各种不同硬件设备的特性定义了高级的API,这些高级的API通常都是与其它硬件设备不相关的扩充类库。这些高级API决定了该种设备上Java程序的编写方法。简表是架构在配置之上的规范,因此每种简表都会声明它是根植于哪种配置的。Sun推出了2种可用的参考J2ME简表:基础简表和移动信息设备简表。19ProfileProfile是架构在Configuration之上的规范。所以每种Profile都会声明它是根植于哪种Configuration的。之所以有Profile的出现,是为了要更明确的区分出各种嵌入式设备之上的Java程序该如何开发,以及它们应该具有哪些功能。因此Profile中定义了与特定嵌入式设备非常相关的扩充类库。
20通常Java程序在各种嵌入式设备上的用户界面该如何呈现就是定义在Profile上的(例如MIDP之中的LCDUI,LiminitedConfigurationDeviceUserInterface).Profile之中也是定义了程序该如何和用户或设备产生互动(例如程序的生命周期,如何接受来自用户的信息)。Profile之中定义的扩充类库是根据底层Configuration内所定义的核心类库所建立,为了更符合特殊设备的需求,Profile会在Configuration之中的类增加新的方法,或是让方法抛出新的异常。
211.4.3厂商可选包(OptionalPackages)所谓的厂商可选包,指的是由厂商提供给程序开发人员的一组和其它规范(或API)没有任何依存性的类库,开发人员可以利用这一类库开发出具有特定功能的应用程序。221.5JTWI即使使用标准的API,程序也不一定就能够移植,因为J2ME规范并没有对应用程序的大小和执行环境等细节进行详细规范,如各个厂商对应用程序的大小限制不一样,有的是30K,有的是50K。对线程支持的程度也不一样,有的可以支持3个,有的是5个。因此仅仅依靠J2ME还不能够确保应用程序的可移植性,JSR185中提出的JTWI(JavaTechnologyforWirelessIndustry,无线工业Java标准)是一个综合性的规范,其目的主要是为了确保J2ME软件的可移植性。它主要包括2个部分:23规定平台必须支持的API
统一应用程序的执行环境
24JSR185对Java应用程序的执行环境进行了规范,实现JTWI的设备必须遵守这些规范:设备必须支持64K大小的应用程序和5K的JAD文件。持久性存储的大小为30KB,堆空间从MIDP2.0中的128KB提高到256KB。记事功能,因此允许程序中可以使用PushRegistry的registerAlarm()方法。JSR185对设备的屏幕尺寸作了建议125*125/12bits。设备必须支持JPEG格式的图片。HTTP1.1必须被支持。JSR185是基于WMA的,因此设备必须具备短消息发送和接受的能力,JSR185还规定,应用程序在准备发送短消息的时候,当提供了TextField和TextBox组件的时候,应该可以给用户弹出本机电话本可以选择。对移动多媒体进行支持,必须实现对MIDI和单音的支持。251.6J2ME与WAPWAP是在线浏览技术,只能以B/S模式运行于在线环境,而J2ME采用C/S模式,既可以用于在线环境,也可以用于离线应用。J2ME与WAP并没有竞争关系,而是面向不同领域的两套解决方案。如果是面向浏览的应用,比如新闻、天气预报等,可以继续使用WAP方案;如果是需要智能处理的应用,比如收发E-mail、股票信息等,就更适合用J2ME实现。261.7J2ME优势跨平台特性。面向对象编程语言的强大能力。强大的内置安全模型。与企业应用的无缝结合。27JINI技术
JINI是一种可以连接各种java平台的技术。不同java平台的程序经由JINI,能够彼此连接在一块,彼此分享对方的资源。其中,CLDC需要Gateway才能与JINI连接,原因在于他们没有RMI功能。而CDC可以实现RMIOptionalPackages以取得RMI功能。SmartCard平台由于其特性使然,并没有经由JINI与其他Java版本的应用程序做沟通,只是在JINI所造成的广大分布式环境中作为认证用。
282930PersonaljavaPersonalJava是正规java版本的一个分支,其目的是能够让pda或手机执行java程序,目前在PocketPC或SymbianOS上都可以开发PersonalJava应用程序。
PersonalJava规范并不属于J2ME的CLDC或者是CDC,虽然最后它将会回归到CDC的PersonalProfile融合,但是目前其规范还是继续在发展中。之所以有这种情况,是因为长期以来已经有许多围绕着PersonalJava的规范所实现出来的商业产品。
3132MIDP应用程序开发
这里讨论的J2ME无线应用开发主要是基于CLDC/MIDP的开发,其应用程序可运行于移植有KVM的手机、PDA等,这类设备由MIDP定义,即移动信息设备(MID),可看作垂直应用市场。
MIDP应用程序的运行可以在模拟器上进行,也可以把应用程序通过IrDA、RS232或OTA等方式之一下载到目标设备上运行,通常情况下都是在模拟器上运行。33本部分采用的开发环境是Sun公司的J2MEWirelessToolkit2.2,大家可以在Sun公司网站上免费下载。其中,包含了程序运行需要的模拟器。当然,大家也可以采用其他功能更强大的开发工具,比如:Jbuilder、Eclipse等可视化开发工具。J2MEWirelessToolkit的安装非常简单,只需要大家根按照提示一步一步的安装。34新建并运行MIDP程序
第一步:我们通过开始菜单,启动J2MEWirelessToolkit2.2工具集中的KtoolBar第二步:然后点击NewProject按钮,在弹出的输入框中输入ProjectName为HelloWorld,MIDletClassName为Hello。
第三步:点击CreateProject,开始生成项目,工具会弹出MIDP配置简表。
35第四步:这里接受生成的默认值(以后还可以修改)点击OK,工具提示我们把写好的Java源程序放到[WTK_HOME]\apps\HelloWorld\src目录之下
第五步:用程序编辑器编辑程序Hello.java,并保存到[WTK_HOME]\apps\HelloWorld\src目录之下。
第六步:保存好了之后,点击Build按钮,工具会为你编译程序。
第七步:再点击Run按钮,会弹出一个手机界面,显示程序运行结果。
36综合示例
//应用程序生命周期,和J2SE一样,包java.lang.*是默认加载的importjavax.microedition.midlet.*;//MIDP用户界面importjavax.microedition.lcdui.*;publicclassHelloextendsMIDletimplementsCommandListener{privateDisplaydisplay;//引用MIDlet的Display对象privateTextBoxtextBox;//Textbox显示一条消息privateCommandcmdExit;//设定按钮用于退出MIDletpublicHello(){//MIDlet构造程序
display=Display.getDisplay(this); cmdExit=newCommand("Exit",Command.SCREEN,1); textBox=newTextBox("MyFirstMIDlet","Hello,J2ME!",50,0); textBox.addCommand(cmdExit); textBox.setCommandListener(this);}//必须要实现的接口,被应用管理软件调用来启动MIDletpublicvoidstartApp(){display.setCurrent(textBox);}publicvoidpauseApp(){}//必须要实现的接口publicvoiddestroyApp(booleanunconditional){}//必须要实现的接口//检查一下是否选择了退出命令publicvoidcommandAction(Commandc,Displayable
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学校200年德育总结
- 劳务派遣用工的法律风险防控措施
- 产品介绍活动策划方案(3篇)
- 学生跨市活动策划方案(3篇)
- 反压施工方案(3篇)
- 听花酒营销方案(3篇)
- 古镇活动策划方案范文(3篇)
- 施工方案过程管理(3篇)
- 杂技活动预热方案策划(3篇)
- 歌城营销方案(3篇)
- 安全事故应急救援预案范文
- 2025年测绘工程专升本真题试卷(含答案)
- 氢能技术应用知识培训课件
- 植物向日葵养护知识培训课件
- 幼儿园课件:《体能大循环的有效开展策略》
- 医药卫生人员进修申请表
- 非法营运车辆课件
- (正式版)DB15∕T 4138-2025 《餐饮场所使用醇基燃料消防安全管理规范》
- 香港密闭空间人士考试试题及答案
- 工装装修方案(3篇)
- 农村应急供水保障技术导则(T-JSGS 010-2023)
评论
0/150
提交评论