基于java的手机程序设计

上传人:wt****50 文档编号:34595721 上传时间:2018-02-26 格式:DOC 页数:22 大小:334KB
返回 下载 相关 举报
基于java的手机程序设计_第1页
第1页 / 共22页
基于java的手机程序设计_第2页
第2页 / 共22页
基于java的手机程序设计_第3页
第3页 / 共22页
基于java的手机程序设计_第4页
第4页 / 共22页
基于java的手机程序设计_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《基于java的手机程序设计》由会员分享,可在线阅读,更多相关《基于java的手机程序设计(22页珍藏版)》请在金锄头文库上搜索。

1、学士学位论文 基于 JAVA 的手机程序设计1目 录引 言 .2一、 系统 分析 .2(1) 开发平台和技术分析 . 2(2) JAVA 语言特点 .3(3) 需求功能分析 .4(4) 数据流程分析 .5二、系统设计 .5(1) 程序流程设计 .5(2) 程序类设计 .7三 、系统功能实现 .9( 1)通过双缓冲技术实现动画 .9( 2)游戏菜单的绘制 .9( 3) 游戏逻辑及屏幕 GAMECANVAS 类 .10( 4)游戏按键的实现 .14结 论 .17参考文献: .18附 录 .19致 谢 .21学士学位论文 基于 JAVA 的手机程序设计2引言目前,中国的手机用户已经突破 4 亿大关,

2、同时手机用户还在翻倍增长,远远没有达到饱和的程度,用户数量持续高攀,市场的潜力和巨大的商机已经不言而喻。4 亿的国内手机用户在满足了基本的通信等需求后,还渴望着有更丰富的无线增值业务。而经过 3 年多的市场培育,目前手机对手机游戏的认知度和普及率已经显著提高,手机游戏市场的需求无线膨胀,前景相当乐观。作为无线娱乐产业的先行者,手机游戏势必会在其领域中脱颖而出,占领绝大部分的市场份额。同彩铃、彩信等其他业务相比,手机游戏的创造性、娱乐性互动性和用户黏性都具有绝对的先天优势,这也是其他无线业务所无法比拟的。手机游戏产业已成为政府部门、海内外运行上、SP(服务提供商)行业关注的焦点,作为运营商的中国

3、移动将手机游戏作为新业务发展的一个战略性的重点业务。3G 的推出对手机游戏来说,客户端与服务器的数据传输速度会更快,图像视频更加清晰流畅,社区交互更加便捷,画面显示更加夺目,这些要素的大幅度生化使得用户的游戏体验更加丰富。玩家站在任何地方,都可以对是打开手机,享受手机游戏带来的无线乐趣。1、 系统分析1.1 开发平台和技术分析1.1.1Eclipse 简介集成开发环境(Integrated Developing Environment,简称 IDE)是一个综合性的工具软件。目前所有的 IDE 中,Eclips 可以说是有发展前途的产品之一。Eclips Platform 是一个开放的可扩展的

4、IDE。Eclips Platform 提供建造块和构造并运行集成软件开发工具的平台,允许工具建造者独立开发与他人工具无缝结成的工具,无需分辨一个工具功能在那里结束,而另一个工具功能在哪里开始。Eclips 项目产生的工具和来自其他开放源代码的第三方软件组合而成。Eclips 项目生产的软件一 CPL 发布,第三方软件有各自的许可访问协议。1.1.2 Wireless Tool Kit 简介WTK(Wireless Tool Kit)是 Sun 公司针对 J2ME 推出的用于手机和 Palm 等学士学位论文 基于 JAVA 的手机程序设计3移动设备的开发包,是除手机厂商的专用开发包外唯一的手机

5、模拟器开发包。它通用性高,开发出的应用程序可保证能运行在大部分设备上,而不像专用厂商具有一定的不兼容性。虽然它没有强大的功能和完善的调试手段,但它提供运行模拟器的最基本组件,是其他 IDE 需集成采用的必备元素。1.1.3 Java 2 Micro Edition 简介J2ME(Java 2 Micro Edition)是 Java 2 的一个重要组成部分,它与J2SE、J2EE 并称。根据 SUN 公司的定义:J2ME 是一种高度优化的 Java 运行环境,是主要针对如蜂窝电话、可视电话、数字机顶盒和汽车导航系统等消费类电子设备的。J2ME 是为了那些使用有限的电力、有限的网络连接及有限图形

6、用户界面能力的设备开发的。它最初的目标是具备 16 位或 32 位处理器、16MHz 时钟频率、512KB 或更少内存的设备。J2ME 本质上是一个针对小型设备的 Java 版本,通过裁减某些在小型设备上不许需要的功能,以达到减小 Java 虚拟机的体积以及相应运行库的体积,目标是为小型设备提供一个可靠,资源占用少的运行平台。所有的 J2ME 组件都围绕一个中心,这些被称为 configuration(配置)它们中的每一个配置都是用于消费电子和嵌入设备的某一个特定的类别。1.2 Java 语言特点(1) 平台无关性Java 引进虚拟机原理,并运行于虚拟机,实现不同平台之间的 Java 接口。J

