英语原文共 5 页,剩余内容已隐藏,支付完成后下载完整资料
基于安卓的使用二维码的交互式室内停车场车辆定位器
Siti Fatimah Abdul Razak, Choon Lin Liew, Chin Poo Lee, Kian Ming Lim
Faculty of Information Science and Technology Multimedia University
Jln Ayer Keroh Lama, 75450 Bukit Beruang, Melaka, Malaysia fatimah.razak@mmu.edu.my, taikunseng@gmail.com, cplee@mmu.edu.my, kmlim@mmu.edu.my
摘要:二维码在产品营销方面有很多应用,比如定位货架上的促销商品,寻找商店等。在这项研究中,我们进行了一个基于安卓的应用程序开发,旨在提供导航服务,能够在购物中心的室内停车场定位停靠的车辆。我们使用到了智能手机中内置的运动传感器、条形码扫描器以及相机功能。该应用程序可以根据存储在数据库中的停车区域的室内地图显示从用户当前位置到其停靠的车辆的路线。除此之外,它还能够自动检测出用户当前的移动情况,计算出用户距离终点的步数。通过在商场的室内停车场进行的现场测试,我们检测了该应用程序的性能。总体来说,该应用程序能够实现预期功能。
关键词:移动导航;车辆导航;室内定位;二维码
I.引言
近年来,随着互联网技术的迅猛发展,人们的生活水平的提高,智能终端成为人们日常生活不可或缺的通信、娱乐、生活、社交工具,全球智能手机用户数量激增。与此同时,开发了许多应用程序为用户提供各种类型的服务。这些应用程序采用不同的方法实现不同的功能。从目前的趋势来看,室内地图正走向与室外地图相融合的趋势,室内相对于室外来说,属于隐私空间,相对于室外来说范围较小,当然不如室外地图应用广泛。但从另外的视角来看,由于室内的特殊性,必然会衍生出与室外需求不同的应用。比如在停车场找车对于很多人来说是比较头痛的事情,他们常面临的困扰就是,当他们走出停车场后,不记得自己停放车辆的确切位置。如果能够查询停车位,这样的应用就属于比较刚需的应用。很多购物中心想要为他们的顾客提供帮助,尤其是那些心不在焉或健忘的人。因此,人们迫切的寻求一个可以缓解这一问题的性价比较高的基于安卓的应用程序,尤其是对那些有多层室内停车场的购物中心而言,更是刻不容缓。
快速响应(QR)码是实现这个功能的一个可行的选择。它被认为是可以与安卓技术结合的最简单、最便宜、最容易实现的技术。二维码是一种二维条码,智能手机和专用的二维码读取器仅仅对它进行一次扫描,即可获取信息。它是用某种特定的几何图形按一定规律在平面分布的黑白相间的图形来记录数据符号信息,在代码编制上巧妙地利用构成计算机内部逻辑基础的“0、“1””比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理。它具有条码技术的一些共性:每种码制有其特定的字符集;每个字符占有一定的宽度;具有一定的校验功能等。它可以存储大量数据,这些数据可以直接链接到视频、文本、网站、电子邮件、数据库等[1]。产品上印刷的传统条形码只能在垂直方向存储数据,而相较之下,二维码可以在两个方向存储数据,能存更多的信息,也能表示更多的数据类型。从垂直或是水平方向都可以扫描二维码,所以没有了传统条形码的局限性。目前,二维码可以用于检索产品的细节信息,提供存放地址或电话号码等。
Ⅱ.问题陈述
定位停放在一个多层的室内停车场上的车辆是一个具有挑战性的任务。想象一下,顾客开车进入大型的室内停车场,在购物中心欢乐地度过几个小时后,可能会找不到,或者忘记他之前停车的确切位置,基本上80%的人很难找到车,有些人靠记车位号,有些人靠拍照记录。他将要浪费宝贵的时间寻找自己停放车辆的确切位置,最后才能离开购物中心。更令人沮丧的是,搜索几小时后,仍然是徒劳无功的,这时他需要向客户服务中心提交一份申请,以寻求帮助,这就浪费了更多的时间,因此停车位定位功能在停车场是很大的一块需求。
目前,大多数车辆拥有者都使用全球定位系统(GPS)来接收卫星定位信号[2],从而得知车辆的具体所在地。然而,全球定位系统在室内停车区域内效果不佳[3]。这是因为卫星的位置信号被屋顶、墙壁和其他物体所减弱和散射。因此,在室内停车场,我们获得的位置信息可能不准确。顾客把车停在一个不熟悉的室内停车场,在没有任何帮助的情况下,他可能需要花费大量时间来找到他的车,尤其是当他离开停车处没有注意位置细节的时候。
因此,我们开发了一个基于安卓的交互式室内停车场车辆定位器应用程序,并且实地对该应用程序的性能进行了测试。我们选择在一个购物中心的室内停车场进行测试,测试结果表明,该应用程序能够使用二维码定位停放车辆,利用该系统可以快速准确的找到停车位,节约时间,提高效率,可以为用户提供极佳的车场体验,同时可以优化管理和降低成本,为城市安全及交通管理服务,为出行者服务,有效地提高交通管理的流畅性和可靠性。
Ⅲ.设计
该应用程序基于SQL请求架构(图1)。这个安卓手机配置着一个SQL数据库,允许用户记录运动传感器获取的信息,以及存储与室内地图相关的信息和坐标[4]。此外,安卓设备将作为一个客户端来显示用户当前的位置信息(图2)。图3至图5具体展示了该应用程序的数据流向。
图1 SQL请求架构
图2 用例图
图3 情境图
图4 数据流图(等级1)
图5 第一个过程的数据流图
图6 第二个过程的数据流图
IV.应用程序
一般来说,用户下载了该应用程序之后,不需要事先注册或者填写登录密码,就可以直接使用了。在离开车辆之前,用户需要使用他们的智能手机扫描距离停车处最近的柱子上的二维码,才可以存储停车位信息。举个例子,如今,大多数智能手机上都配备有免费的条形码扫描器,均可以提供扫描功能,如果一个用户将车辆停放在G1-20位置,他需要打开手机相机的扫描功能,扫描距离停车处最近的一根柱子上的G1-20的二维码。该位置将被储存,以便以后定位车辆。下一小节将详细解释该应用程序。
A.要求
该应用程序使用了安卓设备中的运动传感器和摄像头功能。摄像头的功能是扫描和捕捉显示的二维码,而运动传感器则是用于计算用户的步数和监测用户是否到达目的地。
该应用程序由10个java文件组成,分别是:DatabaseHelper、DBhelper、IntentIntegrator、IntentResult、Location、LocationArrayAdapter、TouchImageView、SensorService、MainActivity和MainActivity2。这些java文件需要用Android SDK编译,输出APK文件。APK文件是安卓应用程序的安装文件。此外,还包括一个SQL LITE数据库,命名为TakeMeThere.db。
·MainActivity.java
这是该应用程序的默认启动程序,是创建一个安卓工程时默认的主页面。每当用户启动该应用程序时,就会执行该文件中的代码。它通过shared-preferences调用XML布局,使应用程序能够存储和检索用户之前的停车位。此外,它还允许用户删除不再需要的停车历史记录。
·DatabaseHelper.java
这是数据库的一个工具类,包含了数据库连接、关闭。该程序用于显示数据库中存储的导航路径,它还允许用户查看数据库中存储的所有室内地图信息,以及列表中所有相关地点的可能路径。不过,这只有在扫描二维码后才会生效。
·IntentIntegrator.java
IntentIntegrator.java是一个集成实时处理条码扫描器的工具类,用Intent这样一个简单的方式来调用条码扫描和接收结果。该应用程序依赖IntentIntegrator将二维码图像转换为室内地图信息。它可以转换多种类型的二维码数据,包括字符串数据、字节数组、整形数等,从而完成二维码图像的解析。因此,在这个应用程序中,它可以从二维码中获得像“4=1”这样的独特数据,最终能够复原成地图。因此,它为用户提供了不同的可选择的导航路径。
·IntentResult.java
二维码的格式是确定的,能够被转换为字符串或文本,与安卓系统兼容。
·Location.java
这个java构造函数允许该应用程序创建一个新的构造函数,以便重新定位室内地图。它描述了室内地图的各位置的详细信息,可以具体覆盖每一个内部区域。
·LocationArrayAdapter.java
Array adapter是安卓的列表适配器,该应用程序的界面列出所有相关地点的选项列表,并允许用户选择他们需要前往的地点。此外,它还为安卓用户提供了前往指定地点的导航服务,实现定位导航。
·TouchImageView.java
这是控件放大缩小工具类。这个函数允许用户可以通过两触点,即设备的屏幕和缩略图来放大室内的地图图像,能够提供双指缩放、拖拽、滑动、双击缩放等功能。这增加了室内地图的可视性,可以提高用户体验。
·SensorService.java
安卓设备集成的运动传感器根据设备的运动情况获取信息。它计算用户在起点和终点之间的步数。通过检测用户的实时位置来支持导航服务。
·MainActivity2.java
这个java类包含实时更新的用户图形界面,它接收计算所得的用户起点与终点间的步数,并用绿色线条呈现导航路径。该导航路径根据用户的实时运动情况进行更新。这允许用户了解他们当前位置以及他们与车辆停放确切位置的估计距离。当用户到达目的地时,该应用程序会立即提示用户。
B.模块和功能
基于安卓的室内停车场车辆定位器应用程序,也称为Cark Park导航系统,旨在提供导航服务,实现停车场内的当前位置的定位,规划从当前位置到目标停车位的路径,帮助安卓用户找到停靠的车辆。
·主菜单
每当用户启动该应用程序时,跳转到主菜单界面(图7)。由图7可知,该应用程序共有三个功能选项,用户可以选择是记录车辆当前的位置,还是获取所有的可能路线,亦或是清空历史记录。
图7 主菜单界面
·记录车辆位置功能
此功能选项用于记录用户停放车辆的位置。用户根据提示,扫描停车场内距离停车处最近的柱子上的二维码。为了做到这一点,用户必须使用他的安卓手机扫描和捕捉图像(图8)。扫描图像将与数据库中存储的图像进行匹配。一旦找到匹配的一对,这一系列过程就被认为是成功的,将从本地SQL LITE数据库中检索特定的导航路径。然后,跳转到位置列表视图页面。
Place a barcode inside the viewfinder rectangle to scan it.
图8扫码
·位置列表视图功能
此功能选项显示了从本地数据库TakeMeThere.db获取的室内位置映射的信息。室内地图的例子如图9所示。每当用户启动该应用程序时,将自动激活安卓设备上的运动传感器。该应用程序能够检测出用户的当前位置和移动情况。当用户点击这个选项时,运动传感器开始监测安卓设备的移动情况,并计算用户当前位置距离终点的步数。当用户接近车辆时,能够提示用户。
图9 导航示例
·变焦功能
该应用程序还包括地图缩放功能,能够实现地图的缩小、放大,增加地图的可视性,提高用户体验。许多在安卓应用程序市场中为实现导航而构建的其他应用程序都有类似的功能。
·保存、查看、更新和删除功能
当用户第一次访问该应用程序时,应用程序检查数据库中存放的用户车辆历史位置数据。它通过替换旧的车辆位置信息、导入新的车辆位置信息来更新数据库。
用户可以使用这个应用程序查看和访问之前的二维码信息。用户也可以使用该功能来查看在同一个室内停车场的停车历史记录。想象一下,假设一个用户不小心把一个项目删除了,却又想要回忆起来,就可以使用这个功能方便搜索。
V.系统测试和局限性
在一个购物中心的室内停车场对该应用程序进行了测试,并与目前在吉隆坡城市中心(KLCC)使用的应用程序进行了基准测试[5]。测试结果表明,这个基于安卓的交互式室内停车场车辆定位器应用程序能够在室内地图上显示导航路径,检测用户距离终点的步数以及移动情况,包括提供实时导航服务,存储停车位的位置。此外,相较于KLCC的应用程序,我们的应用程序更具交互性,能够提供实时运动信息(图9)。我们的二维码图像能够具体到每个停车位,而不是像KLCC,仅仅为支柱之间的停车位(通常为三到五个停车位)生成一个二维码图像。此外,我们还提供了整个停车场的室内地图,而KLCC实现的则是基于文本的通知,即:“你在bays 45- 4760 -65之间的水平P2处停车”。
然而,也有一些局限性需要加以改进
全文共6764字,剩余内容已隐藏,支付完成后下载完整资料
资料编号:[13792],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。