APP下载

基于Android的公交小助手的设计

2021-09-27王晓东

客联 2021年7期
关键词:设计

王晓东

摘 要:本文介绍了Android应用程序公交小助手的设计方法,以及实现的过程。公交小助手主要有线路查询、换乘方案查询和定位附近站点等功能,方便用户通过手机了解所在地附近的公交站点,更好地进行路线规划。

关键词:Android;公交小助手;设计

一、系统分析

随着经济的快速发展,使得居民汽车保有量逐年增加,在提高了生活质量的同时,也带来了交通拥堵、环境污染等问题,因此公交车对于一个城市的交通系统仍然是十分必要的。借助公交小助手软件可以快速查询所在地附近的公交站点,方便出行,还能更好地进行路线规划。做好系统分析工作,可以为整个项目开发奠定一个良好的基础。经过对公交线路、站点的细致了解,以及和乘客进行充分的交流和沟通之后,总结出系统应该包含三个主要的功能模块:(1)线路查询。显示公交线路类型分组项以及每一种类型相关公交线路的数量,用户可以单击任一项,在所选分组展开之后,单击想要查询的线路名称,然后就会进入线路信息界面。也可以单击查询按钮或者当前默认线路的编辑框,进入线路查询输入界面。单击任一站点名称进入站点信息界面,单击地图图标就可以在地图上查看相关站点和相关线路信息。(2)换乘方案查询。用户可以通过单击查询按钮进入输入界面,然后清除编辑框内的默认内容,在第一个编辑框内输入换乘查询的起点,在第二个编辑框内输入换乘查询的终点。这时单击查询按钮就可以显示换乘方案列表,单击任一方案可以进入单个换乘显示界面。(3)定位附近站点。用户可以看到所在地附近1000米范围内的所有站点,以及站点与用户所在地距离的列表。单击任一站点就可以进入站点信息界面,进而查询路过此站点的所有线路。单击地图按钮可以进入地图显示界面,单击最下方的显示框可以进行地点重新定位。

二、线路查询的设计

线路查询界面的搭建包括布局的安排,以及文本框、图片视图等控件的属性设置。首先声明界面的总线性布局,其中还包含了一个线性布局。该线性布局包含一个文本域控件和一个按钮控件,设置排列方式为垂直排列。定义一个ExpandableListView控件,设置它的id、宽度、高度和背景颜色等属性,该控件用于显示公交线路类型。在线路查询界面初始化时,为ExpandableListView设置展开和折叠事件以及单击子项目监听事件。单击公交线路名称之后,应跳转到线路信息界面,并将所需的线路名称、线路信息传递给BusLineActivity类。获取地图id,加载百度地图,初始化地图zoom值,添加地图监听,创建POI搜索实例,为用户所查线路在地图上显示做准备。通过POI检索获得用户想要查询的公交线路各个站点信息,以及首末发车时间的实现方法。相关代码如下:

stationStartUid=new ArrayList<String>();

stationEndUid=new ArrayList<String>();

ProvideContent.buslineSName= buslineName;

//设置ProvideContent类的线路名称

busStartArray= new ArrayList<String>();

busEndArray= new ArrayList<String>();

mSearch=PoiSearch.newInstance();//POI检索接口

mSearch.setOnGetPoiSearchResultListener(this);

mBusLineSearch=BusLineSearch.newInstance();//线路检索接口;

mBusLineSearch.setOnGetBusLineSearchResultListener(this);

…………

三、换乘方案查询的设计

首先获取起点和终点编辑文本框引用,判断是否存在相关信息,然后为编辑文本框设置内容。获取查询按钮引用,并添加监听。建立GetBusLineChange对象,为其传递参数并发起查询。完成后线程会向handler发送消息,根据消息的what值,执行相应的case。相关代码如下:

handler=new Handler;

switch(msg.what){

case Constant.INFO_NEARBYSTATIO:

mDialog.dismiss();//关闭提示对话框

initLineChangeData();//执行初始化换乘信息方法

break;

…………

四、定位附近站点的设计

获取地图显示引用,加载百度地图,隐藏地图缩放按钮,设置地图显示的中心点,设置地图缩放比,开启图层定位,为后续地图显示做准备。定义一个addMarker方法,用来定位附近站点地图界面的核心部分,包括添加Overlay、获取定位数据,以及将获取的数据显示到地图上等等。相关代码如下:

SDKInitializer.initialize(this.getApplication());

setContentView(R.layout.map_near_station);//加载当前activity显示界面

mMapView=(MapView)this.findViewById(R.id.mapNear);

mBaiduMap=mMapView.getMap();//加载地图

mSetVisibility();//隐藏地图缩放按钮

mBaiduMap.setMyLocationEnabled(true);//开启图层定位

float mZoomLevel=16.0f;//设置地图缩放比

…………

addMarker();

…………

五、結语

软件是基于Android系统平台的,采用Android Studio集成开发工具进行编程,数据库选用SQLite。经过系统测试,公交小助手软件实现了上述主要功能,可以查询十堰市公交线路情况,显示换乘方案,并能够定位附近站点。软件也有两点可以改进的地方:(1)选择城市。将系统所需要的资源文件按城市分别建成数据库,然后把城市名称添加到城市列表中,系统就会适用于已添加的所有城市了。这样做不仅可以增强系统的灵活性和通用性,而且还有效地降低了二次应用的成本。(2)语音导航。全程进行语音播报,及时提示用户已进入哪条路,接近哪个小区等等,提升用户满意度。

参考文献:

[1] 吴亚峰. Android应用案例开发大全(第4版)[M].北京:人民邮电出版社, 2018.

猜你喜欢

设计
BUBA台灯设计
有种设计叫而专
陈国兴设计作品
匠心独运的场地设计画上完美句点
跨越式跳高递进与分层设计
设计之味