毕业论文基于Android的北京公交离线查询系统设计32232.doc
《毕业论文基于Android的北京公交离线查询系统设计32232.doc》由会员分享,可在线阅读,更多相关《毕业论文基于Android的北京公交离线查询系统设计32232.doc(46页珍藏版)》请在三一办公上搜索。
1、目 录摘要I引言1第一章 绪论11.1问题的提出及研究意义11.2国内研究现状21.3 本论文组织结构2第二章 关键技术概述22.1 Android平台相关内容介绍22.2 系统实现工具及运行环境5第三章 系统需求53.1 用户需求53.2 系统设计的原则5第四章 概要设计64.1系统体系结构64.2 模块设计64.3 功能模块对照表7第五章 详细设计75.1 地图相关功能模块75.2 公交查询功能模块105.3 公交数据下载模块155.4 数据更新模块175.5 地图图存模块17第六章 公交查询系统的实现186.1 系统环境的搭建186.2 软件组成186.3 android系统虚拟手机19
2、6.4 软件安装206.5 软件运行21致 谢23参考文献24Abstract25附录:程序部分26基于Android的北京公交离线查询系统摘要 在目前已有的公交系统中,存在数据更新较慢、不准确等问题。基于安卓的北京公交离线查询系统还没有被推广成为成熟的软件,本文在分析总结一些问题的基础上,设计并实现了基于安卓的公交离线查询系统。系统运行于android平台,使用谷歌地图,SQLITE数据库,主要采用JAVA语言编程。实现了当前位置定位、在地图中快速查找任一位置,车次查询、站点查询、站站查询、换乘查询等功能。该公交查询系统实现了查询结果的文本与电子地图的同时显示,使系统更直观、方便。整个查询过
3、程中,只有谷歌地图功能需要连接网络获取网络数据,其余功能均能离线执行。关键词:公交查询;android平台;SQLITE;谷歌地图;java;eclipse引 言Android是一个真正意义上的开放性移动设备综合平台,它包括操作系统、用户界面、中间件和一些关键的平台应用,拥有移动电话工作所需的全部软件。Android最大特点在于它是一个开放的体系架构,具有非常好的开发和调试环境,而且还支持各种可扩展的用户体验,Android里面具有非常丰富的图形系统、对多媒体的支持功能和非常强大的浏览器。当然,提到Android就不得不说手机开放联盟(OpenHandsetAlliance),它是一个由33家
4、手机制造商、软件商和电信业组成的推广Android平台的联合会。Android平台的开放性等特点既能促进技术(包括平台自身)的创新,又有助于降低开发成本,还可以使运营商能非常方便地制定特色化的产品,以形成自己的竞争优势,这对于手机制造商来说,具有很强的吸引力。因此,它具有很大的市场发展潜力。由于手机价格低廉,使用方便,它已成为人们获得在生活工作上等各种信息服务的最佳选择。借助于无线互联网,基于手机的公交查询系统能为客户随时随地提供公交信息。鉴于本文做的是关于北京公交信息离线查询的系统软件,固然必须要有存放北京公交信息的数据库,关于数据库的搜集方面没有做好,所以在软件运行阶段不能直接实现公交的查
5、询,试运行阶段主要实现了软件的运行界面及相关功能的演示。第一章 绪论 1.1问题的提出及研究意义城市公交其覆盖面广、经济快捷的特点,目前任然是绝大数出行者的首选方式,也是各地城市政府大力发展的一种交通方式。针对目前的实际情况,大力发展城市公共交通,鼓励并吸引市民选择乘公交出行,将会大大减弱交通压力,从极大程度改善交通状况。影响城市公交服务水平的因素主要有四个方面:方便性、迅捷性、经济性、舒适性。改善公交服务,就必须从着四个方面综合考虑;,一般各城市采取的措施有:(1) 合理布设公交线路网。(2) 改善公共交通设施。(3) 提高公交车速。(4) 将设智能公交系统。同时在建立在线网络查询公交信息的
6、同时也支持离线查询,即使在没有网络连接更新的情况下可以利用已经下载存储在手机里的地图使用,并且能对手机里的地图做进一步的更新,从而使得信息具有实时性和准确性。1.2国内研究现状我国的公交事业发展比较落后,公交智能化水平比较低,绝大部分是沿袭旧的运营体制。目前我国的城市公交查询系统还处于一个相对落后的水平,广大乘客可以获得信息的方式很少,公交线路和站点信息的完整性和准确性得不到保证。虽然手机凭借小巧可人的身材、N合一的功能特色,成为数码时代人们日常生活中不可或缺的一部分,目前大多数基于手机的公交查询系统都是采用短消息的形式,虽然基于短消息的查询不受空间约束,但是可能受到运营商的一些约束:硬件方面
7、,如果遇到服务器、网络繁忙时段或信号盲区,导致用户请求长时间得不到响应。1.3 本论文组织结构各章内容安排如下:第1章 绪论:本章主要讲述设计题目的研究目的、意义以及现状,相对于软件工程的问题定义和可行性研究部分。第2章 关键技术概述:本章主要介绍了系统所采用的关键技术,这些技术是构成系统的主要技术因素,并为系统的构造提供了理论依据。第3章 系统需求:本章描述了公交查询系统的基本用户需求比如用户界面等,同时介绍了本软件的设计原则以及运行环境。第4章 概要设计:本章描述了系统的体系结构,详细描述了系统的具体模块划分和模块的层次结构,并详细描述了各个模块的功能,为详细设计做好铺垫。第5章 详细设计
8、:本章详细介绍了各个模块的内部处理流程,以及实现模块的类,类中的函数以及变量。第6章 系统测试及运行结构分析:本章属于软件测试环节,对于该软件的运行环境、运行情况进行详细的说明,详细说明软件的特色和优点。第二章 关键技术概述2.1 Android平台相关内容介绍2.1.1 Android操纵系统简介Android一词的本义指“机器人”,同时也是google于2007年11月5日宣布的基于linux平台的开源手机操作系统,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。Android是基于Linux内核的操作系统,早期由Google开发,后来
9、由开放手机联盟开发。它采用了软件堆层的构架,主要分为三部分。底层是以Linux内核工作为基础,只提供基本功能;其他的应用软件则有各公司自行开发,以java作为编写程序的一部分。另外,为了推广此技术,Google和其他几十个手机公司建立开放手机联盟。2.1.2 Android构架图2-1显示的是Android操作系统的主要组件,每个部分将会在下面具体描述。Android同一个核心应用程序包一起发布,该应用程序包包括email客户端、SMS短消息程序、日历、地图、浏览器、联系人管理程序等。所有的应用程序都是用Java编写的。Android应用程序框架 开发者也完全可以访问核心应用程序所使用的API
10、框架。该应用程序框架用来简化组建软件的重用;任何一个应用程序都可以发布它的功能块并且任何其他的应用程序都可以使用其所发布的功能块。该应用程序重用机制使得组件可以被用户替代。 ApplicationHomeContactsPhoneBrowser Application FrameworkActivityManagerWindowManagerContentProviderViewSystemNotificationManagerPackageManagerTelephonyManagerResourceManagerLocationManagerXMPPService LibrariesSur
11、face ManagerMedia FrameworkSQLiteOpenGL|ESFreeTypeWebKitSGLSSLLibcAndroid RuntimeCore LibrariesDalvik VMLinux KernelDisplayDriverCameraDriverBlueteethDriverFlash MemDriverBinder(IPC)DriverUSBDriverKeypadDriverWifiDriverAduioDriversPowerManagement 图2-1 Android系统构架 目前Android应用程序都由一系列的服务和系统组成,包括:(1) 一个
12、可扩展的视图(view)可以用来建应用程序,包括列表(list)、网格(grids)、文本框(textboxes)、按钮(buttons),甚至包括一个可嵌入的web浏览器。(2) 内容管理器(content providers)使得应用程序可以访问另一个应用程序的数据,或者共享它们自己的数据。(3) 一个资源管理者(resource manager)提供非代码资源的访问,如本地字符串、图形和分层文件(layout files)。(4) 一个通知管理器(notification manager)使得应用程序可以在状态栏中显示客户通知信息。(5) 一个活动类管理器(activity manage
13、r)用来管理应用程序生命周期并提供常用的导航回退功能。Android程序库-Android包括一个被Android系统中各种不同组建所使用的C/C+库集。该库通过Android应用程序框架为开发者提供服务 。以下是一些主要的核心库:系统C库-一个从BSD继承来的标准C系统函数(libc),专门为基于embedded linux的设备定制。媒体库-基于packetvideo openCORE;改库支持录放,并且可以录制许多流行的音频视频格式,还有静态印象文件包括MPEG4、H.264、MP3、AAC、AMR、JPG、PNG。Surface Manager-对显示子系统的管理,并且为多个应用程序提
14、供3D和2D图层的无缝融合。LibWebCore-一个最新的web浏览器引擎用来支持Android浏览器和一个可嵌入的web视图。SGL-一个内置的2D图形引擎3D libraries-基于OpenGL ES 1.0APIS实现;该库可以使用硬件3D加速或者使用更高优化的3D软加速。Freetype-位图(bitmap)和向量(vector)字体显示。SQLite-一个对于所有应用程序可用功能强劲的轻型关系型数据库引擎。Android运行库-Android包括一个核心库,该核心库提供了Java编程语言核心库的大多数功能。每个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalv
15、ik虚拟机实例。Dalvik是针对于同时高效地运行多个VMs来实现的。Dalvik虚拟机执行.dex的Dalvik可执行文件,该格式文件针对内存最小使用做了优化。该虚拟机是基于寄存器的,所有的类都经由Java汇编器编译,然后通过SDK中的dx工具转化成.dx格式由虚拟机执行。Dalvik虚拟机依赖于linux的一些功能,比如线程机制和底层内存管理机制。Linux内核-Android的核心系统服务依赖于Linux2.6内核,如安全性、内存管理、进程管理、网络协议栈和驱动模型。Linux内核也同时作为软件和硬件堆栈之间的硬件抽象层。 2.2 系统实现工具及运行环境开发工具是:Eclipse、And
16、roidSDK、ADT。软件运行环境:Android操作系统。第三章 系统需求3.1 用户需求越来越复杂的公交网络使得人们经常非常的困惑,为了解决这些问题,在Android这个平台上,设计开发一个公交信息查询系统。系统应该具有以下功能:(1) 实现地图的显示,并且能够对地图进行拖动、放大、缩小。(2) 用户应该能够从服务器中下载公交数据,当公交信息需要更新时,应该由管理员在服务器端进行更改,手机用户只需要下载新数据即可;数据库应该直接存在手机中,这样就不必每次登陆服务器,提高查询速度。(3) 系统应该可以进行车次查询,为用户提供某一路公交的信息,并在地图中画出路线。(4) 系统应该能够查询到在
17、两个站点之间通车的所有公交车。(5) 系统应该能够进行站点查询,显示出经过某个站点的所有公交信息。3.2 系统设计的原则3.2.1 实用性原则该原则主要体现的是所设计的系统能够解决实际问题,是所有应用系统设计最基本的最主要的原则,直接关系到系统成败。基于手机的公交信息查询系统可以随时为人们解决出行时的公交选择问题,使用户方便的获取真正想要获得信息。3.2.2 可靠性原则可靠性是系统设计的立足点,若设计的系统故障频繁,就不能满足用户的需求,设计的公交查询系统应该从以下几个方面提高其可靠性:故障发生是应该给出提示,提示用户应该如何操作来排除故障;通过测试监测系统漏洞,完善系统。3.2.3 易于更新
18、和维护系统的设计能够实现有关空间数据和属性数据的实时更新和维护。在系统维护时只需在服务器上维护即可,数据的更新和维护要简单可行。3.2.4 操作简单操作简单是软件设计过程中需要重视的问题,应该精心设计用户接口、使系统用户界面友好,便于用户理解。第四章 概要设计 4.1系统体系结构手机客户端通过无线网与服务器连接并请求数据。如图4-1所示: 手机客户端 Internet服务器 图4-1通信示意图4.2 模块设计4.2.1 程序模块划分地图显示模块、GPS定位模块、查找定位模块、公交查询模块、公交数据下载模块、数据更新模块、地图图层模块。4.2.2 程序模块功能描述(1) 地图显示模块该模块的功能
19、就是实现地图的显示,并且能够对地图进行拖动、放大、缩小。当用户点击主界面上列表中需要显示地图的item时,显示谷歌地图,单机地图界面后能够浮现出放大、缩小按钮,每次单击放大(缩小)按钮都能将地图放大(缩小)一个级别,谷歌地图共有24个级别,放大级别越高实现结果越详细,按住屏幕不放就可以拖动地图。(2) GPS定位模块本模块利用系统中的GPS服务实现定位,但是由于模拟器中没有GPS模块,所以需要通过DDMS虚拟坐标,模拟卫星获得当前位置并发给手机的过程。获得location以后就可以在地图中找到这个位置,并将地图更新,使这个location位于地图中央,并用红色的圈圈表示出来。(3) 查找定位模
20、块本模块实现的功能是在地图中查找用户要查找的点,并在地图中用红色圆圈标识出来。这个模块从编辑框中捕获用户要查找的地点名以后根据这个地名字符串在地图中查找最相近的location,找到之后更新地图到相应的GEOPOINT。(4) 公交查询模块公交查询模块的主要功能分为三个:车次查询、站点查询、站站查询。车次查询是从数据库中查询某一路公交车的信息,包括起始时间,公交路线等,并且可以再地图中画出这路公交车的通车路线;站点查询可以获得经过某个站点的所有公交车,查询结果以列表的形式显示,单击一项会显示该路公交车的详细信息;站站查询与站点查询类似,是获取在两个站点之间通车的公交车次。(5) 公交数据下载模
21、块本模块通过HTTP协议,与WEB服务器进行连接,并下载公交数据。手机上通过http协议来获取网页一般会有500ms的延迟,网页请求过程是手机客户端访问网页的最大瓶颈所在。该模块通过指定URL连接到tomcat服务器,从web服务器上获取所选城市对应的公交数据以数据流的方式下载到手机的SDcard上,为了减少处理时间,采用下载与存入数据库并行的方式。该模块中将获得的公交数据分成公交车名、起始时间、公交路线三段后按照字段存入SQLITE数据库中。(6) 数据更新模块本模块实现管理员对于公交数据的管理更新。公交数据是存放在服务器上的,所以当公交数据需要更新时,管理员在服务器端更新文件,手机用户只需
22、要从服务器重新获取新数据即可。(7) 地图图层模块该模块主要功能;在谷歌地图上增加图层。例如;在地图上画出某一路公交车的行车路线,在地图上用红色圆圈标识要查找的地点等。4.3 功能模块对照表 表4-1 功能模块对照表模块名称 模块功能地图显示模块显示地图,实现地图拖动、放大、缩小GPS定位模块定位当前位置查找定位模块在地图中查找指定位置,并标示出来公交查询模块车次查询、站点查询、站站查询公交数据下载模块从服务器下载公交数据并存入数据库数据更新模块管理员对公交数据的管理地图图层模块在地图上增加图层第五章 详细设计5.1 地图相关功能模块5.1.1 地图显示模块(1)模块描述:该模块的主要功能:显
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业论文 基于 Android 北京公交 离线 查询 系统 设计 32232
链接地址:https://www.31ppt.com/p-2394321.html