J2MEJava2MicroEdition是近年来随着各种不同设备尤其是Read.docx
《J2MEJava2MicroEdition是近年来随着各种不同设备尤其是Read.docx》由会员分享,可在线阅读,更多相关《J2MEJava2MicroEdition是近年来随着各种不同设备尤其是Read.docx(40页珍藏版)》请在冰豆网上搜索。
J2MEJava2MicroEdition是近年来随着各种不同设备尤其是Read
J2ME(Java2MicroEdition)是近年来随着各种不同设备,尤其是移动通信设备的飞速发展而诞生的一项新的开发技术。
它的目标定位在电子消费产品与嵌入式设备上,对设备的智能化、多样化,提供了革命性的解决方案,并因其“WriteOnce,runanywhere”的Java特性而提高开发的效率。
在可以搭载Java的终端设备中,移动电话可以说是最为普及的,随着无线通信业的发展,Java应用程序在通信、娱乐等应用上产生的手机增值服务逐渐体现出其影响力,对丰富人们的生活内容、提供快捷的资讯起着不可忽视的作用。
本论文着眼于J2ME技术在手机娱乐上的应用,开发一个的基于MIDP2.0的手机游戏程序——逃离陨石,并介绍了游戏的结构分析和具体功能实现。
游戏的界面和运作方式,尽力模拟手机游戏的普遍性形式,成为一个完整的手机游戏。
第1章:
概述。
介绍了娱乐游戏业务及手机软件现状、Java语言,J2me相关技术规范及其在移动设备上的应用。
第2章:
开发环境及相关技术。
主要针对本设计介绍了相关的软硬件环境和相关的开发工具。
第3章:
作品思想、结构及相关技术。
分析本作品设计的总体结构思想,以及相关的技术支持。
第4章:
程序分析及具体实现。
详细阐述有关重点实现细节。
第5章:
总结。
提及开发调试过程、心得体会、经验感想。
关键字:
J2ME,手机游戏,MIDP2.0,Java,逃离陨石。
Abstract
J2ME(Java2MicroEdition),anewly-developedtechnologyduetodifferentkindsofequipmentinrecentyears,especiallytherapiddevelopmentofmobilecommunicationequipment,withthetargetofelectronicexpenseproductandembeddedequipmenthasprovidestherevolutionarysolutiontotheequipmentintellectualizationanddiversificationandacceleratesthedevelopingefficiencyforitsnaturalJavacharacteristics,like“writeonce,runanywhere”.
Alongwiththedevelopmentofwirelesscommunication,themobilephoneisthemostpopularintheterminaldevicecanbeembarkedwithJava.TheJavaapplicationproceduremanifestsnoticeableinfluenceinthefieldofmobilephonevalue-addedservicecommunicationandentertainmentandalsoplaysanimportantroleoftheenrichmentpeople’slifecontentandpromptinformation.ThepaperfocusesontheJ2MEtechnologyinthefieldoftheapplicationofcellphoneentertainmenttodevelopagameprocedurebasedonMIDP2.0-fleefrommetropolitan,andthenintroducedthegamestructureanditsfunctionrealization.Itaimstocompleteamobilephonegamebychangingtheinterfaceandoperationthroughimitatingtheuniversalform.
Thefirstchapteristheoutline,introducingthesituationofthegameentertainmentandmobilephonesoftware,javalanguage,J2merelatedtechnologyanditsapplicationinmobileequipment.
Thesecondchapteristhedevelopingenvironmentandrelatedtechnology,mainlyintroducingthehardandsoftwareenvironmentandrelevantdevelopingequipment.
Thethirdchapteristhemainidea,structureandrelevanttechnology,analyzingthegeneralstructureideologyandrelevanttechnology.
Thefourthchapteristheprogramanalysisandrealization,detailedelaboratingrealizationofimportantparts.
Thefifthchapterissummary,includingtheprocedureofdevelopingdebut,theexperience,reflectionsandfeelings.
Keywords:
J2ME,mobilephonegame,MIDP2.0,Java,Fleefromthemeteorolite.
摘要I
AbstractII
第1章概述3
1.1娱乐游戏业务及手机软件现状3
1.1.1娱乐游戏业务3
1.1.2手机软件现状4
1.2Java语言简介5
1.3J2me相关技术规范及其在移动设备上的应用7
1.4本章小结8
第二章开发环境及相关技术9
2.1开发环境9
2.2关于Eclipse及Eclipseme9
2.3关于WirelessToolKit11
2.4JavaAppicationManager11
2.5本章小结12
第三章:
作品思想、结构及相关技术13
3.1问题的提出13
3.2程序主要流程15
3.3玩家的飞机控制以及陨石、炸弹智能运行19
3.4绘图与MIDP2.0新增的Game包21
3.4.1低级绘图Canvas类及Graphics类21
3.4.2PNG图片格式22
3.4.3关于Game包22
3.5RMS永久存储系统24
3.6关于MobileMediaAPI25
3.7本章小结25
第四章:
程序设计及具体代码实现26
4.1游戏LOGO画面26
4.2游戏主菜单选项27
4.3NewGame类的设计28
4.4Settings类及SettingsScreen类的设计32
4.5Score类及HighScores类的设计34
4.6Help类及About类的设计36
4.7关于背景图片及地图描绘37
4.8本章小结39
第五章:
总结40
5.1本程序总结40
5.2Eclipse开发过程中碰到的问题及可能原因41
5.3经验和感想42
5.4扩充话题43
5.4.1网络游戏43
5.4.2内存优化44
5.4.3程序打包、下载安装与运行45
5.4.4混淆器46
致谢47
参考文献48
第1章概述
1.1娱乐游戏业务及手机软件现状
1.1.1娱乐游戏业务
纵观IT产业的历史,就像军事的发展时常推动计算机的演化一样,计算机游戏已经成为技术创新背后的动力之一。
计算机游戏者渴望更加强大的硬件计算能力;渴望不受不同的软件的限制——无论是将图形强制在人工智能(AI)上还是网络安全性。
游戏开发者和玩家常常是前沿计算机技术的最早的采用者。
由于他们的创新天性,游戏不再是由大型采购公司控制的技术产品——游戏领域总是有充足的空间给那些在这方面有天分的单个创新者。
手机游戏的盈利主要是由于它们的涉及面很广。
手机已经与现代生活方式紧紧地结合在一起。
他们是最普遍携带的个人用品中仅次于钥匙和钱包的东西。
传统的台式机游戏将目标锁定在低级趣味的人和青少年身上,而手机游戏则每个人都可以访问的到——随时,随地。
尽管每个手机游戏都不贵,但是巨大的使用量(如:
每人每星期一个新游戏)将使得这个市场商机无限。
但是,对于开发者来说,将控制台游戏迁移到手机游戏工程很大。
因为他们所面向的对象、生活方式和分布式模型都有着极大的区别。
一个成功的手机游戏大多具有以下特征:
•易于学习:
既然手机游戏面向的是普通消费者而不是计算机专家,那么他们不可能深入的学习游戏技巧。
消费者不会花几个小时去研究一个3元的手动操作的游戏。
保持游戏的简单是最基本的要求。
•可中断性:
多任务处理是手机生活方式的基本特征。
一个好的手机游戏应该提供短时间的娱乐功能,并且允许用户在游戏和工作模式之间顺利切换。
•基于订阅:
手机游戏的盈利成功取决于他们巨大的使用量。
一开始开发和设计每个游戏都是昂贵的。
如果一个手机游戏开发者要赢利的话,重要的是:
同一个游戏引擎,多个标题,基本的故事情节类似。
基于订阅的游戏是不断产生收入的最好方法。
•丰富的社会交互:
不管一个游戏设计得多好,只要玩家找到了它的根本模式或者玩完了所有的游戏路径很快就会厌烦这个游戏。
对于一个基于订阅的游戏,重要的是与别的玩家合作以增强所玩游戏的智力和随机性。
•利用手机技术的优点:
巨额的手机技术研发费用都花在提高设备和网络的可用性和可靠性上面。
因此,手机设备硬件和网络协议与桌面/控制台世界(如全球定位系统(GPS)扩展、条形码扫描仪、和短消息服务(SMS)/多媒体信息服务(MMS)通讯)有着非常大的差别。
好的手机游戏应该利用那些更新的设备特征和网络基础设备的优点。
•无违法内容:
既然所有年龄/性别的人群都玩手机游戏并且常常在公共/工作场合,就应该避免明显的暴力或者色情内容。
1.1.2手机软件现状
移动电话可以说是最多人拥有的终端设备,实在举不出有哪些终端设备是拥有这么多用户的。
而且,在可以搭载Java的终端设备中,也没有像移动电话这么普及的。
用户人数越多,也就意味着人们使用您开发出来的应用软件的机会越大。
这对一个您来说,是个很大的商机。
如果能够充分利用移动电话的普及率以及通信与文件存储功能的特性,相信一定能够制作出很吸引人的内容。
传统手机存在以下弊端:
1.传统手机出厂时均由硬件厂商固化程序,程序不能增加、删除,有了错误也不能更新、修改,若要增加新功能必须另换一部手机。
2.传统手机访问互联网是通过WAP(WirelessApplicationProtocal),所有网络资源必须接通网络才能在线访问,非常耗时、费用亦很高。
而Java技术在无线应用方面的优势非常明显:
1.应用程序可按需下载,而不是购买由硬件商提供的套件,可升
级空间大。
2.Java技术提供了一个类库,它使的应用开发商可以创建更为直觉、丰富的用户界面(GUI);
3.Java技术使网络带宽的应用更为有效,因为应用程序可以下载到器件上,并在本地运行,仅仅是在连接到服务器时才会占用网络带宽。
基于以上分析,Java手机将具有很好的发展前景,是未来手机的发展方向,是业界的热点。
1.2Java语言简介
Java语言的前身是Oak,当时它的设计目的是用于洗衣机、电视机顶盒等消费性电子产品,但是一直没有得到多大的发展。
随着Internet的发展普及,无意中成全了Java,使它很快成为了Internet上广为流传的编程语言。
1998年1月,Sun实验室启动了一个名为Spotless的项目,来研究Java技术应用于那些资源有限的设备上。
在项目的初期,Spotless仅仅是一个项目,但是在Motorola等公司的推动下,此项目不久成为了一个商业产品,并由此产生了Spotless虚拟机(VirtualMachine)的商业化版本——KVM(KVirtualMachine或者说KjavaVirtualMachine)。
1999年6月,Sun正式向Java团体推出了J2me,并重新划分了Java2的体系结构:
面向企业应用开发的J2EE(Java2企业版,Java2EnterpriseEdition)、面向桌面应用开发的J2SE(Java2标准版,Java2StandardEdition)、面向消费产品和嵌入式设备应用开发的J2ME(Java2微型版,ava2MicroEdition)。
图1-1Java体系结构
J2EE、J2SE、J2ME,三者构成了Java的完整架构,至此,Java已经由单纯的编程语言发展到一种平台的高度。
这三者的结合,可以将从服务器到台式机到移动设备的应用开发集中到一种技术之下。
1.3J2me相关技术规范及其在移动设备上的应用
从整个移动通信行业的发展来说,通过手机、PDA来进行Internet的连接一定会成为一个趋势。
国际大公司如Nokia、Motorola及Siemens等所设计的手机内都加入Java程序的支持,为了确保来自不同制造商的不同种类设备间的互操作性,标准化是必须的。
J2me当中,被定义了CDC(ConnectedDeviceConfiguration)、CLDC(Connected,LimitedDeviceConfiguration)两个Configuration。
Configuration只提供了基本的核心函数库与JavaVM,然后再依据定义的设备Profile在其上附加GUI与事件处理、描述等来让Java运行。
1999年,Sun针对低端电子消费产品发布了两个规范:
CLDC有限连接设备配置(Connected,LimitedDeviceConfiguration)和MIDP移动信息简档(MobileInformationDeviceProfile)。
CLDC的目的是为小型、互连、资源有限的设备定义Java平台的“最低标准”,并没有定位于特定的设备;而MIDP是建立在CLDC之上,定义了附加的API和移动通信设备所需要的技术。
这样一来,就可以当成MIDP应用程序(MIDlet)来运行了。
同时,以MIDP为基准所制作出来的应用程序,也将可以在流通于市面上的移动电话上执行。
图1-2CLDC规范图1-3MIDP规范
J2ME平台被认为是最杰出的手机游戏平台,它为开发者、设备制造商、网络通信公司和消费者广泛接受。
它有一些非常重要的特征对所有组织都有益。
因为J2ME应用在不同设备上都是便携式的,他们常常可在网络上下载和执行。
如果没有正确的防范,它则为用户和无线通信公司冒着无数个安全的风险。
幸运的是,Java被设计成一种安全的语言。
所有字节码应用在执行之前都要校验;JVM在执行过程中监督应用的安全性和存储违反问题。
MIDP2.0运行时间包括一个完全特征化的、基于域的安全管理员,它在应用的数字签名者鉴别的基础上赋予应用API级许可。
1.4本章小结
本章中介绍了游戏特别是移动游戏的业务,分析了当前手机软件现状,并介绍了Java语言和其微型版J2me技术规范及其在移动设备上的应用,由此描述了本论文的相关背景。
第二章开发环境及相关技术
2.1开发环境
操作系统:
MicrosoftWindows2000
程序语言:
Java2
开发包:
Java(TM)2StandardEdition(J2sdk1.4.2)
eclipse-SDK-3.0.2
eclipseme.feature_0.9.0
NLpack-eclipse-SDK-3.0.x-win32
SunMicro.J2MEWirelessToolKit2.2
IDE:
eclipse3.0.2
关于本作品的开发环境,整合J2DK+Eclipse+NLpack-eclipse+Eclipseme+WirelessToolKit,其安装配置过程为另一方面的内容也比较简单,在此不再赘述。
可以这么说,JDK提供了虚拟机来运行应用程序,而WTK提供了模拟器,Eclipse及其它插件提供了个开发测试程序代码的IDE集成开发环境。
此外,这些资源都是免费的,可以从网上直接下载,在下面小节中将做简单的介绍。
2.2关于Eclipse及Eclipseme
Eclipse是一个开发源代码的、基于java的可扩展开发平台。
Eclipse相关的许可证是大多数基于CommonPublicLicense(CPL),CPL是一个为OpenSourceInitiative(OSI)所认可的许可证。
由于EclipseFoundation的建立,Eclipse的许可证将逐渐趋向于使用EclipsePublicLicense(EPL),EPL是一个与CPL相类似的许可证,正在进行OSI的认证工作。
作为当今最流行的java开发IDE之一,java社群使用Eclipse以及基于Eclipse技术而来的IBMWebsphere的开发者已经超过了半数。
Eclipse本身只是一个框架和一组响应的服务,并不能够开发什么程序。
在Eclipse中几乎每样东西都是插件,实际上正是运行在eclipse平台上的种种插件提供我们开发程序的各种功能。
同时各个领域的开发人员通过开发插件,可以构建与Eclipse环境无缝集成的工具。
eclipse的发行版本都已经带有最基本的插件,方便了开发人员。
因此,除了搭建移动开发环境之外,也可以下载Jsp插件、Tomcat插件、Jboss插件来进行整合,以用于JSP、J2EE的开发。
图2-1Eclipse集成开发平台
在http:
//www.eclipse.org/downloads/index.php可以免费下载到Eclipse的解压安装文件、语言包以及许多实用工具插件。
EclipseME作为Eclipse一个插件,致力于帮助开发者开发J2ME应用程序。
EclipseME并不为开发者提供无线设备模拟器,而将各手机厂商的实用模拟器紧密连接到Eclipse开发环境中,为开发者提供一种无缝统一的集成开发环境。
在http:
//www.eclipseme.org/上可以免费下载到EclipseME。
2.3关于WirelessToolKit
WTK(WirelessToolKit)是Sun公司针对J2ME推出的用于手机和Palm等移动设备的开发包,是除手机厂商的专用开发包外唯一的手机模拟器开发包。
它通用性高,开发出的应用程序可保证能运行在大部分设备上,而不像专用厂商具有一定的不兼容性。
虽然它没有强大的功能和完善的调试手段,但它提供运行模拟器的最基本组件,是其他IDE需集成采用的必备元素。
当然,你可以从手机厂商下载相关的API及模拟器来进行开发。
同样,WTK也是个免费软件,可以在Sun上得到下载。
2.4JavaAppicationManager
手机中负责调配程序运行资源的管理后台是JavaApplicationManager。
它所使用的传输媒体可以是红外线、网络、以及其他可用来传输的媒体。
JavaApplicationManager会从网络上下载代表该ApplicationSuite的JAR档,接着在手机上安裝此MIDletSuite,然后在手机开始执行该应用程序。
包括MIDPlet套件被安装、升级、删除、启动、停止以及常规的管理。
存储
媒体
手机
内建浏览器
Java
Appication
Manager
KVM
描述档
图示档
JAR档
JavaServlet
HTML网页
6.安装应用程序
8.载入并执行应用程序
使用者手机
网站
4.选择应用程序
7.启动
网络
1.浏览网页
2.浏览描述档
3.浏览图示
5.下载图示和JAR档
图2-2JAM工作流程图
2.5本章小结
针对本设计介绍了相关的软硬件环境和相关的开发工具,以及手机应用程序的基本工作流程。
第三章:
作品思想、结构及相关技术
3.1问题的提出
软件环境飞速发展的同时,J2ME平台的硬件环境和市场同样越来越成熟。
Java手机的数量在成倍增长,预计2006年java手机数量有望突破6亿部。
硬件中加快集成Java预计将进一步促进Java在市场中的普及,J2ME将成为事实上的标准。
到2006年,Java手机预计将占全部手机出货量的83%。
与此同时移动增值业务的突飞猛进大大的推动了J2ME技术的发展,预计到2008年全球与Java相关的移动增值业务市场总值将达到147亿美元。
J2ME是嵌入式/移动应用平台的王者,Linux和WinCE分列二、三位。
Nokia等厂商力推的Symbian平台目前开发者占有率尚未达到满意水平,考虑到调查项合并了嵌入式设备(例如PDA)和移动设备(例如智能手机),Symbian、WinCE系列在移动平台上会是竞争的主要两方。
如果厂商能在标准实现上做得更加规范,则J2ME的跨平台特性会发挥得更加淋漓尽致,继续保有王者地位。
从发展趋势上说MIDP2.0是趋势,最便宜的MIDP2.0手机如ot735i,已经1700元左右;而西门子一年前的高端机cx65,现在也只有2500左右;并且2500-3000这个价位的midp2.0手机有多种选择,西门子、se、N机都有。
本作品就是基于MIDP2.0来进行设计开发的,创意并不复杂,其中所用到的图片也来源于网上资源,毕竟是作为学习手机游戏制作的第一个完整作品,仅当学习用。
游戏——