freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

android平臺(tái)公交查詢工具的設(shè)計(jì)與實(shí)現(xiàn)(編輯修改稿)

2025-07-26 19:11 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 個(gè)接受字符串,而另外一個(gè)接受字符串的資源標(biāo)實(shí)符作為參數(shù)。Toast對(duì)象創(chuàng)建好之后,調(diào)用其show方法即可將消息提示顯示到屏幕上。Toast一般只顯示比較簡(jiǎn)短的文本消息,當(dāng)然也可以顯示圖片。 Google Map介紹Google Map是谷歌最為成功的一款網(wǎng)絡(luò)服務(wù)之一,廣泛應(yīng)用在旅游景點(diǎn)的查詢以線路導(dǎo)航等場(chǎng)合[14]。Google提供了一組API,可以方便的在應(yīng)用程序當(dāng)中添加基于地圖的功能,詳細(xì)介紹Google Map API的使用。,其中包含了一系列用于在google map上顯示、控制和疊層信息的功能類,以下是對(duì)該包中重要的幾個(gè)類的介紹:(1) MapActivity:這個(gè)類是用于顯示Google Map的Activity類,它需要連接底層網(wǎng)絡(luò)。MapActivity是一個(gè)抽象類,任何想要顯示MapView的Activity都需要派生自繼承MapActivity,并且子其派生類的onCreate()中,都要?jiǎng)?chuàng)建一個(gè)MapView實(shí)例。(2)MapView:MapView是用于顯示地圖的View組件。,而且只能被MapActivity創(chuàng)建,這是因?yàn)镸apView需要通過(guò)后臺(tái)的線程來(lái)連接網(wǎng)絡(luò)或者文件系統(tǒng),而這些線程需要MapActivity 來(lái)管理。(3) OverLay:這是一個(gè)可顯示于地圖之上的可繪制的對(duì)象。(4) GeoPoint:這是一個(gè)包含經(jīng)緯度位置的對(duì)象[15]。第3章 系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì) 系統(tǒng)主要功能模塊公交換乘查詢模塊:主要實(shí)現(xiàn)的是輸入出發(fā)站和目的站,查詢出乘車的方案,至多乘車3次到達(dá)目的地。公交線路查詢模塊:輸入想要查詢的線路,按順序顯示相應(yīng)的站名,還可以進(jìn)行線路的地圖查詢,在地圖上顯示線路。公交站名查詢模塊:輸入想要查詢的站名,顯示經(jīng)過(guò)該站的相關(guān)線路,點(diǎn)擊線路,又可顯示有哪些站經(jīng)過(guò)該線路,還可以顯示以該站為中心的相應(yīng)線路。 數(shù)據(jù)庫(kù)設(shè)計(jì) 數(shù)據(jù)庫(kù)概念模型設(shè)計(jì)根據(jù)系統(tǒng)的功能設(shè)計(jì)分析,本系統(tǒng)的實(shí)體主要有兩個(gè):站點(diǎn)和線路。下圖列出了各個(gè)實(shí)體及其屬性,如圖31和32所示。站點(diǎn)站編號(hào)站名稱站經(jīng)度站緯度 圖31 站點(diǎn)實(shí)體及屬性線路編號(hào)線路名稱線路 圖32 線路實(shí)體及屬性一條線路有多個(gè)的站點(diǎn),一個(gè)站點(diǎn)可以被多條線路經(jīng)過(guò),所以線路和站點(diǎn)的關(guān)系是一對(duì)多。由此可以得到公交系統(tǒng)的ER圖,如圖33所示。線路 站點(diǎn) 關(guān)聯(lián)站編號(hào)站名稱站經(jīng)度站緯度線路編號(hào)線路名稱n 1 圖33 公交查詢系統(tǒng)的ER圖 數(shù)據(jù)庫(kù)表設(shè)計(jì)將概念模型里的實(shí)體及屬性轉(zhuǎn)換成關(guān)系模型,于是知道了本系統(tǒng)需要三張表,分別是線路表lines,站名表station,線路關(guān)系表ls,以下將詳細(xì)介紹每張表的結(jié)構(gòu)。(1) 線路表lines: 用于記錄線路的基本信息。表31 lines表字段名數(shù)據(jù)類型是否主鍵是否為空字段含義L_ numberint是否線路編號(hào)L_nameVarchar2(20)否是線路名稱(2) 公交車站信息表station:用于記錄公交車站的基本信息。表32 station表字段名數(shù)據(jù)類型是否主鍵是否為空字段含義S_ numberint是否站編號(hào)S_ namevarchar(50)否是站名稱S_jdvarchar2(20)否是站經(jīng)度S_wdvarchar2(20)否是站緯度(3) 線站關(guān)系表ls:用于記錄公交線路與站之間的關(guān)系。表33 ls表字段名數(shù)據(jù)類型是否主鍵是否為空字段含義LS_ idint是否編號(hào)L_ numberint否是線路編號(hào)S_ numberint否是站編號(hào) 數(shù)據(jù)庫(kù)的相關(guān)操作(1) 數(shù)據(jù)庫(kù)表的創(chuàng)建CreatTable類主要通過(guò)SQL語(yǔ)句建立表和插入部分?jǐn)?shù)據(jù),將所有SQL語(yǔ)句放入一個(gè)數(shù)組中,在通過(guò)循環(huán)調(diào)用的方法執(zhí)行SQL語(yǔ)句即可實(shí)現(xiàn)建表和初始化數(shù)據(jù)功能。(2) 數(shù)據(jù)庫(kù)的相關(guān)操作LoadUtil類是一個(gè)只提供功能的類,主要對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作。其中連接數(shù)據(jù)庫(kù)的方法是createOrOpenDatabase(),而查詢數(shù)據(jù)庫(kù)的方法是query()方法,先連接數(shù)據(jù)庫(kù),然后將查詢結(jié)果以Cursor對(duì)象返回,再調(diào)用其moveToNext方法進(jìn)行遍歷,最后返回查詢結(jié)果向量。該類還提供了許多靜態(tài)方法供其他對(duì)象調(diào)用。第4章 公交系統(tǒng)的實(shí)現(xiàn) 歡迎界面的實(shí)現(xiàn)(1) 歡迎界面的設(shè)計(jì)WeleView類是本系統(tǒng)的歡迎界面。WeleView繼承自SurfaceView,其繪畫(huà)機(jī)制與普通的View并不相同。本系統(tǒng)的歡迎界面由兩張圖片組成。該類新起一個(gè)單獨(dú)的線程重新繪制畫(huà)面。首先繪制以白色填充的矩形畫(huà)布,再依次繪制兩張圖片,該線程通過(guò)for循環(huán),對(duì)歡迎界面圖片1的透明度進(jìn)行變化,每變化一次就畫(huà)一次,這樣就達(dá)到了漸變的效果。當(dāng)?shù)谝粡垐D片完全消失后,線程等待一小段時(shí)間,切換到第二張圖片進(jìn)行相同的處理,這樣就達(dá)到了動(dòng)態(tài)的效果。(2) 自定義GGView類使用Android,我們可以在屏幕上繪制各種諸如PNG和JPG的圖像,以及文本和基本圖形。要在屏幕上繪制,需要一個(gè)可用的Canvas(畫(huà)布)對(duì)象。所以,該類就是通過(guò)繼承View類,實(shí)現(xiàn)onDraw()方法,來(lái)獲得一個(gè)Canvas。該類最終實(shí)現(xiàn)的功能是循環(huán)播放圖片,提升界面的美觀度。要想在相應(yīng)的界面實(shí)現(xiàn)該功能,只需將在使用的地方添加如下代碼即可。 android:layout_width=200dip android:layout_height=180dip/ 主要功能的實(shí)現(xiàn)(1) 換乘查詢的實(shí)現(xiàn)換乘查詢主要實(shí)現(xiàn)的是提供從出發(fā)站到目的站的乘車方案,最多實(shí)現(xiàn)二次換乘(即乘車次數(shù)為三次)。實(shí)現(xiàn)該模塊功能有關(guān)的類:QueryUtil類、LineNode類LineNode類的主要變量和函數(shù)的介紹:lineName:線路名稱startStation:邊的起點(diǎn)站endStation:邊的到達(dá)站方法:LineNode(String lineName, String startStation, String endStation)是描述搜索過(guò)程中的邊,比如說(shuō)從車站A通過(guò)線路L可以到達(dá)車站B,如圖41所示。 startStationLineendStation圖41 LineNode結(jié)點(diǎn)QueryUtil類的主要變量和函數(shù)的介紹:主要變量:SetString stationsSearched:用于保存已搜索過(guò)的車站。SetString lineSearched: 用于保存已搜索過(guò)的線路,相同的線路不給出多次方案。SetString oldStations:當(dāng)前搜索中舊的站點(diǎn)集。SetString newStations:當(dāng)前搜索中新的站點(diǎn)集。MapString, SetLineNode:這個(gè)結(jié)構(gòu)很重要,Map中的String表示某個(gè)車站名,后面SetLineNode表示可以搜索到這個(gè)車站的LineNode結(jié)點(diǎn)。方法:getLinesByStation(String station):獲取經(jīng)過(guò)某個(gè)車站有哪些線路。getStationsByLine(String line):獲取某條線路經(jīng)過(guò)那些車站。查找出所有經(jīng)過(guò)出發(fā)站和目的站的換乘方案,默認(rèn)的換乘次數(shù)為二,即乘三次車。系統(tǒng)會(huì)先通過(guò)isLegal()方法對(duì)輸入的出發(fā)站和目的站進(jìn)行判斷,當(dāng)出發(fā)站或者目的站為空,或者出發(fā)站和目的站相同時(shí),就會(huì)彈出相應(yīng)的錯(cuò)誤提示,如果輸入合法,就進(jìn)入數(shù)據(jù)庫(kù)查詢,是否存在經(jīng)過(guò)用戶輸入出發(fā)站和目的站的線路,如果沒(méi)有,也彈出錯(cuò)誤的提示。若有直達(dá)的線路,則排除對(duì)該線路繼續(xù)換乘的方案。比如如果乘111路可以到達(dá)目的站,則不再考慮111路轉(zhuǎn)乘到站點(diǎn)再轉(zhuǎn)其他線路到達(dá)目的站。通過(guò)while循環(huán),主要是為了找出站點(diǎn)到線路LineNode結(jié)點(diǎn)的映射,表示某個(gè)站點(diǎn)經(jīng)過(guò)某條線路可到達(dá)該站點(diǎn)。直到搜索不到新的站點(diǎn)或者是換乘的次數(shù)大于二,就結(jié)束循環(huán)。再通過(guò)遞歸調(diào)用extractResult()方法提取所有的換乘方案,然后將方案進(jìn)行排序,實(shí)現(xiàn)乘車次數(shù)最少的顯示在界面的最前面。(2) 線路查詢的實(shí)現(xiàn)線路查詢主要實(shí)現(xiàn)的是查詢?cè)摼€路經(jīng)過(guò)的所有站點(diǎn),下圖42是線路查詢的流程圖。輸入線路 線路是否為空在數(shù)據(jù)庫(kù)中進(jìn)行查詢,返回結(jié)果結(jié)果是否為空 提示線路不能為空提示沒(méi)有相關(guān)線路顯示查詢結(jié)果查詢結(jié)束是 否否是 圖42 線路查詢流程當(dāng)進(jìn)入線路查詢界面時(shí),標(biāo)識(shí)界面值curr=;當(dāng)按下查詢按鈕后,通過(guò)FZGJActivity類中的isLegal()方法用于判斷當(dāng)前輸入的文本是否為空,如果為空,使用Toast彈出提示框否則就執(zhí)行 LoadUtil類中的LineSearch()方法,即到數(shù)據(jù)庫(kù)中查找該線路經(jīng)過(guò)的站點(diǎn),然后再
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1