


已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于Android平台的校园助手应用基于Android平台的校园助手应用摘 要对于新生和游客来说,大学校园可能是大的,错综复杂的,令人生畏的。通过使用GPS装置或者谷歌地图可以容易的找到校园,但是实际当你置身于校园里面的时候你会发现一切并非想象的那么简单,在校园里面没有提供指引方向的帮助服务。这篇论文将介绍基于Android平台的校园助手应用的架构和设计说明,应用场景设定于佛罗里达州大西洋大学-Boca Raton校区。关键词:校园助手;Android平台;校园地图编辑器;普适计算;谷歌地图第1章 介绍及相关研究近年来科学技术的进步已经得到普及,我们会发现许多应用程序存在于我们日常生活的方方面面,特别是有许多主要用于指示用户顺利到达想要去的地方的设备和不同的应用程序。今天的司机能够出门好好旅游一次多亏了许多装在他们车上的GPS装置。GPS应用程序让用户输入目的地和他们当前的坐标位置,然后根据这些位置显示出最快到达目的地的路径。随着时间的推移,GPS应用程序的附加功能也不断增多和完善,如显示拥挤的路线,它允许用户进行智能驾驶决策和提高驾驶的安全性。当我们去不熟悉的地方或长途旅行的时候,这节省了时间和减轻了我们的压力。谷歌地图和GPS系统在近几年成为人们不可或缺的必需品,有大量的用户在导航方面依赖于他们,但是他们的能力还没有充分的应用于大学校园里面。在校园里面使用谷歌地图来进行导航是不可用的,以佛罗里达州大西洋大学Boca Raton校区为例,当把Boca Raton校区和电子工程与计算机学院的Engineering East主楼输入为目的地,这个时候并没有完全显示出相应的导航地图。显示出来的方向指向佛罗里达州大西洋大学,并不是那个Engineering East楼。此外,并非所有的大学建筑物和停车场都显示在谷歌地图里。校园可能是相当大的并且错综复杂的,游客、新生和职员很难在短时间内熟悉周围的路线。甚至当他们询问完方向后他们也经常是找不到目的地,因为那个这条路往往涉及到周围的建筑物和校园里面的标志性建筑,他们必须原来知道这些才可以。此外,一些校园正在迅速扩建,如佛罗里达州大西洋大学的Boca Raton校区,新建筑和设施正在不断添加进来。考虑到人们通常有很多日常事务要处理,而且他们可能需要按时到达某个指定位置,这可能让人感觉相当紧张的。消除这种紧张和困扰将改善校园的整体气氛。由于如今智能手机是一种常见的技术,使用他们来帮助校园导航是可取的方案。在这篇论文里面我们处理的问题是使用现有技术上的优势,提供一个可以帮助用户在校园里面进行导航的机制。我们的目标是设计并实现一个用户友好的系统,该系统将提供到不同建筑物和停车场的行车路线,并且它同时提供了到目的地的行车和步行路线。用户可以根据自己的用户类型(如游客、职员或者学生)来选择接近于目标建筑物的停车场。Android是目前最流行的智能手机平台之一,这是一个基于Linux的操作系统,主要是为了触屏移动设备而设计的。谷歌已经发布了它的源代码作为开放资源,这引起了大批的开发人员使用专门的Java为其编写程序,这大大的扩展了该智能设备的功能。由于其卓越的技术特性,我们建议开发基于Android平台的校园助手应用。目前存在一些涉及到我们这个项目的其他创新项目,如来自于加利福尼亚大学Santa Barbara分校的研究人员正在开发一个互动地图项目。他们的地图可以让用户选择建筑物进行放大和定位,以及找到一个建筑物内的房间,但是该项目不支持导航。另一种应用是加利福尼亚大学San Diego分校校园地图,该地图是通过网络浏览器访问的,并允许用户选择一个源位置和目的地。当这一信息被提交,最短路径的轮廓将被描绘在地图上,而且距离和预期步行时间都会被示出来。然而,这个基于Web的应用程序不可以显示出在校园内的行车路线。还有几个应用程序也为一些大学提供校园地图和服务,例如有关建筑物和地点的目录,建筑照片册,当前位置的显示、放大或者缩小。然而,这些应用程序中没有一个实现了驾驶和行走指示、导航,以及考虑到区分用户的类型。第2章 校园助手应用的体系结构在本节中我们提出了校园助手应用程序的体系结构,我们列出了系统的以下需求:l 应用程序可在Android平台上运行。l 应用程序允许用户选择源位置和目标位置,并显示出最短路径。用户可以选择这是否是一个适合步行或行车的路线。这些功能在校园里特别有用,因为人们经常要在不同的建筑之间走来走去。同时小道和各种捷径可在这种情况下使用。l 该应用程序提供基于用户类型的导航功能。用户输入目标位置和当前位置后,该应用将会显示出一条最短行车或者步行路径。如果目标是建筑物,根据用户类型(例如学生、职员或者游客),系统将会显示出到达匹配停车场的路径。该功能在校园里显得尤为重要,因为有不同的停车场要分配给不同的游客、学生和职员。l 如果用户从预计的路径离开,那该应用程序将会提供重新路由。图1.校园地图的体系结构图1显示了我们的校园助手应用程序的体系结构。由于谷歌地图不提供在校园内的位置的任何信息(例如建筑物、停车场),我们必须建立用于描述校园地点、道路、街巷、交通标志、指示和导航所需要的一切东西的地图数据结构。我们设计了一个地图编辑器工具来编辑和管理校园地图,这些地图数据以XML文件的形式存储在服务器上。地图编辑器工具使用HTML 5,JavaScript和jQuery。谷歌地图API V3是用来显示地图数据片和代表校园地图概念(建筑物等)的各种标记。这个基于Web的工具存储在地图服务器上,可以通过智能手机和电脑上的主流web浏览器,比如Opera、FireFox、Intent Explorer和谷歌浏览器来连接该工具。地图编辑器工具可以让地图和它的XML文件进行快速和容易的操控。由于校园的建筑物,街道和校园别的方面在谷歌地图上都是搜索不到的,这必须由地图编辑器的用户手动完成。地图编辑器允许用户编辑叠加在谷歌地图上的校园地图,并且并将其作为一个XML文件保存在服务器上。它自带版本管理器,用来管理已经存在的XML文件,还允许用户直接操作地图XML文件。当校园助手应用程序进行部署的时候,地图编辑器会更新校园地图的数据。当校园助手应用程序部署完成后,地图编辑器用来保持校园地图是最新的。智能手机用户会自动下载最新的地图版本,这简化了维护。当新的位置(比如大楼)被添加到校园里面或者位置的名称改变了的时候,地图编辑是非常有用的,它可以保持地图数据是最新的。图2.用地图编辑器打开FAU大学校园地图地图编辑器用户可以使用如下功能:加载现有的校园地图,编辑地图功能(创建/编辑建筑物、停车场、道路/胡同段和交通标志),将一个地图作为XML文件保持到地图服务器上,显示地图XML表示。图2显示了一个在地图编辑器加载的,带图标建筑物(“B”标志),停车场(“P”标志),可步行(绿色),和私人(蓝色)地段的一部分FAU大学校园地图的截图。这些地图功能将在第三部分进行讨论。我们的体系结构的主要组成部分是在Android手机上运行的校园助手智能手机应用程序。该应用程序的用户界面会提示用户输入相关信息,例如用户类型,校园地图和目的地位置。当在校园里面的时候,该应用程序提供了两个方向和步行/驾车导航功能。该应用程序依赖于一个JSON/ HTTP协议向地图服务器请求一个XML地图文件。此XML文件会被解析和地图图形功能会被构造。GPS设备用于确定用户的当前位置或者用户可以自己确定一个源位置。如果用户想要行车路线,应用程序将指示用户到最接近预期目的地的相匹配的停车场。应用程序然后计算源位置和目的地之间的最短路径,并显示在用户的手机屏幕上。图标确定用户的当前位置与目的地。更多的细节将在第四部分进行讨论。第3章 地图模式和地图编辑器我们将地图作为一个图表来绘制,在图表上顶点用来描述地图的特性(如建筑物,停车场,中介段两端的位置),边用来描述在顶点之间的可步行和可行驶段:小路或者道路段。一个地图将存储为服务器上的XML文件,XML模式定义了对象的层次结构和地图图形的属性。我们在图3 中呈现这个层次。图3.UML校园地图类图类层次的根结点是CampusMapObjectObject类,其他所有对象继承于它,除了LatLn类例外。根部类向每一个后代提供了一个单独的id属性,该id属性用于参照地图图形元素的。顶点类代表了最基础水平的一个位置(地图功能)。顶点有一个叫names的属性,该属性是存储特定地点的名称的一个字符串数组。建筑物和停车场有一个正式名称(例如工程东楼)和其他一些常见的名称,如“EE96”或“绿色建筑”,“工程绿色建筑”,“新工大厦”,它们被学术界广泛使用。顶点的缩写属性用于在用户界面上显示一个标签,并且通常被设定为正式的位置缩写,例如“EE96”为工程东楼建筑物。一个顶点使用存储有纬度和经度两个数据的LatLng对象来指明它在地图上的位置。顶点可以进行是否可以被汽车到达的专门判断。一个WalkSegmentEnd对象用来描述汽车不能到达只有步行才能到达的位置。这种类型的对象被大量用于连接地图功能和仅仅行人可以到达的多段路径。RoadSegmentEnd对象代表汽车可以直接到达的位置。停车场,建筑物(一般)和常常被用来模拟多段路径的顶点是RoadSegmentEnds对象。我们认为可以通过汽车到达的位置用步行的方式也是可以到达的,因此我们定义了WalkSegmentEnd的RoadSegmentEnd子类。这个对象有一个布尔类型属性:canUturn,该属性用来指明在顶点处是否可以做U型转弯。Building类用来模拟校园的建筑,包括报告厅、学生宿舍、工厂厂房、体育场馆和体育场。Parking类负责收集校园内停车场的信息,信息包括除了简称之外的许可证类型和名字列表。我们的大学采取把许可证按照院系、职员、学生和游客来划分开的办法。校园助手应用程序可以找到去最近的停车场的方向,该停车场可以被手上拥有相应的许可证类型的用户使用。Segment对象连接了两个地图图表的顶点和代表了在地图里面的一条边。一个Segment对象存储了将花费的时间成本,该成本是通过计算在地图上两个端点之间的以米为单位的距离。方向属性指明了在某个方向上一段路程是否是可被导航的,END1END2,或者相反,或者在两个方向上。一段路程的方向对于WalkSegmentEnds对象也是富有意义的,例如电梯,因此这个属性被分解到Segment基类里。WalkSegment类继承于Segment,它代表了两个地点之间的路程,而且该地点只能进行步行导航,不能进行汽车导航。RoadSegment类是用来描述一段可以被汽车导航的路程。RoadSegment和Street对象是相关的,或者是不相关的,正如一些在停车场或者靠近建筑物的路径常常不属于一个街道。一个Street对象可以有多个名字,因为这个情况在美国的农村和州高速公路是很常见的。在我们的模式里面用TrafficSign类来代表交通标志。TrafficSign对象拥有经纬度位置和一个指明驾驶方向的标志适用的方向属性,涉及到RoadSegment的end1 end2方向。该模式支持许多继承自TrafficSign的类:Crossing类 (方向=0)、Stop Sign类(方向=1)、Semaphore类(方向=0)、Speed Bump类(方向=0)、SpeedLimit类(方向=1)和Yield类 (方向=0)。这些类是被用来加强带有听觉和视觉指示器的导航应用程序的用户体验,当用户接近一个交通标志和给出他/她将减速的信号。地图编辑器是一个允许授权用户在校园地图上编辑的开发工具。我们希望该工具一开始就用于创建校园地图,以增强行车和步行导航的功能需求。之后,该工具是偶尔才会被使用的,只有当必须更新的时候,例如当一个新建筑物落成,属性的名称改变了,增加了新的交通标志等等的时候。地图编辑器的用户可以添加新的对象,并且通过对象的视图来编辑他们的属性,在谷歌地图上作为标记和线条叠加在一起的相互作用。例如在地图上点击左键放置一个新的顶点;在顶点处点击以切换选择状态;在地图上的标记处或在一段覆盖区域上点击右键可以编辑它们的属性。随着一个顶点被创建,用户可以通过点击左键创建新的一段路程到另一个顶点。在RoadSegment对象上单击左键将会切换它的方向属性;在任何一处上右击将会把其删除掉,并依此类推。地图编辑器工具用HTML 5和JavaScript来实现。谷歌地图API V3在浏览器里面提供方便的地图显示,放大/缩小,并提供操作经/纬度和计算地理距离的API。地图编辑器使用基于JSON协议来发送/接收地图XML文件和地图元数据到/从地图服务器。图2显示了FAU校园地图在地图编辑器中打开进行编辑的情景,图中的标记代表顶点,有颜色的线条代表一段路程。第4章 运行在Android平台上的校园助手应用程序校园助手应用程序在人们的Android智能手机上提供了方向和步行/驾驶导航,应用程序执行步骤如下:l 提示用户如下信息:用户类型(学生、职员或游客),校园(例如Boca Raton、Davie)和目的地位置,通常是一个建筑物或一个停车场。l 使用HTTP协议从地图服务器上下载地图XML文件。l 解析校园地图XML文件并建立校园地图图形数据结构。l 计算从源位置到目的地(下文详述)的最短路径。当前的GPS位置被用作源位置,目的地是根据用户类型来计算的,例如如果到某个建筑物的一条驾车路径是被选择的,那么将提供一个用户被允许的最近的停车场。l 方向和导航提示将会显示在Android手机的校园地图内,最短路径会以覆盖在谷歌地图上的方式显示出来,当前用户的位置会以汽车/行人图标显示出来。此外,用户有以下选择:选择可驾驶或步行的路径,通过点击手机触摸屏的目标顶点标记选择一个新的目的地,并且可以用捏手势进行放大/缩小。我们使用Java语言,借助Android SDK来实现该应用程序。在这个项目中,我们使用了Eclipse IDE和利用ADT插件编辑文件和管理该项目。Android的API提供了许多有用的包,它可以让用户实现Android设备丰富的功能,例如用户界面和用于访问罗盘和GPS设备的类。Eclipse环境与Android平台很好的结合在了一起,而且允许用户直接在手机上运行调试程序。在我们的应用程序中重要的一个步骤是解析XML地图文件成地图图表数据结构,解析器读取基本的XML文档,识别标签,并提取标签之间的数据。这允许一个计算机程序来访问和使用XML文件中的数据。我们使用文本对象模型(DOM)来进行解析,由于要解析文件,我们构建数据结构来存储校园地图对象及其属性,例如顶点(如建筑物、停车场等)和边(如道路和小径)。我们使用Dijkstra算法来计算源位置和目的地之间的最短路径。在原算法中提出了通过从源顶点到图中的所有其它顶点的方法来计算最短路径。一条路径的权重是被作为所有路段成本的总和来计算的。该算法存储在最低优先级队列中最短路径仍然还没有被算出的顶点。在每一步中,拥有最小权重的那个顶点将会被移除,它的最短路径的计算结束。因为我们对到单一目的地顶点的最短路径计算感兴趣,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 初级汽车驾驶员职业技能鉴定理论考核试题及答案
- 2025年数字人造型师中级面试题预测及解析
- 2025年大学入学英语水平测试预测试题集及答案详解
- 2025年注册验船师考试(C级船舶检验法律法规)经典试题及答案二
- 2025年磁粉检测中级考试热点与难点解析
- 2025年金融产品销售经理面试模拟题与答案
- 2025年中级公墓管理员殡葬行业面试模拟题及答题技巧
- 2025年高级气象观测员实操技能考试模拟题集及实操指南
- 北京市门头沟区2023-2024学年七年级下学期期末质量监测历史考试题目及答案
- 2025年互联网营销专家面试指南及实战模拟题集版
- 中药材种植与采购合同标准范本
- 2025年测绘专业技术中级职称考试试卷及答案
- 2025新租房合同范本(标准)
- 厨房餐厅承包合同(标准版)
- 新版煤矿安全规程解读
- 儿童自闭症教学方法
- 五年级下学期数学期末质量分析
- 北京市通州区2024-2025学年七年级下学期期末道德与法治试题(含答案)
- 2025年《师德师风》测试题(附答案)
- 2025年甘肃高速公路处收费人员招聘考试(公共基础知识)历年参考题库含答案详解(5套)
- 2025年新版节能减排生态环保知识竞赛考试题库及答案
评论
0/150
提交评论