999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Android平臺(tái)的城市公交查詢系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

2013-01-01 00:00:00王海峰
計(jì)算機(jī)時(shí)代 2013年4期

摘 要: 為了提高城市公交信息化水平,方便智能手機(jī)用戶查詢城市公交信息,在深入進(jìn)行需求分析的基礎(chǔ)上,基于Android 開發(fā)平臺(tái),給出了以南通城市為例的城市公交查詢系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)過程,實(shí)現(xiàn)了公交線路查詢、公交站點(diǎn)查詢和公交換乘查詢等功能。該系統(tǒng)使用Android 軟件開發(fā)工具包和SQLite數(shù)據(jù)庫進(jìn)行開發(fā),應(yīng)用程序代碼實(shí)現(xiàn)基于Java語言。該系統(tǒng)已經(jīng)在Android智能手機(jī)上測(cè)試通過。

關(guān)鍵詞: Android平臺(tái); 城市公交查詢; SQLite數(shù)據(jù)庫; 公交換乘查詢

中圖分類號(hào):TP315 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1006-8228(2013)04-26-03

Design and implementation of city bus search system based on android platform

Wang Haifeng

(Nantong Vocational College School of Electronic Information Engineering, Nantong, Jiangsu 226007, China)

Abstract: In order to improve the informatization level of city public transportation, and to make the search of bus information for the users convenient with intelligence mobile phone, a project of bus information search system is designed and implemented in Nantong on the Android platform, after a deep requirement analysis This application, using Android SDK and SQLite database, is developed and based on Java language. The system is tested and works well on the mobile phone of Android.

Key words: android platform; city bus search; SQLite database; the query of bus transfer

0 引言

Android是Google公司公布的基于Linux內(nèi)核的手機(jī)操作系統(tǒng)。隨著Google及其OHA(Open Handset Alliance——開放手機(jī)聯(lián)盟)其他成員的大力推進(jìn),Android平臺(tái)的智能手機(jī)市場(chǎng)占有率與日俱增,因此基于Android平臺(tái)的軟件開發(fā)具有廣闊的應(yīng)用前景。為了能讓城市公交查詢系統(tǒng)準(zhǔn)確、快速地為市民和外來游客提供公交信息查詢服務(wù)[1],本文提出了基于Android平臺(tái)的城市公交查詢系統(tǒng)的實(shí)現(xiàn)方法,并對(duì)系統(tǒng)的開發(fā)原理、功能特點(diǎn)和設(shè)計(jì)方法進(jìn)行重點(diǎn)分析。

1 系統(tǒng)需求分析

1.1 功能需求

⑴ 站點(diǎn)查詢:提供城市(以南通為例)公交站點(diǎn)信息查詢功能,讓用戶了解經(jīng)過該站點(diǎn)的線路信息。

⑵ 線路查詢:在用戶輸入線路名稱后,為用戶提供該條線路所經(jīng)站點(diǎn)信息和該線路的基本信息,如頭班車時(shí)間、末班車時(shí)間和票價(jià)等[2]。

⑶ 換乘查詢:根據(jù)用戶輸入的起始站和終點(diǎn)站為用戶提供最佳換乘方案:直達(dá)線路、一次換乘等。

1.2 性能需求

首先,從系統(tǒng)的易用性來看,系統(tǒng)直接面對(duì)Android手機(jī)用戶使用的,這就要求系統(tǒng)提供良好的用戶界面。系統(tǒng)通過熟悉的術(shù)語和中文信息為用戶提供易用的人機(jī)交互界面,從而縮短用戶對(duì)系統(tǒng)熟悉的過程。

其次,從系統(tǒng)的信息處理的準(zhǔn)確性和及時(shí)性來看,信息處理的準(zhǔn)確性和及時(shí)性是城市公交查詢系統(tǒng)的必要性能[3]。在系統(tǒng)設(shè)計(jì)和開發(fā)過程中,要充分考慮手機(jī)當(dāng)前可能承受的工作量,從而使得系統(tǒng)信息處理能力和響應(yīng)時(shí)間能夠滿足用戶的需求。