7、ava 的数据类型与机器无关。(2) 安全性Java 的编程类似 C+,但舍弃了 C+的指针对存储器地址的直接操作,程序运行时,内存由操作系统分配,这样可以避免病毒通过指针入侵系统。它提供了安全管理器,防止程序的非法访问。(3) 面向对象Java 吸收了 C+面向对象的概念,将数据封装于类中,实现了程序的简洁性和便于维护性,使程序代码可以只需一次编译就可反复利用。(4) 分布式Java 建立在 TCP/IP 网络平台上,提供了用 HTTP 和 FTP 协议传送和接收信息的库函数,使用其相关技术可以十分方便的构建分布式应用系统。学士学位论文 基于 JAVA 的手机程序设计4(5) 健壮性Java

8、 致力与检查程序在编译和运行时的错误,并自动回收内存,减少了内存出错的可能性。自己操作内存能减少了内存出错的可能性。1.3 需求功能分析需求分析过程是整个系统开发最重要的阶段,分析的成功与否,决定着整个系统功能的完善性以及稳定性。在该阶段需求分析人员需要确定整个产品的功能要求,并且将现实事务抽象成对象并建模。根据现在手机游戏所需要的各项要求以及具体情况,需要满足以下需求:1. 游戏程序是一项精度要求很高的程序系统,因为其代码利用率很高。一个实时运行的最终作品,每秒都会运行成千上万行程序,绘图事件、键盘事件都会以极高的频率在后台等待响应,若有丝毫的差别都将很容易导致程序在运行不久后可能出现严重错

9、误,甚至死循环。因此,其逻辑设计应当相当严谨,需将所有可能发生的事件及意外情况考虑在设计中。2. 游戏中为了美观,适用性强,可能需要采用外部文件引入的图片贴图,有关贴图,使得解决静态或动态、画面背景、屏幕刷新的双缓冲等都有较好的解决方案。3. 玩家飞机的运行可以通过键盘响应事件控制,但敌方则因为是自动运行,就需要有一定的智能性;敌人飞机的运行算法也要进行相关的设置,已免游戏过于简单。玩家飞机还设置了法宝键,按此键可加快子弹速度。4. 双方的飞机在前进时也需要考虑到是否碰撞到对方飞机,以免重叠运行,造成许多物理上不可能的情况,缺乏真实感。每一次刷新页面、每前进一步都需要进行相关的碰撞检测。7.

10、游戏的地图不可能通过绘图来解决。否则,不仅难于控制和处理过多的元素,也会因过多的大型图片而不能限制程序的大小,失去手机上程序的原则和 Java 的优势。8. Java 是基于虚拟机的半解释型编译系统,其执行效率较 C+等完全编译后的程序会低很多,程序如果不进行精简和优化,将可能导致运行的不流畅。除开发过程中对结构上的控制、变量的使用、算法的优化等优化外,还可以使用混淆器(Obfuscator)进行程序打包后的优化。9. 游戏的结束、开始、动态信息画面作为构成一个程序都是必不可少的学士学位论文 基于 JAVA 的手机程序设计5重要部分。良好的用户界面更是吸引用户的硬指标,相关的美术构图和人性化设

11、置也需要有一定的考虑。1.4 数据流程分析根据系统的功能和数据流程的分析,现将数据流程图显示如下:2、系统设计2.1 程序流程设计MIDlet suite 是 MIDP 应用程序的最小单位,JAM 负责将手机内的 MIDlet suite 以图形化的方式呈现,让用户能够选取欲执行的 MIDlet suite,一旦选取了某个 MIDlet suite,操作系统就会激活 KVM 执行里面的 MIDlet。MIDlet 及相关的支持类组成了 MIDP 应用程序的实际内容。而每个 MIDlet 都必须继承javax.microedition.midlet.MIDlet 这个抽象类。在 MIDP 规范中

12、定义了 MIDlet 的生命周期,以及可以存在的三种状态,包括 Paused、Active 以及 Destroyed,每一个 MIDlet 在任何时刻只可能处于其中的一个状态。这三种状态的转换关系如图 3-1 所示:Logo 画面游戏菜单 开始游戏关于游戏游戏帮助声音开关退出游戏初始化数据据绘制场景帮助说明游戏说明开关页面死亡主循环学士学位论文 基于 JAVA 的手机程序设计6MIDlet 有三个状态,分别是 pause、active 和 destroyed。在启动一个 MIDlet 的时候,应用管理软件会首先创建一个 MIDlet 实例并使得他处于 pause 状态,当startApp()方

13、法被调用的时候 MIDlet 进入 active 状态,也就是所说的运行状态。在 active 状态调用 destroyApp(boolean unconditional)或者 pauseApp()方法可以使得 MIDlet 进入 destroyed 或者 pause 状态。值得一提的是 destroyApp(boolean unconditional)方法,事实上,当 destroyApp()方法被调用的时候, AMS 通知MIDlet 进入 destroyed 状态。在 destroyed 状态的 MIDlet 必须释放了所有的资源,并且保存了数据。如果 unconditional 为 false 的时候

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号