J2ME-MIDP手机游戏开发第1章--J2ME技术概览课件_第1页
J2ME-MIDP手机游戏开发第1章--J2ME技术概览课件_第2页
J2ME-MIDP手机游戏开发第1章--J2ME技术概览课件_第3页
J2ME-MIDP手机游戏开发第1章--J2ME技术概览课件_第4页
J2ME-MIDP手机游戏开发第1章--J2ME技术概览课件_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第1章 熟悉J2ME技术在JBuilder2005工作环境中的应用手机应用开发技术能力目标熟练掌握在JBuilder2005中搭建手机游戏的开发环境;能熟练选择不同的模拟器运行MIDlet;能利用网络获取不同的模拟器和开发包;能熟练地将其他的模拟器嵌入到JBuilder2005工作环境中;能熟练地将手机游戏打包发布;在打包过程中,能使用不用的混淆器实现混淆;能利用多种方法和手段将游戏下载到手机设备; 认知目标了解什么是J2ME;理解配置和简表;了解不同的模拟器和开发包;了解混淆的作用;了解清单文件和应用程序描述文件的构成和作用。1.1 学习情景描述 如今的手机已不仅仅提供通话功能,而是向集成电

2、脑、网络聊天、数码相机、MP3、游戏等智能化、娱乐化方向发展。手机游戏作为手机应用的一个重要分支,正在以不可估量的速度蓬勃发展,逐渐形成了一个独特的、独立的行业。 Sun公司推出的J2ME为手机游戏的开发提供了一个良好的技术支持和开发平台。J2ME中定义的MIDP简表是开发手机游戏的接口,一个手机游戏就是一个MIDP应用程序,MIDP应用程序又被称为MIDlet。 本章的主要任务就是在JBuilder2005中搭建手机游戏的开发环境,新建工程、新建MIDlet,在不同的模拟器中运行该MIDlet。然后打包发布,将其下载到手机上,并在手机上观察运行效果。1.2 开发第一个MIDlet 1.2.1

3、 知识准备:了解J2ME Java的分类 J2SE( Java2 Standard Edition):J2的标准版,通常使用在PC上。 J2EE( Java2 Enterprise Edition):企业版,扩展了给企业使用的EJB(Enterprise Java Beans)与Servlet等功能。J2ME(Java2 Micro Edition) :是以广泛的消费性产品为目标的高度优化的Java运行环境,是Java技术的一个分支,适用于移动电话、可视电话、数字机顶盒和汽车导航系统等等。 J2ME体系结构1/2J2ME平台由Configuration(配置)和Profile(简表)构成。 C

4、onfiguration用于一组通用设备的最小的Java平台,它将基本环境定义为一组核心类(lang、io、util)和一个运行在特定设备上的特定JVM(Java Virtual Machine, Java虚拟机 )。 根据不同的设备,在J2ME中定义了两个Configuration :CDC(Conneced Device Configuration,连接设备配置)和CLDC(Connected Limited Device Configuration,受限连接设备配置)。 CDC提供了与JDK1.1大致相同的函数库,对存储器和GUI部分的系统要求比较高,因此不能用在目前的移动电话上,只能用

5、于比较高端的设备,比如:下一代智能电话、双向对讲机、车辆导航系统等。CDC的JVM一般称为CVM。 而CLDC对系统需求低,只需要160KB512KB的存储器,用电池就可以运行。为手机应用程序提供了一个良好的开发、运行环境。CLDC的JVM一般称为KVM 。Profile是针对一系列设备提供的开发包集合,为某个具体的设备家族或某个具体的工业产品应用程序提供更高的性能。Profile基于Configuration之上,是对Configuration的补充和完善。没有Configuration,Profile是不可能运转的。在J2ME中,已经定义了两种Profile:KJava和MIDP(Mobi

6、le Information Device Profile,移动信息设备简表)。它们被建立在CLDC之上,适用于小型设备。 MIDP是以Sun、Motorola、Nokia为中心的MIDPEG(Mobile Information Profile Expert Group)所制订出来的使用在CLDC上的Profile。MIDP在CLDC的功能之上又附加了适合目标设备的GUI与事件处理功能,是用来开发手机游戏的接口 。 现在MIDP的最新版本为MIDP 2.0(2.1)。和MIDP 1.0相比,最大的不同在于新增了专门用于开发手机游戏的game包。除了一些型号比较老的手机只能支持MIDP 1.0

