备的平台,其软件层次结构包括了一个操作系统(OS),中间件(MiddleWare)和应用程序(Application)。根据Android的软件框图,其软件层次结构自下而上分为以下几个层次:
图2.1 Android系统架构
2.1 XUL界面布局
XUL 是一种基于 XML 的语言,因此需要对 XML(特别是 XML 名称空间)很熟悉。XUL是英文"XML User Interface Language"的首字母缩写。顾名思义,它是一种应用XML来描述使用者界面的标示语言。
2.2 Android的Activity组件
Activity,一般代表手机屏幕的一屏,相当于浏览器的一个页面。在Activity中添加view,实现应用界面和用户交互。一个应用程序一般由多个Activity构成,这些Activity之间可互相跳转,可进行页面间的数据传递。每个Activity都有自己的生命周期。
2.3 SQLite数据库
在Android平台上,集成了一个嵌入式关系型数据库-SQLite。SQLite是支持结构化
查询的轻量级数据库,能很好得适应于移动设备的应用。
Android提供了一个名为SQLiteDatabase的类,该类封装了一些操作数据库的API,使用该类可以完成对数据进行添加(Create)、查询(Retrieve)、更新(Update)和删除(Delete)操作(这些操作简称为CRUD)。
2.4 XMPP协议
1. 什么是XMPP
XMPP(可扩展消息处理现场协议)的前身是Jabber,一个开源形式组织产生的网络即时通信协议。具有即时信息传输以及在线现场探测的功能。
2. XMPP的基本网络结构
XMPP中定义了三个角色,客户端,服务器,网关。通信能够在这三者的任意两个之间双向发生。服务器同时承担了客户端信息记录,连接管理和信息的路由功能。网关承担着与异构即时通信系统的互联互通,异构系统可以包括SMS(短信),MSN,ICQ等。基本的网络形式是单客户端通过TCP/IP连接到单服务器,然后在之上传输XML。
3. XMPP通过TCP传输的数据
XMPP传输的即时通讯指令的逻辑与以往相仿,只是协议的形式变成了XML格式的纯文本。XMPP的核心部分就是一个在网络上分片断发送XML的流协议,这个流协议是XMPP的即时通讯指令的传递基础。
2.5 Android 2D图形编程
1、Simple Graphics in View:就是直接使用Android已经实现的一些画图操作,比如说images,shapes,colors,pre-defined animation等等。这种方式只能画静态或者极为简单的2D图画,对于实时性很强的动画,高品质的游戏都是没法实现的。2、Canvas:首先我们要明白这个Canvas是一个2D的概念,是在Skia中定义的。也就是说在这个方式下还是说的画2D图形。
2.6 MVC模式简介
整个系统采用了MVC模式进行设计。MVC模式是一种流行的软件设计模式,它把系统分为3个模块:模型(Model)、视图(View)和控制器(Controller)。
各个模块的功能说明参见表2.1
表2.1 MVC的三个模块
MVC模块 描述 模型 代表应用程序状态和业务逻辑 视图 提供可交互界面,向客户显示模型数据 控制器 响应客户的请求,根据客户的请求来操纵模型,并把模型的响应结果经由视图展现给客户 各个模块之间的相互作用如图2.2所示。采用MVC模式有很多好处:一是能将显示、逻辑和数据分开,某一方面的改变不会影响另一方面;其次是可以在不更改视图显示的情况下,更改控制器,以达到更改视图与用户交互的响应模式的目的。
图2.2 MVC模型图
第3章 系统的分析与实现
游戏对用户界面的要求较高,需达到人性化:美观大方、便于操作,个性化:游戏界面时尚靓丽、别具一格,最好能做到自定义皮肤之类的。本游戏是使用即时通讯协议进行通信的,所以,实时的游戏效果、即时聊天以及在线探测是必须做到用户体验良