APP下载

基于Android的移动公交查询系统设计

2018-10-08邹元杰

商情 2018年43期
关键词:开发者应用程序模块

邹元杰

【摘要】本文主要阐述以eclipse为开发工具,基于智能手机Android设计移动公交查询系统,并对其中相关技术进行研究。

【关键词】Android 公交查询

一、前言

位置是人们理解和驾驭世界的基础,人们在快节奏的经济生活中,迫切想知道当时所处的环境信息。随着空间信息技术、移动通信技术、Internet技术以及移动终端技术的快速发展,人们对所处位置以及与位置相关的信息需求愿望实现成为可能。

在我国,随着经济的快速发展,和城市化的快速发展,城市公交系统也随之迅速扩大,且更加复杂化,找不到合适的乘车路线的事情经常发生。当前,复杂的公交系统使得用户往往处于迷惑的状态,给出行带来诸多不便,应运而生的移动公交查询系统是上述技术的有机集成,它将Internet上的海量信息和地理信息系统的强大应用服务功能扩展到移动终端上,为移动用户基于位置的信息交换、信息获取、信息共享和信息发布提供了便捷、经济的技术途径。

同时,随着现在社会的发展,我们的生活也朝着电子化不断发展,如交通电子眼在交通管理中越来越普及;而經济的不断发展,避免不了人们都要到某些城市去公干或其他的事情。一旦你对这个城市不熟悉,你的出门就会举步维艰。打的,对于一些因公出差的人来说算不了什么,但是对于旅游者或是个人来说就不是很好的选择。因此,开发一个城市的公交车查询系统就显得十分必要,可以说是关系到一个城市的形象问题。因此公交查询系统将帮助出行人士方便、高效的安排自己的行程。

二、Android开发技术介绍

Android开发平台采用开源的JAVA技术,平台集成了地图服务模块,并对核心系统架构进行了优化,对硬件的性能要求较低,加上其独特的intent模块机制,使移动公交查询系统服务开发门槛出现了划时代意义上的降低。Android平台是由Google与开放手机联盟合作开发的一个开放性的移动开发平台,它采用Linux内核,独特的Dalvik虚拟机,集成特有的地图模块、快捷的XML布局方案、轻量级的SQLite数据库、高效的2D、3D绘图方案以及多媒体技术等等,它具有强大的网络访问功能,集成3G网络与WiFi、蓝牙等无线网络技术,并且可以对开发者之间的功能模块进行无缝继承与共享,高效的功能模块重用让开发的周期更短,开发难度更低,结合日益完善的移动定位技术,移动用户的M—GIS体验愈来愈好。Android是一个真正意义上的开放性移动设备综合平台,基于Android进行移动公交查询系统开发,可以很容易地利用Google Maps地图资源以及开放的API接口,可以说,基于An-droid的移动公交查询系统,是移动终端M—GIS开发道路上的一个里程碑。

三、Android应用程序组件

Android的一个主要特点是,一个应用程序可以利用其他应用程序的元素(假设这些应用程序允许的话)。例如,如果你的应用程序需要显示一个图像的滚动列表,且其他应用程序已经开发了一个合适的滚动条并可以提供给别的应用程序用,你可以调用这个滚动条来工作,而不用自己开发一个。你的应用程序不用并入其他应用程序的代码或链接到它。相反,当需求产生时它只是启动其他应用程序块。

对于这个工作,当应用程序的任何部分被请求时,系统必须能够启动一个应用程序的进程,并实例化该部分的Java对象。因此,不像其他大多数系统的应用程序,Android应用程序没有一个单一的人口点(例如,没有main()函数)。相反,系统能够实例化和运行需要几个必要的组件。有四种类型的组件:活动(Activities)、服务(Services)、广播接收者(Broadcast receivers)、内容提供者(Content providers)。

然而,并不是所有的应用程序都必须包含上面的四个部分,你的应用程序可以由上面的一个或几个来组建。当你决定使用以上哪些组件来构建Android应用程序时,你应该将它们列在Android Manifest.xml文件中,在这个文件中你可以声明应用程序组件以及它们的特性和要求。

四、基于Android的移动公交查询系统设计

Android开发平台是由谷歌与开放手机联盟合作开发的一个开放、自由的移动终端平台,它由操作系统、中间件、应用软件三部分组成。该平台备有完善的程序开发环境,包括模拟器、除错工具、程序执行所耗用存储器、性能评介等功能。平台提供了两个基于位置服务的地图API开发包:Android.location以及com.google.Android.maps.通过对这两个地图API开发包内与位置服务相关的类的使用,配合设备本身的具备的定位定向等相关模块,可以很好地实现对用户移动空间信息服务应用程序开发。

Android的定位接口(Android.location)包含几个与位置服务相关的类,并且提供Location Manager服务,这个服务提供定位与定向API,当然,前提是设备具备这种基本的功能模块,比如说,设备内置了GPS接收机模块等等。Location Manager服务不会被直接用来获取用户位置信息,它会通过get System Service(Context.LOCATION__SERVICE)来获得一个指向它的Handle,实现对它的有效应用。一旦应用程序拥有了一个指向Location Manager的Handle,那么它将会拥有以下三种功能:查询Location Manager所掌握的全部Location Providers的最终位置信息列表;注册或者注销当前位置从一个Location Provider提供的实时位置更新;当移动终端在一个给定的位置半径范围以内的话,激活一个给定的in-tent,从而实现用户所需的空间信息功能。

需要说明的是,开发阶段不能使用Network、GPS等获取的真正的实时位置数据。为此,平台提供了模拟数据开发的功能模块,开发者可以使用DDMS或者geo命令行导人模拟数据到模拟器中进行程序模拟,对开发者来说,是一个很好的位置信息服务开发辅助工具。

Android的地图接口(com.google.Android.maps)包含了一系列与地图开发功能相关的类,这些类提供了渲染、控制以及绘制覆盖层等功能,开发者可以很容易地进行基于Google Maps地图服务的开发。这些类中,最重要的要数Map View这个类了,只需在你的布局中加入一个Map View,屏幕上就绘出一个基本的Google Map。开发平台把一切与Map相关的Activity功能抽象为Map Activity,要出现显示Google Map的效果,在你执行Map View的Activity中需要继承Map Activity这个接口。

Google Maps服务要求开发者获取一个使用Map View的API Key,以便在使用应用程序时能加载地图数据,这个API Key的获取过程也很简单。创建了一个Map View后,用户需要获得对它的控制,那么将会用到get Controller()来获取Map Controller,以便进行控制或者激活这个Map View,同时通过Itemized Overlay以及Over Lay在Map上绘制overlays以及其他信息。这不是Android库内的一个标准包,因此,在使用它时,开发者需要在Android Manifest file里加上下面一行作为的子元素。

Android以其集成的独特的地图服务模块,以及对硬件性能的低要求,对4G等无线网络的迅捷访问功能,为普通用户开发移动公交查询系统带来了很大的便利,它的出现,为解决用户移动空间信息需求提供了高效的开发平台。

猜你喜欢

开发者应用程序模块
Module 2 Highlights of My Senior Year
Module 4 Music Born in America
删除Win10中自带的应用程序
谷歌禁止加密货币应用程序
“85后”高学历男性成为APP开发新生主力军
必修模块相关知识过关训练
16%游戏开发者看好VR
三星电子将开设应用程序下载商店
微软软件商店开始接受应用程序