7、以外,目前市场上的手机大多数都能支持MIDP 1.0和MIDP 2.0。 MIDP 2.0所支持的开发包一共有11个,分别为:基本的核心类库:java.lang、java.io和java.util包。javax.microedition.io包:提供了基于CLDC通用连接框架的网络支持。javax.microedition.lcdui包:提供了用户界面API。javax.microedition.lcdui.game包:MIDP 2.0新增包,提供了手机游戏开发的高级API。javax.microedition.media包:MIDP 2.0新增包,提供了音频、视频等多媒体功能。javax.m

8、icroedition.media.control包:MIDP 2.0新增包,为播放器提供了特定的控制功能。javax.microedition.midlet包:该包定义了MIDP应用程序,以及应用程序和它所运行的环境之间的交互。javax.microedition.pki包:MIDP 2.0新增包,提供用于鉴别安全网络信息的数字认证。javax.microedition.rms包:提供了持久存储的机制。J2ME体系结构2/21.2.2 任务一:在JBuilder2005中搭建手机游戏的开发环境1.2.3 任务二:运行MIDlet 要点提示 1/2 MediaControlSkin:侧重多媒体

9、播放与控制的模拟器面板。在面板上有播放、停止、音量和其他媒体控制按钮。DefaultGrayPhone:具有灰度级显示屏幕的模拟器面板。QwertyDevice:具有QWERTY键盘的模拟器面板。DefaultColorPhone:具有彩色显示屏幕的模拟器面板。这是WTK2.1默认的模拟器。要点提示 2/2 从上面的运行结果可以看出,一个MIDlet在不同的模拟器上运行时,结果不会有太大的区别,在真实的设备上也如此,这体现了Java的跨平台性。但是,从图1-11的四个模拟器中,可以直观地发现,不同的移动设备其屏幕的大小、键盘的布局(尤其是对按键的定义)有可能是不一样的。比如:WTK2.5.2中

10、默认模拟器的屏幕大小为240X291,而在WTK2.1 中默认模拟器的屏幕大小为180X177。还有,屏幕对颜色数量的支持也不尽相同。这样,当MIDlet从一个设备移植到另一个设备的时候,就要考虑对界面布局、图片大小、键盘响应等方面的修改。 另外,需要注意的是,WTK2.1不支持中文路径。如果MIDlet所在的项目路径中带有中文字符,那么在运行时,模拟器一闪就会消失,程序自动结束。 1.2.4 知识拓展: 模拟器和开发包 模拟器是用来在PC机上模拟移动设备运行MIDP应用程序的一个仿真设备。大多数手机厂商在推出Java手机的同时,都会提供相应的模拟器。手机应用程序开发者往往先在模拟器上测试MI

11、DP应用程序,开发完成后,再交给专业的手机测试人员。 需要注意的是,模拟器只能是尽可能地接近真实设备的用户界面、功能和性能,它和真实设备之间还是存在一定差别的,比如在速度上、颜色上和性能上等等。 在开发过程中,选择何种模拟器是很重要的。原则上来说,为哪一种设备开发程序,就要使用哪一种设备的模拟器。 一般来说,不同厂商都对J2ME作出了不同的扩展,都会推出自己产品的开发包。因此,如果想充分地发挥特定设备的功能,最好使用特定厂商的开发包。一般情况下,开发包中会有一个WTK(Wireless ToolKit,无线开发工具包),其中包含了SDK和模拟器。有的还会提供一个和WTK配合使用的开发工具。也有

12、的是直接提供一个独立的开发环境。不同厂商推出的开发包可以到相应手机厂商的官方网站去下载。比如:Nokia的开发包到Nokia的网站去下载,SonyEricsson的开发包到SonyEricsson的网站去下载,Motorola的开发包到Motorola的网站去下载。 1.2.5 延伸任务:下载高版本WTK并将其嵌入到JBuilder2005中1.3 打包发布手机游戏应用程序 1.3.1 任务三:打包和混淆手机游戏应用程序要点提示 关于混淆 混淆的目的是为了保护版权,尽量防止程序被反编译。同时还可以减小JAR包的体积。 RetroGuard是一个非常流行的混淆器,中国移动百宝箱强制使用该混淆器。

