标题 | 基于Android的智慧交通系统的设计与研究 |
范文 |
【摘 要】论文提出的基于Android的智慧交通系统,实现了在移动端上页面的设计、智慧环境监测、ETC不停车系统车牌的采集、金额的更新、公交报站系统车辆位置动画及位置播报等功能。 【Abstract】The intelligent transportation system based on Android proposed in this paper realizes the functions of page design on the mobile terminal, intelligent environment monitoring, License plate acquisition of ETC non-parking system, amount update, vehicle position animation and position broadcast of bus stop reporting system. 【关键词】Android;智慧交通;数据;采集;控制 【Keywords】Android; intelligent transportation; data; acquisition; control 【中图分类号】TP311? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?【文献标志码】A? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 【文章编号】1673-1069(2019)12-0148-02 1 引言 智慧交通是在交通领域中充分运用物联网、云计算、人工智能、自动控制、移动互联网等现代电子信息技术面向交通运输的服务系统。移动通信技术能使城市内各类公共交通,如地铁、城市轨道、公交等的相关数据进行实时获取、整合、分析、发布[1]。通过对城市实时交通态势的准确把握、短期需求的预测、實时交通信息的发布,实现城市交通精细化管理,提升交通运输服务质量,从而实现城市大交通与移动互联网的深度融合[2]。 基于Android的智慧交通系统的设计与研究通过对智慧交通领域比较典型的应用的研究,实现了智慧环境监测、ETC不停车收费、智能停车场、公交报站系统等应用功能。 2 系统总体设计 本项目通过智慧交通系统API从服务器端获取环境、车牌信息及余额、停车场停车情况、公交车路次、当前位置等信息并显示在移动端的环境监测、ETC不停车收费、智能停车场和公交报站系统等界面上。 3 系统实施 3.1 整体界面设计 整体界面设计主要包含标题栏ActionBar、ViewPager、Fragment和底部自定义View,智慧环境监测以及环境监测、ETC不停车收费、智能停车场和公交报站系统等界面的搭建。 ActionBar是一个非常重要的交互元素,针对于平板设备等相对较大的屏幕可以展示更多、更丰富的内容。Android3.0以上版本的Activity中都默认包含ActionBar,在AndroidMainfest.xml中指定其theme是Theme.Holo或其子类。 使用ViewPager+Fragment实现多页面滑动切换、创建attr.xml文档自定义底部导航栏中按钮和文字的相关属性,包含图标、颜色、文本、文本字体大小等,完成在组件中使用自定义属性并为属性赋值,在java代码中使用自定义属性并获取自定义属性值进行操作[3]。 绘制底部icon时,确定icon的宽度和高度,使用onDraw方法绘制图标和文本,使用drawBitmap绘制原图,创建宽度为getMeasuredWidth()、高度为getMeasuredHeight(),自定义invalidateView方法实现重绘。 3.2 智慧环境监测 智慧环境监测界面使用列表布局、图片按钮及动画完成页面搭建,通过一般处理程序从智慧交通系统API中实现移动端与服务器端的通信。 ListView是比较常用的组件,其以列表的形式展示具体内容,并且能够根据数据的长度自适应显示,完成主要传感器数据的采集。将传感器、继电器、ZigBee模块等设备与服务器相连接,制定好通信协议后,进行数据的接收与设备的控制。报警灯、风扇、灯泡等设备控制都是通过控制继电器控制设备开关,以风扇为例,当按下风扇按钮时,通过线程向服务器发送指令[4]。 3.3 ETC不停车收费系统 本页面显示卡号时用到了文本框和编辑框,用于实现文字的提示和数据的显示,使用一般处理程序取服务器发送的JSON数据完成解析,实现信息采集及信息的更新。JSON是一种轻量级的数据交换格式,JSON一共有两种数据结构一种是JSON对象(object),是由花括号包裹起来的若干个的键值对的集合;一种是JSON数组,是由方括号包裹的若干个对象的集合,常用的两类就是JSONObject和JSONArray,分别代表了json对象和json数组,这两类都实现了JSON这个接口。 ①JSONArray jArray = new JSONObject(json).getJSONArray("busStops"); ②int count = jArray.length(); ③for (int index = 0; index < count; index++) { ④String id = jArray.optJSONObject(index).getString("_id").toString(); ⑤String stopName = jArray.optJSONObject(index).getString("stop").toString();) 使用new JSONObject(json).创建JSONObject对象,然后调用getJSONArray方法转换为JSONArray,在循环中使用optJSONObject方法获取字段为_id、stop的数据值,将获取的数据以键值对的形式存入map,然后将map存入List列表类型变量stopsData中去,创建SimpleAdapter适配器,设置适配器到ListView上。 3.4 公交报站系统 本页面设置背景图片后添加ListView,用于显示多路公交车及线路。搭建公交报站及动画页面,使用Tween Animation定义一个开始的位置和一个结束位置,定义移动时间,随后就能自动产生移动动画。在汽车报站系统中当随意选择一个站点时,跳转到动画公交报站页面,通过动画模拟公交经过的站点,当到达站点时,公交车停止,然后继续前进。 ①TranslateAnimation animation = new TranslateAnimation(0,900,0,0); ②animation.setDuration(2000); ③animation.setFillEnabled(true); ④animation.setFillAfter(true); ⑤iv_bus.setAnimation(animation); ⑥animation.startNow(); 实例化TranslateAnimation时确定初始值0,终止值900,确定前进的时间为2000,设置动画填充效果不回到原地,设置动画不回到起始位置,设置汽车图片的动画效果,启动动画,然后添加动画的事件监听器,通过调用onAnimationEnd方法完成在动画结束后继续触发下一个动画,通过获取服务器端的数据完成站点位置及时间的更新。语音播报利用Android系统中自带的TextToSpeech类就可以实现语音的自动播报。 4 结语 本项目是基于Android的智慧交通系统,使用Android实现了在移动端上的页面设计、智慧环境监測等功能,是信息技术与交通的有机融合,以期给整个交通行业带来了创新与变革。 【参考文献】 【1】张锦鹏.基于云计算的车联网中异构数据融合方法的研究[D].昆明:昆明理工大学,2018. 【2】甘淑华,黄少伟.关于车联网技术的智慧交通系统设计与实现[J].科技资讯,2018,16(34):14-15. 【3】李万鹏.智慧交通大数据平台系统设计与实现[J].智能建筑与智慧城市,2019(05):98-99+102. 【4】陈鹏.麦加朝觐智慧交通系统前端模块的设计与实现[D].南京:南京大学,2018. 【作者简介】夏智伟(1981-),女,山东潍坊人,讲师,从事物联网技术应用研究。 |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。