此外,限于手機(jī)硬件特點(diǎn),還應(yīng)考慮系統(tǒng)安裝包盡可能小,系統(tǒng)運(yùn)行時(shí)占用手機(jī)內(nèi)存盡可能少,這就要求系統(tǒng)在實(shí)現(xiàn)時(shí)算法優(yōu)化、程序簡(jiǎn)練。

2 系統(tǒng)規(guī)劃設(shè)計(jì)

2.1 主要功能模塊

在對(duì)城市公交查詢的調(diào)查研究和詳細(xì)需求分析的基礎(chǔ)上,城市公交查詢系統(tǒng)分為三大模塊,系統(tǒng)結(jié)構(gòu)圖如圖1所示。

⑴ 線路查詢功能

用戶進(jìn)行“線路查詢”時(shí),系統(tǒng)首先判斷線路輸入是否為空或不合法,如果是則彈出錯(cuò)誤提示,否則進(jìn)行線路查詢,在后臺(tái)數(shù)據(jù)庫中查找所查詢線路的所有站點(diǎn)信息,包括該路線公交的名稱、發(fā)車時(shí)間、結(jié)束時(shí)間以及票價(jià)等。如果存在查詢結(jié)果,則將其結(jié)果顯示,否則提示線路不存在。選擇該線路所列的站點(diǎn)信息列表中的站點(diǎn)時(shí),則能顯示該站點(diǎn)詳細(xì)信息。

⑵ 站點(diǎn)查詢功能

用戶進(jìn)行“站點(diǎn)查詢”時(shí),系統(tǒng)首先判斷站點(diǎn)輸入是否為空或不合法,如果是則彈出錯(cuò)誤提示,否則進(jìn)行站點(diǎn)查詢,在后臺(tái)數(shù)據(jù)庫中查找經(jīng)過該站點(diǎn)的公交線路。如果存在查詢結(jié)果,則將其結(jié)果顯示,否則提示站點(diǎn)不存在。選擇該站點(diǎn)所列的線路信息列表中的線路時(shí),則能顯示該線路詳細(xì)信息。

⑶ 換乘查詢功能

用戶進(jìn)行“換乘查詢”時(shí),系統(tǒng)首先判斷起點(diǎn)和終點(diǎn)輸入是否為空或不合法,如果是則彈出錯(cuò)誤提示,否則首先進(jìn)行直達(dá)查詢。如果存在查詢結(jié)果,則將其結(jié)果顯示,否則進(jìn)行一次換乘查詢,如果存在查詢結(jié)果,則將其結(jié)果顯示,否則提示無直達(dá)和換乘路線。

2.2 數(shù)據(jù)庫設(shè)計(jì)

城市公交查詢系統(tǒng)的核心是數(shù)據(jù)庫,系統(tǒng)所有信息交互都是通過數(shù)據(jù)庫來實(shí)現(xiàn)的,因此數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)至關(guān)重要。在仔細(xì)分析各功能系統(tǒng)數(shù)據(jù)信息及相互的關(guān)系以及手機(jī)軟件特點(diǎn)后,進(jìn)行合理歸納提取,SQLite數(shù)據(jù)庫中共有3張表,分別為BusLineInfo表、BusStopInfo表和BusStopInLineInfo表,各表結(jié)構(gòu)分別如表1、表2和表3所示。

3 系統(tǒng)開發(fā)

系統(tǒng)開發(fā)環(huán)境為JDK 1.6.0+Eclipse 3.5+Android SDK 2.1+ADT 0.9.5和SQLite數(shù)據(jù)庫,基本上實(shí)現(xiàn)了城市公交查詢系統(tǒng)的主要功能。系統(tǒng)幾個(gè)主要功能實(shí)現(xiàn)如下。

3.1 線路查詢

用戶通過線路名獲得該線路所有站點(diǎn)信息,效果圖如圖2所示,具體實(shí)現(xiàn)代碼如下:

