1、使用JAVA GUI开发俄罗斯方块游戏学 院: 软件学院 专 业: 软件工程 指导教师: 2014年9月1 使用JAVAGUI开发俄罗斯方块游戏 摘 要 随着通信技术的发展和电脑的普及,小游戏的开发技术越来越为人们所关注。以J2SE为开发平台,利用Java提供强大工具,不但可以在电脑上实现静态HTML技术所无法实现的计算处理、数据存储、与服务器的通信等功能,而且能够开发各种电脑小游戏。本文在介绍J2SE及其体系结构的基础上,以俄罗斯方块游戏为实例,描述了借助J2SE的类库开发电脑小游戏的过程。关键词:游戏,应用程序,永久性数据 The Use of JAVAGUI Development of
2、 Tetris Game AbstractAlong with communication development and computer popularization, people more and more pay attention to the handset game development technology. Develops the platform take J2SE, provides the powerful tool using Java, not only may realize the handset functions that static HTML te
3、chnology be unable to realize, such as computation processing, data storage, and communication with server, but also can develop all kinds of handset games. On the basis of the technology and architecture of J2SE being introduced, the Russian game was taken as a example, the development process of g
4、ame with the aid of the J2SE class library is described in this article.KeyWords: game,application pragram, Permanent data目 录1 引言11.1研究现状11.2主要研究的目的及内容22 应用需求分析与可行性分析42.1 应用需求分析42.2 其他需求分析52.4 可行性分析62.4.1经济可行性62.4.2技术可行性62.4.3 运行可行性62.4.4 时间可行性62.4.5 法律可行性62.5 系统开发步骤73 工程概况83.1 项目名称83.2 设计平台83.3程序设计
5、思想103.4主要实现的功能114 开发背景135 游戏的实现215.1游戏设计的具体实现215.1.1游戏界面的设计实现215.1.2俄罗斯方块的造型225.1.3俄罗斯方块的旋转225.1.4如何实现方块的运动和自动消除满行的方块23 第 页 共 页 5.1.5游戏速度和游戏级别自由选择245.1.6游戏得分的计算和游戏菜单的编辑255.2 游戏功能的介绍256 系统测试286.1 游戏界面菜单选项的功能测试286.2 按键事件的功能测试286.3方块堆砌与消行测试296.4 测试结果分析297 总结30参考文献31致谢32 第 页 共 页 1 引言1.1研究现状Java语言是美国Sun
6、Microsystem的James Gosling、Pratrick Naughton及Mike Sheridan等人于1991年精心设计出来的计算机编程语言,其构想在于实现使用同一种编程语言所写出来的程序可以在不同的平台上运作。这种架构对于消费性电子产品而言是具有革命性的,因为在消费性电子产品中的处理器及操作系统各不相同,要在这些平台上开发程序必须要了解各个平台的特性,以及其提供的API使用方式,分别开发不同的版本才能执行,影响应用程序的普及性。近几年,由于微处理器性能的大幅提升,加上无线通讯技术的突破,手持式电脑设备开始受到大众的青睐。短短几年内,电脑已经升级了几代产品,普及率逐年攀升,生
7、产效率不断上升,产品价格比个人电脑的摩尔定律有更惊人的下调,以至电脑是大多是城市居民不可缺少的一件随身设备。继短信、彩信等服务之后,中国移动提供基于Java的百宝箱业务,应用产品遍及商务应用、信息获取、英汉互译、游戏娱乐等多媒体领域1。为了适应移动数据的发展,推动无线电子商务等业务的发展,J2SE既用于嵌入式系统的Java被引入电脑领域。J2SE的出现实际上是Java技术的回归。作为Java2平台的一部分,J2SE与J2ME、J2EE一起,为应用的客户端和服务器端建立了完整的开发、部署环境2。随着J2SE的应用,它为移动互联引入了一种新的模型,既允许电脑可以从互联网上下载各种应用程序,并在电脑
8、创造可执行环境离线运行这些程序。由于定义了可执行下载的标准,并在电脑上创立了可执行环境和程序开发语言,由此,在电脑业第一次为软件开发商创造了巨大的商业机会,电脑用户在得到丰富应用体验的同时,也大大提高了运营商的网络流量。随着通信技术的发展和电脑的普及,电脑游戏的开发技术越来越为人们所关注。以J2SE为开发平台,利用Java提供强大工具,不但可以在电脑上实现静态HTML技术所无法实现的计算处理、数据存储、与服务器的通信等功能,而且能够开发各种电脑游戏。JAVA语言继承了basic语言易学易用的特点,特别适合于初学者学习windows系统编程。随着21世纪信息社会的到来,电脑在人们的工作和生活中的
9、深入,要求我们越来越多地与电脑打交道,为了使用户在繁忙的日程工作中得到放松,于是出现了各种各样的休闲软件3,如聊天工具,游戏等等。于是我们小组着手设计开始一个这样的电脑游戏软件。通过这学期来对J2SE技术的学习,我初步掌握了JAVA语言的最基本的知识,于是在指导老师的指导下动手用J2SE编写俄罗斯方块电脑游戏。无可争议,俄罗斯方块是有史以来最伟大的游戏之一。它是永恒的娱乐经典,但它实际上又和那些传统的经典娱乐方式不同,因为它的本质是电子化的,所以它的确属于现代产物。俄罗斯方块举世闻名的游戏性,在该游戏新鲜出炉时就显得非常直观。某些与坠落的玩具碎片和它们的形状有关的东西,使得哪怕新手也会很自然地
10、企图把它们排列起来,并加以适当组合,就好似俄罗斯方块触动了我们某些内在的感官,使得哪怕是我们当中最杂乱无章的人也要把事情整理妥当。 在曾经发布过的所有游戏中,俄罗斯方块还被认为是仅有的一个能够真正吸引广泛人群的作品。某些批评家也许会声称,俄罗斯方块要比过去二十年间出现的任何东西都要浪费人们的时间。至于我们,则要欣然提名它为GameSpot评选出的历史上最伟大游戏之一。为了怀念经典,也为了能够给大多的计算机用户在工作之余找到一个休闲、娱乐的一个方式,我们小组开始着手用JAVA语言开发一个经典的俄罗斯方块游戏。1.2主要研究的目的及内容 游戏作为人们日常生活的一个重要的娱乐项目,也带动了巨大的游戏
11、相关产业市场的发展。游戏平台从游戏机、电视游戏,到pc游戏,到电脑游戏,中间经历了很多的技术的变革。随着新技术的发展和人们生活水平的提高,电脑开始逐渐普及,电脑以其小巧便捷,方便的特性成为人们的必备通讯工具。而基于电脑平台的电脑游戏也就拥有了巨大的市场空间,随着3g的开通和应用,电脑游戏必将迎来新的一轮游戏热潮。小游戏制作的目的是满足了人们休闲的需要,在紧张工作之余休闲类的小游戏能够给人带来最大程度的放松,也可以增进人们之间的交流,沟通,方便人们娱乐的目的。另外也通过本程序将几年来所学的专业知识和其他方面的知识融入到实际应用中。 通过此次课题的设计,掌握如何制作一个俄罗斯方块游戏软件,以及制作
12、游戏软件的整个流程,制作游戏软件的步骤,为以后的就业工作打下基础。2 应用需求分析与可行性分析项目实现了俄罗斯方块游戏的所有基本功能,同时,为了满足玩家的个人需求,在游戏中设置了难度选择,从而使玩家根据自身水平选择合适的游戏难度;在程序中设置了当游戏窗口最小化时,游戏能够自动暂停,窗口恢复时游戏自动继续的功能以方便玩家的游戏操作;游戏按键使用最基本的键位设置,从而使操作更加简单,更容易上手,且不易失误。力争使游戏具有可靠性,安全性,完整性,灵活性,开发出一款更加适合人们需求的俄罗斯方块游戏。屏幕上有一个X列Y行的区域,计算机自动产生7种不同形状的方块,并出现在区域的最顶端,然后每过一个固定的时
13、间向下落移动一格。玩家可用上、下、左、右及空格键来控制方块的旋转和移动,以便按照玩家所需要的形态和位置落下,不过前提是方块移动和旋转后的位置必须是空的。这7种方块可以旋转90、180、270,因此每种方块有4种状态,7种方块总共有28种状态。另外,在游戏区域产生一个新的方块的一瞬间,立即产生下一个下落方块的形状并在提示区域的左上方有预先提示。同时,在游戏界面的右下方,将显示玩家所得的分数以及游戏的难度级别。每当游戏玩家成功消除一行方块时,将按照一定的算法计算出所得分数,并修改游戏状态区域的分数和行数的数值。本游戏提供了数种游戏级别,用户可根据自己的兴趣选择相应的级别4。下落方块可以通过旋转改变
14、其显示形状,并且不断地往下落,直到它接触到游戏区域底部或者其他已经垒叠起来的下落方块。当一个下落方块到达游戏区域底部或者接触到其他已经垒叠起的下落方块后,其位置即确定下来,并占有该空间的位置区域。如果落下时,方块的方格能填满某一行,则这一行可消去。消去一行后,游戏可给玩家加分,垒在其上的方块将按照一定的算法落下来代替该行空间。游戏的结束是以下落方块的顶部到达游戏区域顶部作为判断依据,若存在空格的方块填满整个窗口,则游戏失败。系统默认设置使用右边的窗口,用光标操作:“”左移一格;“”右移一格;“”变形;“”下移一格;“空格”丢下方块。2.1 应用需求分析硬件环境:内存:512M,硬盘:256M,
15、cpu:1.8HZ以上软件环境: MyEclipse8.5,JDK1.6和MySQL数据库。2.2 运行需求分析硬件条件:酷睿 CPU、1G RAM、10G硬盘以上的PC机;打印机;局域网。软件条件:Windows XP IE6.0以上2.2 其他需求分析(一)、 游戏主界面功能需求良好的用户界面,能够在视觉上吸引玩家。为了使界面简洁美观,需要在主界面中添加背景图片来渲染游戏的气氛,同时为了便于玩家的操作,需要设置四个按钮供玩家选择,分别是“游戏”、“控制”、“风格”、“系统”。这样的设置让用户一目了然。玩家可以自己选择不同的背景颜色,游戏难度,和不同风格的界面。(二)、 俄罗斯游戏功能需求游
16、戏界面要求美观大方。该界面由4个模块构成,分别是游戏、控制、风格和系统。其中游戏条包括新游戏、设置前景色、设置背景色、增加难度、降低难度和退出等功能。控制面板包括预提示面板,当前信息提示面板和游戏控制按钮面板。在游戏中,玩家可以根据自己的需要设置游戏级别。为了满足玩家的心理需求,还添加了排行榜的功能,方便玩家及时记录自己游戏战绩,在本游戏上获得成绩前十名,将进入游戏的英雄榜5。为了进一步方便玩家的实际操作,还为部分操作添加了快捷键的功能,用户无需点击按钮或菜单项即可达到游戏目的。(三)、 俄罗斯方块的需求良好的方块形状设计,绘制七种常见的基本图形,各个方块要能实现旋转变形、移动和显示。方块的旋
17、转可设为顺时针或逆时针,本游戏采用逆时针变形。(四)、 键盘处理事件的需求方块下落时,可通过键盘方向键(上、下、左、右、空格键)对该方块进行向上(旋转变形),向下移动、向左移动、向右移动和丢下操作。(五)、 显示需求当方块填满一行时可以消行,剩余方块向下按照一定的算法向下移动并统计分数。当达到一定的分数时游戏升级,并显示游戏升级信息;当游戏方块填满整个屏幕时,游戏结束,并显示游戏结束信息。本游戏共设置不同级别,方块的下落速度随着级别的升高而加快。2.4 可行性分析2.4.1经济可行性本游戏是为丰富人们业余生活开发的,规模适中,工作复杂性低,实用性强。从开发人力、物力、时间上考虑,开发成本少。而
18、且利用了开源开发环境MyEclipse8.5,加快了开发进度,大大的缩短了开发周期,节省了人力、物力、时间,提高了项目开发的效率,降低了开发成本。由于需求分析完整,减少了很多后期维护的复杂性。另外,本系统具有很实用的现实意义6。因此,从经济角度考虑本系统的开发在经济上是完全可行的。2.4.2技术可行性可用于本游戏的编程语言有Java 、VC+、C#.NET等,考虑到编写程序的难易程度,和对语言的了解程度以及各种编程语言自身的特点,选择乐Java作为编程语言进行开发。首先 ,作为一种程序设计语言 ,Java是一种简单的、面向对象的、分布式的、健壮的、安全的、结构中立的、易移植的、多线程的动态语言
19、。它不依赖于机器的结构,并且提供了并发的机制、具有很高的性能。其次 ,它最大限度地利用了网络,Java的小应用程序可在网络上传输而不受 CPU和环境的限制。另外 ,Java还提供了丰富的类库 ,使程序设计者可以很方便地建立自己的系统。2.4.3 运行可行性本游戏是采用java的GUI ( 图形用户界面) 组件创建的简单有好的操作界面,运行也效果简单明了,所有功能均根据基本需求进行开发。强调人机环境三者作为一个系统进行总体设计。使操作更人性化,减轻了用户的认知负担,使其更适合用户的操作需求。对所有数据的输入进行完整性和合法性检查7,尽量减少误操作。因此在操作上是可行的。2.4.4 时间可行性从时
20、间上看,在两个月的时间里学习相关知识,并开发JAVA GUI 的俄罗斯方块游戏,时间有点紧凑但是完全可行的。2.4.5 法律可行性本游戏的开发作为毕业课程设计以提高分析和解决实际问题的能力,以个人为单位,仅供个人平常娱乐所用,所用他人的成果部分都已注明。所以不存在侵权的问题。该软件是合法的,不会引起任何社会问题。因此,从法律上考虑本系统是可行的。2.5 系统开发步骤详细设计阶段的根本目标是确定应该怎样具体地实现所要求的系统,也就是说,经过这个阶段的设计工作,应该得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序8。详细设计阶段的任务还不是具体地编写程序
21、,而是要设计出程序的“蓝图”,以后程序员将根据这个蓝图写出实际的代码。因此,详细设计的结果基本上决定了最终的程序代码的质量。3 工程概况3.1 项目名称俄罗斯方块游戏3.2 设计平台J2SE是Java 2的一个组成部分,它与J2ME、J2EE并称。根据Sun的定义:J2SE是一种高度优化的Java运行环境,主要针对消费类电子设备的,例如蜂窝电话和可视电话、数字机顶盒、汽车导航系统等等。J2SE技术在1999年的JavaOne Developer Conference大会上正式推出,它将Java语言的与平台无关的特性移植到小型电子设备上,允许移动无线设备之间共享应用程序。Java2平台包括:标准
22、版(J2SE)、企业版(J2EE)和微缩版(J2ME)三个版本。J2SE,J2ME和J2EE,这也就是SunONE(Open NetEnvironment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入式系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统9。Standard Edition(标准版) J2SE 包含那些构成Java语言核心的类。比如:数据库连接、接口定义、输入/输出、网络编程Enterprise Edition(企业版) J2EE 包含J2SE 中的类,并且还包含用于
23、开发企业级应用的类。比如:EJB、servlet、JSP、XML、事务控制Micro Edition(微缩版) J2ME 包含J2SE中一部分类,用于消费类电子产品的软件开发。比如:呼机、智能卡、手机、PDA、机顶盒简单讲就是:J2SE: java 2 Standard edition (java 2 标准版)J2EE: java 2 enterprise edition( Java 2 企业版)J2ME: java 2 micro edition (Java 2 微缩版) 他们的范围是:J2SE包含于J2EE中,J2ME包含了J2SE的核心类,但新添加了一些专有类应用场合,API的覆盖范围各
24、不相同。笼统的讲,可以这样理解:J2SE是基础;压缩一点,再增加一些CLDC等方面的特性就是J2ME;扩充一点,再增加一些EJB等企业应用方面的特性就是J2EE。补充一点J2EE更恰当的说,应该是JAVA2企业开发的技术规范,不仅仅是比标准版多了一些类。J2EE又包括许多组件,如Jsp, Servlet, JavaBean, EJB, JDBC, JavaMail等。J2SE商业版本,标准版本 (Java2 Standard Edition) 定位在客户端,主要用于桌面应用软件的编程。J2SE 包含那些构成Java语言核心的类。 比如:数据库连接、接口定义、输入/输出、网络编程J2SE 是J2
25、EE的基础,他大量的JDK代码库是每个要学习J2EE的编程人员必须掌握的。可以把Configuration 当作是J2SE 对于两种类型嵌入式装置的规格,而这些规格之中定义了这些装置至少要符合的运算能力、供电能力、记忆体大小等规范,同时也定了一组在这些装置上执行的 Java 程序所能使用的类别函式库、这些规范之中所定义的类别函式库为 Java 标准核心类别函式库的子集合以及与该型态装置特性相符的扩充类别函式库10。比方就CLDC 的规范来说,可以支援的核心类别函式库为java.lang.* 、java.io.*、java.util.*,而支援的扩充类别函式库为java.microedition
26、.io.*。区分出两种主要的Configuration 之後,J2SE 接著在定义出Profile的概念。Profile 是架构在Configuration 之上的规格。之所以有Profile的概念,是为了要更明确地区分出各种嵌入式装置上Java 程序该如何开发以及它们应该具有哪些功能。因此Profile 之中定义了与特定嵌入式装置非常相关的扩充类别函式库,而 Java 程序在各种嵌入式装置上的使用者介面该如何呈现就是定义在Profile 里头。Profile 之中所定义的扩充类别函式库是根据底层Configuration 内所定义的核心类别函式库所建立。与J2ME和J2EE相比,J2SE总体
27、的的运行环境和目标更加多样化,但其中每一种产品的用途却更为单一,而且资源限制也更加严格。为了在达到标准化和兼容性的同时尽量满足不同方面的需求,J2SE的架构分为Configuration、Profile和Optional Packages(可选包)。它们的组合取舍形成了具体的运行环境。Configuration主要是对设备纵向的分类,分类依据包括存储和处理能力,其中定义了虚拟机特性和基本的类库。已经标准化的Configuration有- Connected Limited Device Configuration(CLDC)和Connected Device Configuration(CDC
28、)。Profile建立在Configuration基础之上,一起构成了完整的运行环境。它对设备横向分类,针对特定领域细分市场,内容主要包括特定用途的类库和API。CLDC上已经标准化的Profile有Mobile Information Device Profile ( MIDP)和Information Module Profile(IMP),而CDC上标准化的Profile有Foundation Profile(FP)、Personal Basis Profile(PBP)和Personal Profile(PP)。可选包独立于前面两者提供附加的、模块化的和更为多样化的功能。目前标准化的可
29、选包包括数据库访问、多媒体、蓝牙等等。开发Java ME程序一般不需要特别的开发工具, 开发者只需要装上Java SDK 及下载免费的 Sun Java Wireless Toolkit 就可以开始编写Java ME程式,编译及测试, 此外目前主要的IDE(Eclipse 及 NetBeans)都支持 Java ME 的开发,个别的电脑开发商如 Nokia 及 Sony Ericsson 都有自己的SDK, 供开发者在开发出兼容于他们的平台的程序。3.3程序设计思想游戏作为人们日常生活的一个重要的娱乐项目,也带动了巨大的游戏相关产业市场的发展。游戏平台从游戏机、电视游戏,到pc游戏,到电脑游戏
30、,中间经历了很多的技术的变革。随着新技术的发展和人们生活水平的提高,电脑开始逐渐普及,电脑以其小巧便捷,方便的特性成为人们的必备通讯工具。而基于电脑平台的电脑游戏也就拥有了巨大的市场空间,随着3g的开通和应用,电脑游戏必将迎来新的一轮游戏热潮。游戏是用来给大家娱乐的,所以要能在使用的过程中给大家带来快乐,消除大家的疲劳,所以我们在游戏中添加了漂亮的场景,设置了过关升级的功能,激发大家的娱乐激情。从游戏的基本玩法出发,主要就是俄罗斯方块的形状和旋转,我们在设计中在一个图片框中构造了一个4*4的网状小块,由这些小块组合成新的形状,每四个小块连接在一起就可以构造出一种造型,因此我们总共设计了7中造型
31、,每种造型又可以通过旋转而变化出2到4种形状,利用随机函数在一个预览窗体中提前展示形状供用户参考,然后将展示的形状复制到游戏窗体中进行摆放,在游戏窗体中用户就可以使用键盘的方向键来控制方块的运动,然后利用递归语句对每一行进行判断,如果有某行的方块是满的,则消除这行的方块,并且使上面的方块自由下落,其中,方块向下的速度是有时钟控件控制的,在游戏中,用户也可以使用向下键加快下落速度,定义一个变量,对消除的函数进行记录,最后就可以得出用户的分数,用if 语句对分数判断,达到一定的积分就可以升级到下一个档次。俄罗斯方块游戏设计的主要步骤为以下方面:(1)游戏界面的设计。(2)俄罗斯方块的造型。(3)俄
32、罗斯方块的旋转。(4)俄罗斯方块的运动情况(包括向左,向右和向下)。(5)俄罗斯方块的自动消行功能。(6)游戏级别的自由选择。(7)游戏速度的自由选择。(8)游戏得分的计算。(9)游戏菜单选项的设计及功能实现。3.4主要实现的功能我们开发的俄罗斯方块游戏,主要实现了以下几种功能:1.可以灵活控制方块在图形框中运动。2.游戏过程中方块可以自由旋转。3.当某一行的方块排列满时,将自动将这一行方块消除,然后将上面所有方块向下移动,可以支持连续消行。4.游戏前可以选择游戏的速度和游戏的等级,游戏速度既为方块下落速度,游戏等级为初始游戏时在基层随机生成一定行数的无规律方块,生成的行数由你来选择,每行至少
33、产生5个以上的无规律方块,这样增加了游戏难度,对于游戏高手来说,无疑不是一个新的挑战。5.游戏的得分支持积分,并且按照公式:得分 = 原来分数+ 100 * (2 同时消除的行数-1),这样,你同一时间消除的行数越多,你的得分也就越高,当游戏积分到了一定时可以自动升级,这个升级指速度升级。6. 游戏中提供了一个漂亮的场景,给你带来无限激情。4 开发背景随着通信技术的发展和电脑的普及,电脑游戏的开发技术越来越为人们所关注。以J2SE为开发平台,利用Java提供强大工具,不但可以在电脑上实现静态HTML技术所无法实现的计算处理、数据存储、与服务器的通信等功能,而且能够开发各种电脑游戏。JAVA自从
34、20世纪90年代早期诞生以来,以其强大的功能迅速为广大程序员们所接受。从2001年开始,日本的国内的移动电话开始搭载Java。使用本来就是一种程序语言的Java之后,就可以在移动电话上完成以往静态的HTML内容所无法达成的计算处理、数据存储、与服务器的通信等等。如果能利用Java上其他丰富功能,那么就可以实现更多的功能。随着电脑游戏的发展,国内外各大开发商纷纷运用Java进行电脑游戏开发。J2SE作为一种基于Java的便携设备开发平台,在各大电脑开发公司得到了广泛应用。小游戏制作的目的是满足了人们休闲的需要,在紧张工作之余休闲类的小游戏能够给人带来最大程度的放松,也可以增进人们之间的交流,沟通
35、,方便人们娱乐的目的。另外也通过本程序将几年来所学的专业知识和其他方面的知识融入到实际应用中。通过此次课题的设计,掌握如何制作一个俄罗斯方块游戏软件,以及制作游戏软件的整个流程,制作游戏软件的步骤,为以后的就业工作打下基础。本课题拟研究基于J2SE的电脑游戏开发技术以及其特点,开发一个俄罗斯方块游戏,具体研究内容如下:1、电脑游戏开发以及J2SE的基本理论和J2SE类库的使用;2、J2SE体系结构的研究;3、J2SE API的研究; (1)应用程序的研究; (2)类库研究; (3)各事件发生器的应用。4、开发工具的应用和开发环境的设置。其中J2SE API的研究为重点,本课题将通过一个具体的电
36、脑游戏-俄罗斯方块的开发来研究以上内容。J2SE简介 现在JAVA-JAVA2 Platform大致可分为J2SE、J2EE、J2ME三类。J2SE为JAVA-JAVA2 Platform 的标准版,通常在PC上使用的JAVA。J2EE是在J2SE的API上,扩展了给企业使用EJB与Servlet等主要使用在服务器上的功能。而J2SE则是面向家电和通信工具等微小设备。J2SE的目标是微小设备,这类设备有许多种类,在这些设备的J2SE当中,定义了CDC(Connected Device Configuration),CLDC(Connected Limited Device Configurat
37、ion)这两个Configuration。CDC是以能用在个人网关、下一代移动电话、PDA(个人数字助理)、家电设备、POS终端、车辆导航系统等上运行为前提设计出来的。CLDC,是以能使用在移动电话、PDA(个人数字助理)、家电设备、POS终端等上面为前提设计出来的。J2SE 体系结构配置和简表:配置定义了一个设计在一系列类似硬件上运行的Java平台的能力。J2SE的目标是家电与嵌入式设备,这类设备有很多种类,对应这些设备的J2SE当中,定义了CDC(连接设备配置)和CLDC(受限接设备配置)两个配置,配置所提供的类函数只有Java.lang, Java.io,Java.util包等J2SE等
38、核心类的子集。CLDC是与电脑相关的,它实际是定义一个设备制造商用来实现Java运行环境的标准,第三方开发者只需要遵循这个标准。CLDC主要影响Java开发和软件发布的以下方面:1)目标设备的特性;2)安全模型:安全模型有两个部分,虚拟机和应用程序安全。虚拟机安全层的目的是保护下面的设备不受任何执行代码可能引起的损害。开发环境(1)开发的硬件环境:CPU C1.7HZ/Maxor 40G/DDR 256M/CD-ROW 40X (2)开发软件:JDK1.6 目标硬件环境:1:显示: 96*54象素,1位颜色, 大约1:1的象素比例;2:输入:(a)单手键盘或者小键盘;(b)双手的QWERTV键
39、盘;(c)触摸屏。 3)内存 (a)128KB非易失性内存,供MIDP组件使用;(b)8KB的非易失性内存,供应用程序生成的永久数据使用;(c)32KB的易失性内存,供Java堆使用。本游戏的操作流程(如图4.1):用户在启动后,即进入游戏主画面,屏幕开始显示为欢迎画面。用户按下开始按钮后,就可以开始玩游戏。当用户想暂停时,再次按一下开始按钮,游戏就暂停了,在暂停的情况下再按开始按钮,游戏继续运行。任何时候按退出按钮,游戏都会终止。 图4.1在信息社会中,电脑及其他娱乐设备越来越多的走进普通百姓的工作和生活,随着信息网络化的不断进展,电脑及其他无线设备上网络势在必行。但是传统电脑存在以下弊端:
40、1. 传统电脑出厂时均由硬件厂商固化程序,程序不能增加、删除,有了错误也不能更新、修改,若要增加新功能必须另换一部电脑。2. 传统电脑访问互联网是通过WAP(Wireless Application Protocal),所有网络资源必须接通网络才能在线访问,非常耗时、费用亦很高。而Java技术在无线应用方面的优势非常明显:1. 应用程序可按需下载,而不是购买由硬件商提供的套件,可升级空大。2. Java技术提供了一个类库,它使的应用开发商可以创建更为直觉、丰富的用户界面(GUI);3.Java技术使网络带宽的应用更为有效,因为应用程序可以下载到器件上,并在本地运行,仅仅是在连接到服务器时才会占
41、用网络带宽。Java的最大目标和特点,就是“一次编写,到处运行”的平台无关性。但是,一套标准无法适应各种不同的需求。因此,Java技术目前共有三套,分别针对不同的平台和应用。Standard Edition(J2SE,标准版):针对桌面端PC和工作站的个人和低端商务应用。 Enterprise Edition(J2EE,企业版):针对服务器端企业级应用,支持Servlets, JSP和XML等等。Micro Edition(J2SE,袖珍版):针对有限内存,显示和处理能力的设备,主要是消费电子和嵌入式设备领域(这实际正是Java语言设计最初的目标领域)。图4.2java结构在消费电子和嵌入式设
42、备领域,内存从几百K到几十M,从没有屏幕Web-TV,CPU从低功耗的嵌入式处理器到206MHz的RISC处理器,硬件条件的差异是相当大的。这就使得J2SE的标准需要有不同的层次和类别来适应这个复杂的领域,因此相比之下J2SE就比J2SE和J2EE的标准要复杂得多。因此,清楚的理解J2SE的体系结构的划分才能更好的理解和掌握J2SE。J2SE的3层体系结构依照各种设备的资源特性,将J2SE技术构架分为简表(Profile)、配置(Configuration)和Java Virtual Machine(JVM)3层,然后再进一步细分,这使J2SE能够在每一类设备的限制下工作,而同时提供最低限度的
43、Java语言功能性。关于J2SE的体系结构,可以这样来进行总结:Configuration的分类是根据计算能力的不同来划分的,同类设备的计算能力相近。Configuration是一个规范,定义了这类设备的共同Java平台,定义与设备无关的Java虚拟机和核心库,是平台相容性的基础。Profile的分类是根据设备功能划分的,同类功能的设备其他各种硬件条件和需求也相近。Profile是一组API,在某Configuration的基础上扩展了针对设备特定功能的API,使得标准能够完全适应特殊的设备,彻底发挥设备的功能。J2SE体系的一般结构是:由Configuration定义的Java虚拟机运行于设
44、备的宿主操作系统之上,构成整个平台的基础。Configuration提供了基本的语言特性,Profile提供针对设备的特殊功能API和扩展类库。应用程序的运行环境需要一个Configuration和至少一个Profile,多个Profile可以共存,也可以叠加。MIDP(Mobile Information Device Profile)定义了针对移动信息处理设备(主要指智能电脑和一部分具有无线通信功能的PDA)的图形界面,输入和时间处理,持久性存储,无线电话网络连接之上的一些消息处理(例如短消息),安全等等API,并且考虑到了移动信息设备的屏幕和内存限制。类似于J2SE中的Applet框架,
45、MIDP提供了基于javax.microedition.midlet 包的MIDlet应用程序框架。因为MIDP提出的比较早,目前重要的智能电脑和PDA操作系统上都已有了相应的实现,而且应用的也比较广泛。针对消费电子和嵌入式设备领域丰富多样的设备和彼此相差极大的计算能力及各种硬件条件,J2SE首先根据最基本的一些特征把它们划分为两类。具备间断网络通讯能力的个人移动信息设备:如电脑,双向呼机,PDA(Personal Digital Assistant,个人数字助理,也称掌上电脑)等等。 有固定的不间断网络连接的共享连接信息设备:如置顶盒(set-top boxes),Web-TV,支持Internet的有屏幕电话,汽车娱乐导航系统等等。 Sun对J2SE 有一个很好的概括:J2SE技术有两个设计中心手持的设备,和可以插到墙上插座的设备。第一类设备往往是个人化的,移动的,使用电池,体积和功耗都有限制,因此功能和计算能力有限。第二类设备一般是固定的,因此体积没有太大限制。由于固定,可以有持续电源供应,因此功耗没有太大问题,计算能力相对充裕。计算能力是这两类设备的主要区别,对其上可能的应用和环境显然有着本质影响,不同类别的设备不可能采用同样的Java平台,必须分别定义。针对这两大类设备的平台规范就是Configuration。
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100