基于Android的昆明市手机公交查询系统设计

更新时间:2024-01-26 作者:用户投稿原创标记本站原创 点赞:16912 浏览:72094

摘 要:该文对昆明城市公交信息进行了收集、调研、整理和数据库的设计,提出了单机版数据库手机公交乘车查询系统的设计方案和系统实现方法,解决了网络版手机公交查询系统查询速度慢、费用高等问题.

关 键 词:Android;手机公交查询系统;昆明

中图分类号:TP311文献标识码:A文章编号:1009-3044(2012)17-4025-03

TheSystemDesignofAndroid-BasedKunmingBusInquirySystem

HUANGJing-jing,TIANMao-yun,WANGKe-xin,YANFei,ZHUMin,DIGuang-zhi

(Dept.ofComputerandInformationScience,SouthwestForestryUniversity,Kunming650224,China)

Abstract:Thisarticlecollected,researchedandpiledthebusinformationofKunmingcityanddesigneddatabase,accordingtowhichdevelopedasetofdesignandsystemimplementationofstand-alonedatabasebusridingandqueryingsystemformobilephones.Therefore,itsolvedslowqueries,highercostandotherproblemsinworkversionofthehandsetbusinquirysystem.

Keywords:Android,phonebusinquirysystem,Kunming

1系统设计背景概述

在我国,随着经济的快速发展和城市化的快速发展,城市公交查询系统的重要性也越来越凸显.在大中型城市找不到合适的乘车路线的事情经常发生,而基于Android的单机版数据库手机公交查询系统的设计也正是基于此背景的.[1]该系统以Android作为平台,用户能随时随地进行公交信息查询,帮助用户选择经济、实用、快捷的方式到达目的地.

Android开发平台采用开源的JA技术,该平台集成了众多怎么写作模块,并对核心系统架构进行了优化,对硬件的性能要求较低.基于Android进行手机公交查询系统开发,可以很容易地利用其提供的控件资源以及开放的API接口,可以说,基于Android的移动公交查询系统,是移动终端开发道路上的一个里程碑.

2系统功能设计简介

一般来说,人们在乘坐公共汽车之前,最想知道的信息就是:本人所在位置周边最近的站点(该到哪里去坐车)、目的地附近的站点(该在哪个站下车)、公交具体运行的路线(有哪些线路可供选择)、最佳换乘方案(在哪个中转站需要换乘)等.[2]因此,本系统以昆明市为例,将城市公交信息查询系统的主要功能做了如下设计:

1)站点查询:提供昆明市公交站点信息查询功能,让用户了解经过该站点的线路信息.

2)线路查询:在用户输入线路名称后,为用户提供该条线路所经站点信息和该线路的基本信息,如头班车时间、末班车时间等.

3)换乘查询:根据用户输入的起始站和终点站为用户提供最佳换乘方案:直达线路、一次换乘或二次换乘等.

4)特色查询:该功能是将昆明市的主要大中学校、宾馆、医院、所、购物中心等地作为乘车目的地进行公交线路查询.

3系统设计结构图[3]

如图1所示.

4数据库设计

首先是设计了三张基本表:站点表Stop储存了所有公车站点的信息,包含站点编号、站点名称.站点表结构为Stop(stopid,stopname).线路表Line存储了所有的公交线路信息,其中包含线路编号、线路名称、头班车时间、末班车时间、起始站、终点站和线路票价等描述信息,关系结构是Line(lineid,linename,starttime,endtime,startstop,endstop,ticpri).现实生活中的很多公交线路的上下行途径站点是不同的,为了更加贴近现实,在数据库设计的时候把上行和下行的站点、路段和导航坐标进行独立处理,因此将线路站点映射表设置为LineStop(id,lineid,stopid,position,dist),各字段代表的意思是编号、线路编号、站点编号、站点所处位置、距上一站点的距离.由于这三张表不能快速的得到查询结果,我们添加了表GLine(startstop,endstop,minstopcount)和视图VLine(startstop,endstop,line,stopcount).GLine将中转站点相同的路线合并为1组,加速了对结果集排序的速度.视图VLine是将起始站终点站和线路编号连接起来,这样就减少了在查询时多次连接基本表了.为了加快查询速度我们特意为经常使用的表建立了索引.下面是数据库设计中涉及到的核心语句.


Createtablestop(stopidintegernotnull,stopnametext)

Createtableline(lineidintegernotnull,linenametext)

Createtablelinestop(stopidintegernotnull,stopnametext)

CreateviewVLine

Asselectl1.stopidstartstop,l1.lineidline,l2.stopidendstop,l2.position-l1.positionstopcountfromlinestopl1,linestopl2wherel1.position