设置主页 加入收藏 保存到桌面
当前位置首页论文计算机论文安卓校园驾驶助手系统的设计与实现

安卓校园驾驶助手系统的设计与实现

我是腰王围观:℉更新时间:2021-12-18 12:10:57

安卓校园驾驶助手系统的设计与实现

第1章 绪论

1.1 题目的研究背景和意义

智能手机同样可以方便移动办公的人们处理邮件和浏览网站。同时,人们可以使用智能手机上的各种应用打发时间。这些应用包括:手机游戏、阅读器、视频播放器、GPS 导航软件等等。这些应用的安装和卸载都十分方便。

相信很少有人没有玩过愤怒的小鸟这款手机游戏,该手机游戏中用户通过触摸屏幕来瞄准和射击,用小鸟来摧毁不同的建筑。用户可以使用视频播放应用即时播放流媒体文件,无需电视既可以享受多媒体的娱乐。另外一个很受欢迎的应用就是手机地图应用,该应用可以帮助用户通过卫星图像找到不同的位置和地面标记。同时,智能手机还有许多为某些商业定制的应用,包括银行、零售店等等。

近年来还有一项技术很受欢迎。许多设备和应用都专注于实现帮助用户到达目的地的功能。如今的许多车内都装配了 GPS 导航设备,这些设备不仅可以帮助司机找到目的地,而且可以帮助司机避开拥堵的路线、保证行车安全。这样,再也没有昔日司机停下车来,迷失方向的情景发生了。GPS应用允许用户输入目的地信息,然后应用会根据当前位置显示到达目的地的最快速路线。

1.2 国内外研究现状

国内外对本课题领域的研究并不是很多。正如前文中提到的,利用GPS设备或者手机地图都能进行导航。但是这些应用却不能在校园里进行导航,也有许多学校的网站上提供了各个目标点的路线,但是在这些网站上用户不能自行选择目的地并得到到达该目的地的最短路线。在研究的过程中我们发现了一些应用,这些应用跟本课题研究的领域有些类似。

百度地图中的街景地图功能和本文的研究课题有相同之处。该功能可以使用户交互式的观看某地区的360度全景图像。尽管该功能十分的有趣,通过它可以看到校园的景色,包括人行道以及街道,但是该功能却不可以使用户输入目的地,然后在地图上显示到达目的地的最短路线。

美国加州大学的一些研究人员正在研究开发一个交互式地图应用[3]。该应用可以允许用户选择建筑并进行放大和定位,同时也可以查找建筑中的房间。但是该应用不能为用户提供从某一地点到达指定目的地的最短路线。

加利福尼亚大学的校园地图的功能和本课题所研究的地图功能基本相同[3]。用户通过网页浏览器打开该地图,用户可以在地图上选择当前所在位置以及目标点。当用户输入的信息被提交以后,会在地图上显示出到达目的地的最短路线,并且该地图会给出大概的步行时间。但同样,该网页不会为用户提供校园内的行车路线。

上文中提到的校园地图,和本课题的最大区别在于,本课题所开发的校园地图应用是基于 android 平台的应用。而上文中所提到的校园地图只是一个网页应用,并不是移动设备上的应用程序。本课题的应用可以通过安卓市场下载到用户的手机上,用户可以通过该应用查看自己当前的所在位置。该应用也会在校园的地图上显示出用户的移动。

因此,并没有许多应用和课题与我们的课题拥有相同的目标,但是,他人应用中的某些想法和我们的课题相类似,并且这些应用也为本课题提供了一些有用的想法。

第2章 Android平台

Android 平台是最流行的移动设备平台。正如其介绍中所说,该平台是唯一对用户共享代码和文档,以实现用户对该系统进行定制和开发的移动操作系统平台。下面我们将介绍该平台的诞生以及如何发展成今天的规模。

Android 平台的目的是为移动设备打造一个开源的软件平台,以防止某一个软件供应商以不公开的技术进步来垄断市场,从而遏制其它供应商的增长并使消费者付出大量的购买成本。现实证明该方法取得了成功,Android 市场的发展速度十分快。自从Android 第一个版本发布以后,又发布了很多版本,该平台已经成为更强大、更特别的平台,并且成为移动平台的领导者。

2.1 Android 平台的体系结构

Android 平台是基于是 Linux 的内核,Linux 是一款开源的操作系统,其基本功能是完成计算机的资源管理。Linux 操作系统最初是由 Linus Torvalds 在上个世纪90年代开发完成,并且Linux开发之初受Minix影响很大。

Linux 内核可以分为 3 层结构,系统调用接口(处理读、写指令)、体系结构无关的内核(对所有体系结构相同)以及体系结构相关内核(该平台特有代码)。该内核有一个整体设计,在内核中包含基本的服务。Linux内核的最大优点在于可移植性;该内核可以应用于很多平台。Linux系统因为其高效和稳定被认为是世界上最受欢迎的开源操作系统。所以该系统提供了可靠的开发基础,所以Linux成为Android 平台的开发者们的最好选择。

Android 平台的软件拥有很好的用户界面兼容性,很好的浏览器,很好的选择连通性,对图像和媒体文件良好的处理以及数据存储方式。该平台同时提供了对基于位置信息服务的支持以及对加速度传感器的支持。图 2.2给出了一个简易的Android 平台软件层级结构图,并列出了每层结构所执行的服务。

2.2 开源社区