public Bus[] queryLine(int line) {

Cursor cursor=db.query(BusStopInLineInfo, new String[] {

\"_id\", \"BusLine_id\", \"BusStop_id\", \"StopOrder\"},

\"BusLine_id= \"+line, 1, 1, 1, 1);

int row=cursor.getCount();

if (row==0 || !cursor.moveToFirst()) {

return 1;

}

Bus[] bus=new Bus[row];

for (int i=0; i

bus[i]=new Bus();

bus[i]._id=cursor.getInt(cursor.getColumnIndex(\"_id\"));

bus[i].BusLine_id=cursor.getInt(cursor.getColumnIndex

(\"BusLine_id \"));

bus[i].BusStop_id=cursor.getString(cursor.getColumnIndex

(\"BusStop_id \"));

bus[i].StopOrder=cursor.getInt(cursor.getColumnIndex

(\"StopOrder \"));

Log.i(\"tag\",\"bus\"+i+\"info:\"+bus[i].toString());

cursor.moveToNext();

}

cursor.close();

return bus;

}

3.2 站點(diǎn)查詢

用戶通過站點(diǎn)名獲得經(jīng)過該站點(diǎn)的所有路線,效果圖如圖3所示,具體實(shí)現(xiàn)代碼如下:

public Bus[] queryStation(String site) {

Cursor c=db.query(BusStopInLineInfo, new String[] {

\"BusLine_id\", \"BusStop_id\", \"StopOrder\" },

\"BusStop_id like '%\"+site+\"%' \", 1, 1, 1, 1);

int row=c.getCount();

if (row==0 || !c.moveToFirst()) {

return 1;

}

Bus[] bus=new Bus[row];

for (int i=0; i

bus[i]=new Bus();

bus[i].BusLine_id=c.getInt(c.getColumnIndex(\"BusLine_id\"));

bus[i].StopOrder=c.getInt(c.getColumnIndex(\"StopOrder\"));

bus[i].BusStop_id=c.getString(c

.getColumnIndex(\"BusStop_id\"));

Log.i(\"tag\", \"bus\"+i+\"info:\"+bus[i].toString());

c.moveToNext();

}

c.close();

return bus;

}

3.3 公交換乘查詢

用戶通過點(diǎn)擊“換乘查詢”,跳轉(zhuǎn)到換乘查詢界面,在起始站和目標(biāo)站中輸入站點(diǎn)名,點(diǎn)擊“查詢”按鈕,查詢起始站到目標(biāo)站的換乘方案。換乘查詢又分為直達(dá)查詢和一次換乘。本文以一次換乘為例,效果圖如圖4所示,具體實(shí)現(xiàn)代碼如下:

public String queryTransRoute(String StrBegin,String StrFinish)

{ String result, StrSql;

result=\"\";

StrSql=\"select sr1.startpoint,sr1.busroute,sr1.endpoint,

sr2.busroute,sr2.endpoint,sr1.addnum+sr2.addnum\"+\"

from VIEW_TRANS sr1,VIEW_TRANS sr2 \"+\" where

sr1.endpoint = sr2.startpoint and \"+\"sr1.startpoint=

'\"+ StrBegin+\"'and sr2.endpoint='\"+StrFinish+\"'\";

Cursor c=db.rawQuery(StrSql, 1);

int resultCounts=c.getCount();

if (resultCounts==0 || !c.moveToFirst())

{ result=\"\";

Log.i(\"ResultCount if:\", \"\" + resultCounts);

}

else

{ Log.i(\"ResultCount else:\", \"\" + resultCounts);

for (int i=0; i

{ String colume1=c.getString(0);

String colume2=c.getString(1);

String colume3=c.getString(2);

String colume4=c.getString(3);

String colume5=c.getString(4);

int colume6=c.getInt(5);

Log.i(\"StaToSta Test:\", \"\"+colume1+colume2+colume3

+colume4+colume5);

result+= \"乘坐\"+colume2+\"路車到達(dá)”\"+colume3+\"“站,\n

轉(zhuǎn)乘\"+colume4+\"路車。\n共需要\"+colume6+\"站。\n----------\n\";

c.moveToNext();

}

}

c.close();

return result;

}

4 結(jié)束語

根據(jù)城市公交查詢的實(shí)際情況,采用Android平臺(tái),以南通為例,設(shè)計(jì)開發(fā)的城市公交查詢系統(tǒng),實(shí)現(xiàn)了對(duì)公交信息的線路查詢、站點(diǎn)查詢和換乘查詢。實(shí)驗(yàn)表明,利用該系統(tǒng)可以方便地查詢到公交信息和得到換乘方法,為乘客方便、高效出行提供了幫助。但系統(tǒng)在公交換乘中僅限于直達(dá)查詢和一次換乘查詢,對(duì)于二次換乘或多次換乘查詢還待進(jìn)一步研究。

參考文獻(xiàn):

[1] 文斌等.基于Android的移動(dòng)公交輔助導(dǎo)航系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].成都信息工程學(xué)院學(xué)報(bào),2012.27(5):437-442

[2] 崔琳等.城市公交線路查詢系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].宿州學(xué)院學(xué)報(bào),2011.26(8):46-48

[3] 黃晶晶等.基于Android的昆明市手機(jī)公交查詢系統(tǒng)設(shè)計(jì)[J].電腦知識(shí)與技術(shù),2012.8(17):4025-4027

主站蜘蛛池模板: 青草精品视频| 国产在线八区| 免费三A级毛片视频| 2021亚洲精品不卡a| 亚洲黄色激情网站| 重口调教一区二区视频| 免费无遮挡AV| 成人一区专区在线观看| 3D动漫精品啪啪一区二区下载| 婷婷色一二三区波多野衣| 色噜噜在线观看| 少妇精品久久久一区二区三区| 美女国产在线| 亚洲欧美不卡视频| 91视频日本| 国产在线麻豆波多野结衣| 天天综合网站| 伊人色在线视频| 99在线视频免费| 久久精品免费看一| 国产精品自在自线免费观看| 极品国产一区二区三区| 久久综合色天堂av| 亚洲欧美日韩动漫| 中日韩欧亚无码视频| 日韩视频精品在线| 国产二级毛片| 久久伊人久久亚洲综合| 丰满少妇αⅴ无码区| 波多野结衣在线se| 免费国产一级 片内射老| 欧美综合成人| 亚洲AV电影不卡在线观看| 亚洲第一视频网| 亚洲天堂首页| 中国国产A一级毛片| 国产91在线免费视频| 国产精品美人久久久久久AV| 亚洲婷婷六月| 538精品在线观看| 亚洲一区二区日韩欧美gif| 亚洲精品无码日韩国产不卡| 精品91视频| 白浆免费视频国产精品视频| 国产亚洲视频播放9000| 国产乱子伦无码精品小说| 被公侵犯人妻少妇一区二区三区| 国产亚洲精品自在久久不卡 | 91在线精品免费免费播放| 亚洲欧美人成电影在线观看| 国产对白刺激真实精品91| 亚洲AV无码不卡无码| 91青青草视频在线观看的| 99热这里只有精品国产99| 午夜a级毛片| 婷婷色狠狠干| 青青久在线视频免费观看| 深夜福利视频一区二区| 欧美精品在线看| 99精品免费欧美成人小视频| 天天婬欲婬香婬色婬视频播放| 久久精品国产精品青草app| 亚洲免费三区| 久久久久青草大香线综合精品| 国产不卡国语在线| 欧洲欧美人成免费全部视频 | 国产乱码精品一区二区三区中文 | 精品一区二区三区四区五区| …亚洲 欧洲 另类 春色| 天天色天天综合网| www亚洲天堂| 91在线丝袜| 国产亚洲精品自在久久不卡| 最新精品久久精品| 一本久道热中字伊人| 四虎影视8848永久精品| 老司机aⅴ在线精品导航| 国产欧美高清| 无码福利日韩神码福利片| 五月婷婷亚洲综合| 精品成人一区二区| 国产成人无码综合亚洲日韩不卡|