基于j2me技术的蓝牙象棋手机游戏论文内容摘要:

装载的类只能访问某些文件系统。 [16] 6 5. 多线程 线程是操作系统的一种新概念,它 又被称作轻量进程,是比传统进程更小的可并发执行的单位。 Java 在两方面支持多线程。 一方面, Java 环境本身就是多线程的。 若干个系统线程运行负责必要的无用单元回收,系统维护等系统级操作;另一方面, Java语言内置多线程控制,可以大大简化多线程应用程序开发。 Java 提供了一个类Thread,由它负责启动运行,终止线程,并可检查线程状态。 Java 的线程还包括一组同步原语。 这些原语负责对线程实行并发控制。 利用 Java 的多线程编程接口,开发人员可以方便得写出支持多线程的应用程序,提高程序执行效率。 必须注意地是, Java 的多线程支持在一定程度上受运行时支持平台的限制。 例如,如果操作系统本身不支持多线程, Java 的多线程特性可能就表现不出来。 [16] J2ME 介绍 J2ME 是 SUN 公司针对嵌入式、消费类电子产品推出的开发平台,与 J2SE 和J2EE 共同组成 Java 技术的三个重要的分支。 J2ME的全称是 Java 2 Plaatform Micro Edition, 即 Java 2平台微型版。 J2ME 的市场 J2ME 广泛应用于消费和嵌入式设备中。 在汽车,电子元器件,工业自动化,医疗设备,航天和军事 ,办公自动化,商业零售,电信和数据中心,信息自动化,远程控制等各个行业都有广泛的应用。 现在国内外使用 J2ME 比较多的应用包括车载信息和计算,数字电视,顶置盒, inter 访问设备,家庭 Audio/Video,无线手持设备等等。 [15] J2ME 平台的体系结构 J2ME 平台由多种配置( Configuration)、简表( Profile)和可选包( Optional Package)组成。 如图 2- 1: 7 图 2- 1 J2ME 平台的体系结构 J2ME 平台主要包括两个配置: CLDC 和 CDC。 它们是根 据设备的硬件性能进行区分的,例如处理器、内存容量等。 CDC 的硬件参数: 2M 以上内存。 具有网络连接能力,通常为无线网络。 需要实现 java 虚拟机规范的全部功能。 32 位或者 64 位的处理起。 CLDC 的硬件参数: 512KB 以下内存。 有限或非持续网络连接 简单的用户界面。 16 位或者 32 位的处理器。 CLDC 和 CDC 中有几个比较重要的简表:移动信息设备简表在( MIDP)、信息模块简表( IMP)、基础简表( FP)、个人简表( PP)、个 人基础简表( PBP)等。 可选包也有一些重要的 API,包括:无线消息 API、移动多媒体 API、蓝牙 API、移动 3D 图形、 Web 服务 API 等。 [12] MIDlet 生命周期 MIDlet 有三个状态,分别是 pause、 active 和 destroyed。 在启动一个 MIDlet 的时候,应用管理软件会首先创建一个 MIDlet 实例并使得他处于 pause 状态,当startApp()方法被调用的时候 MIDlet 进入 active 状态,也就是所说的运行状态。 8 在 active 状态调用 destroyApp(boolean unconditional)或者 pauseApp()方法可以使得MIDlet 进入 destroyed 或者 pause 状态。 值得一提的是 destroyApp(boolean unconditional)方法,事实上,当 destroyApp()方法被调用的时候, AMS 通知 MIDlet 进入 destroyed 状态。 在 destroyed 状态的 MIDlet 必须释放了所有的资源,并且保存了数据。 如果 unconditional 为 false 的时候, MIDlet 可以在接到通知后抛出MIDletStateChangeException 而保持在当前状态,如果设置为 true 的话,则必须立即进入 destroyed 状态。 [12] 图 2- 2 说明了 MIDlet 状态改变情况: 图 2- 2 MIDlet 状态图 WTK 介绍 WTK 的全称是 Sun J2ME Wireless Toolkit,即 Sun 无线开发工具包。 它具有很强的功能及完善的终端用户工具,可用于在各种领域建立高性能的、实时的、综合 3D 工程。 它具有高水平的应用程序界面( API) ,能让用户按需要快捷地建模、开发及重新构造应用程序。 WTK 具有如下特点: ( 1)为性能而设计 WTK 的算法设计使画面的高品质得到保障。 这种高效的视觉数字显示提高了图形的运行、控制和适应能力,它的特点是数据的高效传输和细节的分辨。 9 ( 2)为开发而强化 WTK 提供了强大的功能,它可以开发出最复杂的应用程序,还能提高一个组织的生产率。 一个用 C代码编写的对象定位库提供给用户 1000 多个高级语言函数,可用来构造交互和试试控制的模拟系统。 一个函数调用相当于执行 1000 多行代码,这将奇迹般地缩短产品开发时间。 WTK 包括 20 多个类,如 Universe(宇宙)、Geometries(几何)、 Light(光源)、 Viewpoint(视点)、 Sensor(传感器)、Windows(窗口)、 Path(路径)、 Sound(声音)、 Task(任务)、 User Interface(用户接口)和 Networking(联网)等。 其中, Universe 是最高层次的类,一个WTK虚拟环境中只能有一个 Universe 处于激活状态,它控制着场景的生成和运行,组织和存储静态和动态对象。 附加函数用于器件实例化、显示设置、碰撞检测、从文件装入几何对象、动态几何构造、定义对象动作和控制绘制等。 ( 3)开放性和系统优化 WTK 可以实现跨平台的操作,包括 SGI、 SUN、 HP、 DEC 和 Intel 等。 优化的功能针对了每一个平台界面,它直接通连续的系统图片库使最快速地传输图片成为可能。 另外, WTK 支持多种输入输出设备,并且允许用户修改 C 代码,如设备驱动器、文件阅读器和绘图例行程序,也允许它和多种信息源进行交互。 ( 4)高级函数调用 WTK 包含的函数可用来进行实例化和访问通用的设备。 最新的 WTK 版本是。 开发工具介绍及插件集成 Eclipse 介绍 Eclipse 是一个开源的、基于 Java 的可扩展开发平台。 就其本身而言,它是一个框架和一组服务,用于通过插件构建开发环境。 Eclipse 附带了一个标准的插件集,包括 Java 开发工具( JDT)。 [14] 10 Eclipse ME 介绍 Eclipse ME 是帮助开发 J2ME MIDlet 的 Eclipse 的插件。 Eclipse ME 可以简化 J2ME 的开发工作,它可以把 WTK 整合到 Eclipse 开发环境中。 Eclipse ME 提供了下列功能以帮助开发者轻松创建 MIDlet: 无线工具包首选项 创 建新的 J2ME MIDlet 套件项目 创建新的 MIDlet Java 应用描述文件( JAD)编译器 对 class 文件进行增量的 /自动的预检验 支持从 Eclipse 中启动运行 J2ME 模拟器 打包以及部署测试,并可以使用 ProGuard 对输出包进行混淆等等。 现在比较新的 Eclipse ME 插件版本为。 蓝牙技术介绍 蓝牙简介 蓝牙技术是爱立信、 IBM等 5 家公司在 1998 年联合推出的一项无线网络技术。 随后成立的蓝牙技术特殊兴趣组织( SIG)来负责该技术的 开发和技术协议的制定,如今全世界已有 1800 多家公司加盟该组织,最近微软公司也正式加盟并成为 SIG组织的领导成员之一。 蓝牙是无线数据和语音传输的开放式标准,它将各种通信设备、计算机及其终端设备、各种数字数据系统、甚至家用电器采用无线方式联接起来。 它的传输距离为 10cm~ 10m,如果增加功率或是加上某些外设便可达到 100m的传输距离。 它采用 ISM 频段和调频、跳频技术,使用权向纠错编码、 ARQ、 TDD 和基带协议。 TDMA 每时隙为 ,基带符合速率为 1Mb/s。 蓝牙支持 64kb/s 实时语 音传输和数据传输,语音编码为 CVSD,发射功率分别为 1mW、 和100mW,并使用全球统一的 48 比特的设备识别码。 由于蓝牙采用无线接口来代替有线电缆连接,具有很强的移植性,并且适用于多种场合,加上该技术功耗低、 11 对人体危害小,而且应用简单、容易实现,所以易于推广。 蓝牙技术的系统结构分为三大部分:底层硬件模块、中间协议层和高层应用。 底层硬件部分包括无线跳频( RF)、基带( BB)和链路管理( LM)。 无线跳频层通过 无需授权的 ISM 频段的微波,实现数据位流的过滤和传输,本层协议主要定义了蓝牙收 发器在此频带正常工作所需要满足的条件。 基带负责跳频以及蓝牙数据和信息帧的传输。 链路管理负责连接、建立和拆除链路并进行安全控制。 蓝牙技术结合了电路交换与分组交换的特点,可以进行异步数据通信,可以支持多达 3 个同时进行的同步话音信道,还可以使用一个信道同时传送异步数据和同步话音。 每个话音信道支持 64kb/秒的同步话音链路。 异步信道可以支持一端最大速率为 721kb/秒、另一端速率为 ,也可以支持 秒的对称连接。 中间协议层包括逻辑链路控制和适应协议、服务发现协议、串口仿真协议 和电话通信协议。 逻辑链路控制和适应协议具有完成数据拆装、控制服务质量和复用协议的功能,该层协议是其它各层协议实现的基础。 服务发现协议层为上层应用程序提供一种机制来发现网络中可用的服务及其特性。 串口仿真协议层具有仿真 9 针 RS232 串口的功能。 电话通信协议层则提供蓝牙设备间话音和数据的呼叫控制指令。 主机控制接口层( HCI)是蓝牙协议中软硬件之间的接口,它提供了一个调用基带、链路管理、状态和控制寄存器等硬件的统一命令接口。 蓝牙设备之间进行通信时, HCI 以上的协议软件实体在主机上运行,而 HCI 以下的功能由蓝牙设备来完成,二者之间通过一个对两端透明的传输层进行交互。 在蓝牙协议栈的最上部是各种高层应用框架。 其中较典型的有拨号网络、耳机、局域网访问、文件传输等,它们分别对应一种应用模式。 各种应用程序可以通过各自对应的应用模式实现无线通信。 拨号网络应用可通过仿真串口访问微微网( Pico),数据设备也可由此接入传统的局域网;用户可以通过协议栈中的Audio(音频)层在手机和耳塞中实现音频流的无线传输;多台 PC 或笔记本电脑之间不需要任何连线,就能快速、灵活地进行文件传输和共享信息,多台设备也可由此实现同步操作。 总之, 整个蓝牙协议结构简单,使用重传机制来保证链路的可靠性,在基带、链路管理和应用层中还可实行分级的多种安全机制,并且通过跳频技术可以消除 12 网络环境中来自其它无线设备的干扰。 [17] J2ME 中的蓝牙 API Java 蓝牙无线技术 API 定义在 JSR 82 规范中,为 J2ME 平台提供了开发基于蓝牙通信的应用程序的可能。 Java 蓝牙无线技术 API 定义在 和 (这个包并不是必需的)内。 是最重要的蓝牙核心 API 包,包内定义了 4 个 接口、 6 个类和3 个异常。 [12] 本章小结 本章主要是介绍了毕业设计中所 涉及 的技术及开发工具、开发环境等。 其中有 JAVA 语言的特点介绍、 J2ME 的介绍、蓝牙技术的介绍等等,这为以下的 毕业设计工作做好必要的基础知识的积累 储备 和 关键 技术的掌握。 13 第 3 章 整体设计及需求分析 需求分析 本此设计需要解决的难点和技术: ,因为其代码利用率很高。 因此,其逻辑设计应当相当严谨,需将所有可能发生的事件及意外情况考虑在设计中。 计时所设计的中国象棋,其中棋子,棋盘等都是通过程序绘制出来的,因此需要比较合理的算法来实现。 ,因此需要使用到 J2ME 中所提供的蓝牙接口类包。 而且需要通过编写代码来完成客户端、服务器端以及两个设备之间的连接和连接控制等。 ,相当于是古代战争局势在棋盘上的再现。 中国象棋中的每一个棋子都有自己的行棋规则。 比如帅(将)只能在九宫中行走、仕(士)只能走九宫内的斜线、象走 “田 ”、马走 “日 ”以及车、炮等走法。 这些都是需要通过算法来是实现的。 要很好的控制 条件才能实现。 程序的流程设计 首先介绍一下 程序中设计的 八个类及其用途: Game : midlet 类,控制所有 midlet 的运行和销毁; GameCanvas:调用 ()方法处理按键输入并实例化和绘制GameWorld; Chess :抽象了棋盘上是否为服务器下子; GameWor。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。