首页 > 范文大全 > 正文

基于Android系统火车站出口导航系统的研究与实现

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于Android系统火车站出口导航系统的研究与实现范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要:随着城市人口的急剧膨胀,城市火车站人口众多,给人们的出行带来了极大的困扰,本文以Android为开发平台,以区域电子地图为基础开发了火车站出口导航系统,实现了火车站站各站点出口及周边道路、公交信息等的查询,并通过集成SQLite及Google Map实现数据库管理及地图服务应用。为人们的方便快捷出行提供了辅助决策支持。

关键词:火车站出口;导航查询系统;Android

中图分类号:TP311.52

随着城市人口数量的激增,人口流动性较大,火车站出口也越来越多,火车站内提供的导向标识越来越难以满足出行人的需求,因此开发一款火车站周边的信息查询软件具有现实意义。在智能手机中,基于android系统的手机市场应用前景越来越好,如果能够开发出在android系统上运行的火车站出口导航软件,会给市民的出行带来将极大的方便。

1 android简介

Android是基于Linux开放性内核的操作系统,是Google公司在2007年11月5日公布的手机操作系统。该平台由用户界面、应用软件、操作系统和中间件组成。它采用软件堆层(Software Stack,又名软件叠层)的架构,主要分为三部分。底层以Linux内核工作为基础,由C语言开发,只提供基本功能;中间层包括函数库Library和虚拟机Virtual Machine,由C++开发。最上层是各种应用软件,包括通话程序,短信程序等,应用软件则由各公司自行开发,以Java作为编写程序的一部分。Android应用程序的组件主要包括:Activity、Service、Intent、Contentproviders(内容提供者)。

2 系统需求分析

(1)在手机联网的情况下,可以地图导航功能详细查看火车站周边的信息。

(2)在手机没有信号的情况下,具有查询火车站的出口地图的功能。

(3)直接触控屏幕上地图中的站点,能够提供详细的火车站出口的详细说明。

(4)可以查询火车站首末班车时间、公交路线以及附近的街道。

3 系统总体设计

系统设计思想:是在基于android系统的手机上开发一款带导航功能的火车站出口查询软件,此软件根据系统提供的导航查询功能方便用户出行,可操作性强,界面友好。根据系统需求分析,本文将划分为四个功能模块:位置服务模块、出口查询模块、首末班车时间查询模块、智能查询模块。

(1)位置服务模块,主要是实现火车站出口周边系统导航、位置服务功能;

(2)首末班车时间查询模块,主要是实现火车站公交车首末班车时间的查询功能;

(3)出口查询模块,包括两个子模块:便捷服务模块和地图信息显示模块。便捷服务模块功能主要是能够查询火车站出口处公交路线换乘信息和火车站出口处的街道信息;地图信息显示模块主要是实现在线显示周边地图和离线显示地图功能(手机没有信号的情况下,也能显示出口地图)。

(4)智能查询模块,主要是能够查询从火车站站台到哪一个出口最近功能。

4 导航系统的总体实现

4.1 系统主界面的实现

在Android程序中Activity代表了手机的一个屏幕,同一个应用中的每个activity是相互独立的。程序启动后显示的第一幅画面是应用程序的第一个activity,而后可以根据需要从这个avtivity启动另一个新的activity,每一个都是作为activity基类的一个子类的实现。程序的主界面是一张填充呼和浩特火车站出口图,用户通过多点触控和长按屏幕来查询所选的火车站站点,因此该界面整体布局采用了LinearLayout布局,并利用ImageView控件,实现火车站出口图的填充显示。选取站点进入后,布局文件上放置一个ListView组件,用来显示等待用户选择的信息。例如:出口地图、公交车站点的首末班车时间、以及火车站的出口编号。利用ArrayAdapter适配器自适应显示从数据库中读取的每个火车站出口数目。利用Checked TextView控件实现对用户的选择进行响应。在出口地图界面有一个ImageView控件用来放置离线的火车站周边地图,还有一Button按钮提供在线Google Map选择,这两者都是在LinearLayout布局文件下实现的。接着在下一个布局文件中采用AbsoluteLayout布局,再引入GoogleMapView Widget,以实现Google Map的显示。

4.2 数据的存储

在模拟器上点击火车站出口地图上的屏幕坐标时,由于用户操作手机时屏幕坐标变化频繁,因此对数据解析效率要求很高。本文将火车站原始屏幕坐标存放到XML文件中,程序运行后,先对存储在XML文件里的原始屏幕坐标进行解析,存入到一个新建的数组中,以实现下一步坐标的匹配。由于xml文件较小,本文采用DOM解析器来解析XML数据。当用户对地图进行缩放、移动时,屏幕会随着用户的操作而发生变化,本文用一种算法来得到变化后的屏幕坐标。当用户长按屏幕时,后台会将当前的屏幕坐标通过算法自动搜索原始的屏幕坐标。匹配成功即可得知用户选择的是哪一个火车站,由此可以从XML文件中得到和火车站站坐标对应的编号。通过编号我们可以从数据库中读取该站点的所有信息,包括街道信息、可换乘公交、火车站站周边地图,以及使用GoogleMap服务所必需的经纬度。

4.3 SQLite数据库

SQLite数据库是android自带的一个标准数据库,是一个轻量级的嵌入式数据库,具有占用很少的内存、跨平台、可移植性等一系列的优点。本文使用SQLite数据库来存储街道信息、可换乘公交、火车站站周边地图等信息。

4.4 Google地图应用

Google Map为开发者提供地图API,可以开发出各种各样的地图应用。利用android.location类和Google Maps外部类库来实现定位服务和地图应用。

5 系统测试

我们以呼和浩特火车站出口为例,对火车站导航系统在Android 2.2的模拟器上进行测试和调试。达到了预期的要求,系统运行良好。

6 结束语

本文以分析火车站出口的实际需求,进行了系统的总体设计、数据的存储和GoogleMap地图的使用等说明的基础上,开发出一款基于Android平台的火车站出口导航系统,在模拟器上运行达到了良好的效果。

参考文献:

[1]公磊,周聪.基于Android的移动终端应用程序开发与研究[J].计算机与现代化,2008(08):85-89.

[2]张仕成.基于Google Android平台的应用程序开发与研究[J].电脑知识与技术,2009(28):7959-7962.

[3]刘磊,仇菊香,吴国洋.基于Google地图服务的城市地理信息公共服务平台的设计与实现[J].测绘标准化,2011(01):10-13.

[4]张云,于文驰.基于Android的地铁出口导航系统设计与实现[J].电子设计工程,2003(21).

作者简介:郝俊寿(1974.06-),男,山西宁武人,讲师,研究生,硕士学位,研究方向:android应用开发。

作者单位:内蒙古电子信息职业技术学院科技处,呼和浩特 010070;内蒙古电子信息职业技术学院数字媒体艺术系,呼和浩特 010070