。
(4)一个通知管理器(notification manager)使得应用程序可以在状态栏中显示客户通知信息。
(5)一个活动类管理器(activity manager)用来管理应用程序生命周期并提供常用的导航回退功能。
Android程序库-Android包括一个被Android系统中各种不同组建所使用的C/C++库集。该库通过Android应用程序框架为开发者提供服务 。以下是一些主要的核心库:
系统C库--一个从BSD继承来的标准C系统函数(libc),专门为基于embedded linux的设备定制。
媒体库--基于packetvideo openCORE;改库支持录放,并且可以录制许多流行的音频视频格式,还有静态印象文件包括MPEG4、H.264、MP3、AAC、AMR、JPG、PNG。
Surface Manager--对显示子系统的管理,并且为多个应用程序提供3D和2D图层的无缝融合。
LibWebCore--一个最新的web浏览器引擎用来支持Android浏览器和一个可嵌入的web视图。
SGL--一个内置的2D图形引擎3D libraries-基于OpenGL ES 1.0APIS实现;该库可以使用硬件3D加速或者使用更高优化的3D软加速。
Freetype--位图(bitmap)和向量(vector)字体显示。
SQLite--一个对于所有应用程序可用功能强劲的轻型关系型数据库引擎。
Android运行库--Android包括一个核心库,该核心库提供了Java编程语言核心库的大多数功能。每个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。Dalvik是针对于同时高效地运行多个VMs来实现的。Dalvik虚拟机执行.dex的Dalvik可执行文件,该格式文件针对内存最小使用做了优化。该虚拟机是基于寄存器的,所有的类都经由Java汇编器编译,然后通过SDK中的dx工具转化成.dx格式由虚拟机执行。Dalvik虚拟机依赖于linux的一些功能,比如线程机制和底层内存管理机制。
Linux内核--Android的核心系统服务依赖于Linux2.6内核,如安全性、内存管理、进程管理、网络协议栈和驱动模型。Linux内核也同时作为软件和硬件堆栈之间的硬件抽象层。
2.2 系统实现工具及运行环境
开发工具是:Eclipse、AndroidSDK、ADT。
软件运行环境:Android操作系统。
第三章 系统需求
3.1 用户需求
越来越复杂的公交网络使得人们经常非常的困惑,为了解决这些问题,在Android这个平台上,设计开发一个公交信息查询系统。
系统应该具有以下功能:
(1)实现地图的显示,并且能够对地图进行拖动、放大、缩小。
(2)用户应该能够从服务器中下载公交数据,当公交信息需要更新时,应该由管理员在服务器端进行更改,手机用户只需要下载新数据即可;数据库应该直接存在手机中,这样就不必每次登陆服务器,提高查询速度。
(3)系统应该可以进行车次查询,为用户提供某一路公交的信息,并在地图中画出路线。
(4)系统应该能够查询到在两个站点之间通车的所有公交车。
(5)系统应该能够进行站点查询,显示出经过某个站点的所有公交信息。
3.2 系统设计的原则
3.2.1 实用性原则
该原则主要体现的是所设计的系统能够解决实际问题,是所有应用系统设计最基本的最主要的原则,直接关系到系统成败。基于手机的公交信息查询系统可以随时为人们解决出行时的公交选择问题,使用户方便的获取真正想要获得信息。
3.2.2 可靠性原则
可靠性是系统设计的立足点,若设计的系统故障频繁,就不能满足用户的需求,设计的公交查询系统应该从以下几个方面提高其可靠性:故障发生是应该给出提示,提示用户应该如何操作来排除故障;通过测试监测系统漏洞,完善系统。
3.2.3 易于更新和维护
系统的设计能够实现有关空间数据和属性数据的实时更新和维护。在系统维护时只需在服务器上维护即可,数据的更新和维护要简单可行。
3.2.4 操作简单
操作简单是软件设计过程中需要重视的问题,应该精心设计用户接口、使系统用户界面友好,便于用户理解。
第四章 概要设计
4.1系统体系结构
手机客户端通过无线网与服务器连接并请求数据。如图4-1所示:
图4-1通信示意图
4.2 模块设计
4.2.1 程序模块划分
地图显示模块、GPS定位模块、查找定位模块、公交查询模块、公交数据下载模块、数据更新模块、地图图层模块。
4.2.2 程序模块功能描述
(1)地图显示模块—该模块的功能就是实现地图的显示,并且能够对地图进行拖动、放大、缩小。当用户点击主界面上列表中需要显示地图的item时,显示谷歌地图,单机地图界面后能够浮现出放大、缩小按钮,每次单击放大(缩小)按钮都能将地图放大(缩小)一个级别,谷歌地图共有24个级别,放大级别越高实现结果越详细,按住屏幕不放就可以拖动地图。
(2)GPS定位模块—本模块利用系统中的GPS服务实现定位,但是由于模拟器中没有GPS模块,所以需要通过DDMS虚拟坐标,模拟卫星获得当前位置并发给手机的过程。获得location以后就可以在地图中找到这个位置,并将地图更新,使这个location位于地图中央,并用红色的圈圈表示出来。
(3)查找定位模块—本模块实现的功能是在地图中查找用户要查找的点,并在地图中用红色圆圈标识出来。这个模块从编辑框中捕获用户要查找的地点名以后根据这个地名字符串在地图中查找最相近的location,找到之后更新地图到相应的GEOPOINT。
(4)公交查询模块—公交查询模块的主要功能分为三个:车次查询、站点查询、站站查询。车次查询是从数据库中查询某一路公交车的信息,包括起始时间,公交路线等,并且可以再地图中画出这路公交车的通车路线;站点查询可以获得经过某个站点的所有公交车,查询结果以列表的形式显示,单击一项会显示该路公交车的详细信息;站站查询与站点查询类似,是获取在两个站点之间通车的公交车次。
(5)公交数据下载模块—本模块通过HTTP协议,与WEB服务器进行连接,并下载公交数据。手机上通过http协议来获取网页一般会有500ms的延迟,网页请求过程是手机客户端访问网页的最大瓶颈所在。该模块通过指定URL连接到tomcat服务器,从web服务器上获取所选城市对应的公交数据以数据流的方式下载到手机的SDcard上,为了减少处理时间,采用下载与存入数据库并行的方式。该模块中将获得的公交数据分成公交车名、起始时间、公交路线三段后按照字段存入SQLITE数据库中。
(6)数据更新模块—本模块实现管理员对于公交数据的管理更新。公交数据是存放在服务器上的,所以当公交数据需要更新时,管理员在服务器端更新文件,手机用户只需要从服务器重新获取新数据即可。
(7)地图图层模块—该模块主要功能;在谷歌地图上增加图层。例如;在地图上画出某一路公交车的行车路线,在地图上用红色圆圈标识要查找的地点等。
4.3 功能模块对照表
表4-1 功能模块对照表
模块名称 模块功能
地图显示模块 显示地图,实现地图拖动、放大、缩小
GPS定位模块 定位当前位置
查找定位模块 在地图中查找指定位置,并标示出来
公交查询模块 车次查询、站点查询、站站查询
公交数据下载模块 从服务器下载公交数据并存入数据库
数据更新模块 管理员对公交数据的管理
地图图层模块 在地图上增加图层
第五章 详细设计
5.1 地图相关功能模块
5.1.1 地图显示模块
(1)模块描述:
该模块的主要功能:
显示google地图,并且能够对地图进行拖动、放大、缩小。
主要变量:
Private MapView mapview:MapView对象。
主要函数:
①setContentView(int layoutResID)功能
上一篇:
基于Android操作系统的足球小将手机游戏_毕业论文
下一篇:
试论APP广告在手机中的应用