基于Android Studio的智能导航系统的实现
2021-11-17潘婷婷朱鑫龙
潘婷婷 朱鑫龙
无锡城市职业技术学院
0 引言
随着人民生活水平的提高,车辆不断增多,目前城市中普遍存在交通堵塞,交通安全等问题。在现代信息技术的推动下,交通运输领域与通信、计算机技术进行整合,逐渐形成一种实时、高效、准确的综合交通运输体系。在发达国家的工业化进程中,最初解决交通问题的传统办法是大规模改扩建交通基础设施,通过扩大交通基础设施规模来满足人们日益增长的需求。但是,无论是发达国家还是发展中国家,由于土地、水域、岸线资源日益紧张,用于修建交通基础设施的空间越来越小。与此同时,交通在快速发展过程中所带来的负面效应日益显现。因此,精准管理需要提高效率,通过加强对客观事物及其变化规律的认知来优化管理流程,提高交通运输整体效益和服务水平。在交通发展的过程中,通信、控制、信息等先进技术的发展为智慧交通提供了有力的技术支撑。基于此背景技术,本文以为用户提供导航服务为出发点,开发一款具有个性化定制服务功能的系统。
1 系统分析
1.1 需求分析
随着现代计算机和网络定位地图技术的迅速进步发展,全球位置定位系统和全球地图信息服务也逐渐得到了市场关注和广泛应用,将定位地图与全球位置信息定位系统技术有效紧密结合,应用市场前景非常广阔。据统计,现在日常生活中80%的生活信息与地理位置系统有关,但为了准确、及时地找到某个位置,人们往往需要花费大量时间、精力。随着现代人的生活节奏不断加快,实时、准确地理解与位置相关的信息,成为人们迫切需求的生活信息之一。
1.2 技术可行性分析
Android平台基于Linux内核,在该平台上运行的应用程序有很多,开发过程也比较成熟。Android平台是开放源码的,在开发过程中不需要太多的费用,从官网上可免费下载需要的软件,开发速度很快,可以在短周期内完成该项目。目前,世界上大部分的智能终端支持运行Android操作系统,并且Android系统正被更多用户所接受,其具有快速学习的能力,紧跟科技发展,且对于用户来说很容易操作。
2 所使用的技术
2.1 网络请求
导航系统需要连接网络才能及时更新数据,具体实现过程如下。自定义一个Application类,将Volley创建的队列创建在Application中,创建一个网络请求类,并在类中获取Volley队列RequestQueue mQueue,创建JsonObjectRequest请求成功后调用Gson.fromJson(Object指定Bean类)方法将请求成功的Json数据解析成Bean类(共两个Bean类,WeatherBean用来存放解析后的天气Json,HitokotoBean类存放“一言”解析后的Json)。
2.2 高德Map
高德地图JS API是一套JavaScript语言开发的地图应用编程接口,采用移动端、PC端一体化设计,一套API兼容众多系统平台。目前JS API免费开放使用。JS API提供了2D、3D地图模式,满足绝大多数开发者对地图展示、地图自定义、图层加载、点标记添加、矢量图形绘制的需求,同时也提供了POI搜索、路线规划、地理编码、行政区查询、定位等众多开放服务接口。
3 系统实现
3.1 导航模块
导航模块功能使用MapView地图控件管理地图的生命周期。导航的过程是实时的,导航路线同样随着用户位置不同进行不断更新,例如当前定位、路径规划、实景导航信息等。在系统检索一条最佳路线开始导航后,导航又分为普通导航和实景导航两种情况,更贴切地为用户提供服务。导航服务如图1所示。
图1 导航服务
3.2 紧急车辆避让
为了体现智能导航的主题,在导航中添加了紧急车辆避让功能,当在红绿灯路口时距离紧急车辆100 m左右,将会在导航右侧显示前面有紧急车辆。在原本的导航功能上添加紧急车辆避让功能,当进入导航界面时,使用高德地图SDK完成追踪、导航、定位的操作;服务端使用jsp发送数据,redis存储定位数据,可以高效完成定位数据的发送与获取,在导航界面上添加控件,以便在必要的时候警告用户前方路口有紧急车辆行经。对紧急车辆来说,只要按下按钮即可将前方有红绿灯的路口告知其他车辆,使用高德SDK的巡航接口获取前方路段数据,并在接近时告知服务器。客户端使用SDK的导航接口,每秒获取服务器的定位数据,并判断与自己的距离,达到100 m时会在界面绘制提醒内容。紧急车辆提示,如图2所示。
图2 紧急车辆提示
3.3 天气模块
为了体现个性化服务,方便出行者规划出行线路,本导航系统可提供实时的天气播报。界面运用DiagonalLayout框架,MD风格视图,能够动态地展现不同的天气情况。除了可以查看实时天气外,还可以查看近7天的天气情况。
3.4 音乐模块
该导航系统有着人性化的设计,在行车过程中为了使用户有更好的体验,添加了音乐功能。音乐模块界面默认可选择播放6首MP4文件歌曲,有循环播放和单曲播放两种模式,支持基础功能。
3.5 个人中心模块
个人中心模块界面运用传统的平板大屏风格,有登录注册功能,左方展示用户登录状态及用户头像和昵称,右方提供便捷天气简讯、App主题选择功能等。本系统提供4个默认主题样式,供使用者选择,用于设置App主体界面的背景样式。
4 系统测试
设置起点为无锡城市职业技术学院,终点为无锡动物园,模拟开车环境下开始导航,当经过十字路口时,如果路口有紧急车辆,导航右侧就会提示驾驶人员十字路口有紧急车辆,提醒驾驶员做出对应的紧急避让,为紧急车辆让出一道绿色的紧急通道。导航功能测试用例如表1所示。
表1 导航功能测试用例
进入导航状态界面后,上方实时播报导航动作状态,并且在经过红绿灯路口时,如果有紧急车辆,服务器将会在距离紧急车辆100 m时提醒驾驶员前方红绿灯路口有紧急车辆,驾驶员可做出相应的避让。紧急车辆预警测试用例如表2所示。
表2 紧急车辆预警测试用例
5 结束语
本系统使用了主流的开发平台,致力于为普通开车用户服务,不但拥有智能的交通导航,还有紧急避让功能,为紧急车辆让出一条“生命通道”。为了更贴近用户出行实际,内置天气预报功能,方便应对各种恶劣天气,车载音乐可使车主路上不再感到乏味。