13、这也是JBuilder2005中自带的默认混淆器。另一个比较常用的混淆器是ProGurad。这些混淆器一般都是开源的,可以到相关的网站去下载。常见的混淆器和下载地址如下: RetorGuard:http:/,开源。 ProGuard:http:/,开源。 JODE:http:/,开源。 DashO:http:/,商业软件,一般专业公司使用。 ZKM:http:/,商业软件,可以试用。在JBuilder2005中,如果要使用其他的混淆器,可以在打包的第10步,单击“Obfuscator”后面的按钮,在打开的“Select an Obfuscator”对话框中,单击“New”按钮。然后,在“New

14、 Obfuscator Wizard”对话框中单击“Existing Obfuscator home path:”下面的按钮,选择混淆器所在文件夹,单击“OK”按钮即可。 要点提示 打包中的常见问题 如果包的大小有异常,很可能把Thumbs.db文件打进来了,此文件是系统自动生成的,并且是隐藏的,搜索目录,删除它即可。 在使用混淆器的过程中,如果发生应用程序异常,可以尝试不使用或者更换混淆器。 JAR文件下载到设备后,如果出现无效文件格式的问题,可能是由于手机设备不支持MIDP的版本。WTK2.5默认的MIDP版本是2.1,WTK2.1默认的MIDP版本是2.0。重新打包修改MIDP版本,再下

15、载即可 1.3.3 知识拓展:应用程序描述文件和清单文件 应用程序描述文件即JAD(Java Application Descriptior)文件。它由许多描述MIDlet套件的属性组成,位于JAR文件之外。 JAD文件中必须包含的属性有:1、MIDlet-Name:应用程序名称2、MIDlet-Version:应用程序版本号3、MIDlet-Vendor:开发商名称4、MIDlet-Jar-URL: JAR 文件的URL5、MIDlet-Jar-Size: JAR 文件的大小6、MicroEdition-Configuration :CLDC 版本7、MicroEdition-Profile

16、 :MIDP 版本8、MIDlet-Description:应用程序简介9、Media-Price:信息费 清单文件用于提供关于JAR文件内容的信息,它被打包存储在JAR文件中,文件名为MANIFEST.MF。清单文件中的数据格式采用“属性名:值”对规范。MIDP2.0规定清单文件中必须包括的属性有: MIDlet-Name:MIDlet套件的名字 MIDlet-Version:版本号 MIDlet-Vendor:开发商 MIDlet-:对套件中每一个MIDlet的说明。MIDlet-表示对第n个MIDlet的说明,值分为3部分,用逗号间隔。Name:MIDlet名字Icon:PNG图象文件名

17、,MIDlet的图标Class:MIDlet的类名 MIDlet-Profile:简表(MIDP 1.0或MIDP2.0) MIDlet-Configuration:配置(CLDC)注意:前三个属性是和JAD文件共享的,属性值必须一致,否则MIDlet无法运行。1.4 将游戏下载到手机 1.4.1 任务四:通过数据线下载游戏到手机1.4.2 延伸任务:利用蓝牙下载游戏到手机 1.4.3 知识拓展: OTA方式下载游戏1. 应用发现 2. 下载并检验应用程序描述文件(JAD)3. 下载并执行JAR文件本章小结 MIDP应用程序被称为MIDlet。在JBuilder2005中从编写MIDlet到能

18、够在实际设备上运行需要经过以下几个步骤:1. 新建工程(注意选择JDK);2. 新建MIDlet;3. 编写游戏源代码;4. 编译;5. 预校验(这一步被包含在WTK的Build过程中);6. 编写描述文件(JAD)和清单文件(MANIFEST.MF);7. 打包,合成JAR文件;8. 在模拟器上测试与调试;9. 将游戏下载到实际设备上运行。 编写游戏源代码新建MIDlet新建工程预校验打包模拟器实际设备创建描述文件.java.java编译类文件.class资源文件.jar.jad课后实训1/21. Sun公司推出的WTK2.5.2,提供了一个集成开发环境的简化版本,虽然不提供代码的编辑和完整的调试功能,但使用起来非常简单方便。请启动WTK2.5.2,在打开的环境中运行WTK2.5.2自带的实例程序。观察运行效果,并阅读安装文件夹C:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论