用户可以通过编写应用、提交漏洞以及问 Android 开放平台贡献代码等方式来为该平台的改进做出贡献。只要这些代码可以使用,即使用同样的语言和形式(ava 和面向对象),这些代码就不会被拒绝。贡献代码的方式十分简易,首先由社区成员提交其代码,然后代码由验证人员验证,只要该代码符合Android 工程准则,该代码就会被验证成功。

为了开发Android 应用,用户需要首先下载Android SD(软件开发工具包)。然后就可以用 IDE(集成开发环境)来开发应用,常见的 IDE 软件有 Eclipse。Eclipse 是一款在个人计算机上开发 Android 应用程序的开发者工具(ADT),该软件可以不受平台限制,编写Android 应用程序。一旦设定了开发环境,那么就会有许多用于开发的 ava 类和函数库。将这些库和类导入到工程中,便可以让用户开发出很多具有许多强大功能的应用。

软件开发工具包(SD)的一个方便之处是当中的手机模拟器(Mobile Device Emulator),该模拟器用于模拟 Android 移动设备。模拟器可以让开发者即使没有Android 设备也可以开发应用并检测所开发应用的运行效果。这一点也说明了Android 的开放性,Android 平台不要求开发者必须拥有一台 Android 设备来在该设备上进行开发工作,反而平台免费为开发者提供了开发代码和对代码进行检测的工具。

所有的这些方面都是 Android 平台开放和共享理念的例证,这些方面也是Andriod 平台飞速发展的重要原因。

第3 章 应用组件开发..................13

3.1 UML 类视图.........................13

3.1.1 UML...................13

3.1.2 UML 设计软件 .....................14

第4 章 组件集成................31

4.1 组件的创建和集成 .....................31

4.2 集成中的困难 .............................34

第4章 组件集成

对于任何含有很多组件的工程,将这些组件集成为一个能够运行且协调一致的整体都是一个挑战。这将会带来很多困难,这些困难往往是由于这些本来单独运行良好的组件,集合到一起时常常会冒出很多问题和错误。直到将这些组件组合到一起之后,兼容性问题才会显现出来。

最好的集成方式是每次只增加一个组件。直到最新添加的组件可以如预期的一样运行,才添加其它的组件。这样可以使错误和兼容性问题降低到一个很小的规模,确保没有任何遗漏或者忽略。如果将这些组件一起添加,那么应用正常运行的可能性很小。并且应用会毫无疑问的出现各种各样的问题,并且很难解决。

4.1 组件的创建和集成

由于我们所采用的策略是每个组件能正常运行后才开始着手新的组件的创建,所以各个组件的创建顺序影响组件的集成。本工程需要首先处理的部分是UML 图。由于该部分可以勾画出数据结构,在完成该部分之前很难开始本工程的其它部分的工作。当确定了类的层次结构之后,UML 图就完成了,可以开始对代码组件的工作。

首先要完成用户界面部分(UI)的代码组件。该组件包含了3个类,其中一个类完成用户的菜单选择功能,一个类实现对用户选择的反应,另外一个类实现调用程序的其它功能并显示运行结果给用户。这些都通过 Android 包来完成,这些包可以访问Android 设备的不同功能,例如活动、菜单和用户界面窗口等。该组件是工程的逻辑开始点,因为该组件在Android 设备上运行,没有该组件将不能对程序进行测试。为了对该代码进行检测,我们将Android 测试设备(Samsung Galaxy S Blaze)连接到电脑上,在 Eclipse 集成开发环境中选择运行选项。只要设备驱动正常安装,将会出现一个菜单让用户选择设备。当该步骤结束之后,该应用会在设备上运行,就会看见用户界面。一旦该应用程序如期的工作,我们就可以开始下一个组件的工作。

结论

在如今快速发展的世界,人们常常需要导航软件来帮助自己快速、便捷的找到目标地点。例如百度地图这样的应用和 GPS 设备正是基于上述原因而变得越来越受欢迎。然而正如其它相对较新的科技一样,在应用提供了所有用户所需的服务之前,这类应用还有许多需要改进之处。本课题专注于为用户提供校园内部的导航,研究该课题正是由于同类软件不能完成上述为用户提供学校内部导航的功能。然而,大学校园却往往十分的巨大而容易让人找不到方向,很多人常常分不清楚在校园的什么位置,所以利用一个类似 GPS 的工具是十分有帮助的。然而不幸的是,GPS同样只会将用户导航到校园所在的位置,而不会明确的帮助用户找到校园内部的具体建筑物。

本文中,我们设计开发了一个校园驾驶助手应用,该应用运行于 Android 平台。我们设计该应用的目的是为了帮助在校园内的驾车者和用户提供到从指定地点到目的地的驾驶路线。该应用可以为用户提供到目标建筑或停车场的行车路线,并且可以根据用户的类型选择停车场(例如:有课,教职工和学生)。用户可以在该应用的用户界面上输入用户类型和目标地点,然后应用会从服务器上获取地图,并运行算法寻找到达目标地点的最短路径。应用通过解析XML数据完成此功能,该数据是由我们设计的地图编辑工具为该应用所构建的。然后,应用使用Dijstra 最短路径算法,寻找最短路径。当找到最短路径以后,会在用户的设备上,显示出叠加了最短路径的校园地图。最后会在手机屏幕上显示出计算出的路线(例如最短路线)来帮助驾驶者到达目的地。

参考文献(略)