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

iOS平臺上實時查詢公交的設計與實現

2014-08-07 12:08:16林曉煥
微處理機 2014年3期
關鍵詞:用戶

何 宇,林曉煥,郭 靖

(西安工程大學電信學院,西安710048)

·微機應用·

iOS平臺上實時查詢公交的設計與實現

何 宇,林曉煥,郭 靖

(西安工程大學電信學院,西安710048)

針對現在生活節奏快、工作壓力大、以公交車為主要交通工具的時代,設計了一款可以查看具體公交實時信息的App,準確判斷離自己最近的公交位置,解決了緊急情況下人們對于選擇乘車路線的糾結。本課題采用了觸摸靈活、可以隨時隨地查詢公交的iOS客戶端平臺,采用多線程運動方式,可以從服務器上取數據,同時顯示數據,并且采用了解析服務器上數據效果最好的NSJSONSerialization方法,快速實時處理,提高了用戶體驗。可以讓用戶在時間緊迫的情況下合理安排自己的乘車路線,讓人們的生活和工作更加方便、便捷。

公交車;查詢;體驗;iOS操作系統

1 引 言

iOS(iPhone/iPad/iPod Operationing System)是目前集觸摸靈活性最高、穩定性最好、應用范圍最廣于一身的手機系統[1]。在如此強大的系統平臺上開發App,不僅可以提升用戶的體驗,而且可以最大化地刺激經濟更快發展。

在提倡低碳環保的時代,購買私房車的壓力與日俱增,給私房車安家和補給燃油的困難隨之而來。乘坐公交車正在成為人們上班、購物、短途旅行等的首選交通工具?,F在,人們的生活壓力越來越大,生活節奏也越來越快,為了能夠上班不遲到,不影響正常的工作生活,人們通常需要準確知道一輛公交車的實時位置和時間。

目前市場上的軟件實現了在Android平臺上,實時查詢一個城市的公交信息。但受地域和平臺的限制,用戶的體驗也有很大程度的限制,并且查詢速度緩慢。針對現在遇到的問題,本論文主要對某市所有公交車,設計和實現了在iOS設備(即客戶端)上實時查看其所處的具體位置及到達時間,同時簡單說明了服務端的實現。

2 服務端設計與實現

某市的每輛公交車上都安裝一款類定位儀,記錄公交車所經過的站點名字,并且每經過一站就要把這個站的名字上傳到服務器,當同一輛公交車上傳到服務器上站名的數量、起始站和終點站的名字與本趟車應該經過的總站數相等、與服務器上記錄的起始站和終點站名字相同時,清空該趟車的記錄。

公交名:1,2,3,…,56,假設該市有56條不同線路的公交。

站點:A1?Z1,A1、Z1分別為某一條線路的始發站和終點站,其中間的站名為b1,c1,d1,…,x1,y1。

公交車編號:一條線路下有多輛公交車,用公交車的車牌號作為每輛公交車的標識。例:陜A001,陜A002…

圖1 服務端框架

3 客戶端設計與實現

客戶端的App主要功能是:搜索某個城市的名字后,可以顯示出該市所有的公交車路線和相應的起始站、終點站名字,點擊想要查詢的公交路線,可以準確顯示這條路線所有站點的名字,以及這趟路線的所有公交車目前分布情況,確保用戶可以比較準確的了解,還需要多長時間,可以過來一趟公交車,給時間緊迫的人們帶來很大幫助。

3.1 搜索功能的實現

進入App后,首頁是搜索功能,點擊最上面的搜索欄,就會自動調用軟鍵盤,輸入所要查詢的城市名字,點擊軟鍵盤的搜索鍵,將調用UISearchBarDelegate協議里面的searchBarSearchButtonClicked方法,即搜索方法,在該方法里面設置適合與在線服務通信的URL請求[2-3],即設置NSMutableURLRequest的實例為POST,通過NSURLConnection連接服務器上收集城市名字的地址,sendSynchronousRequest方法把搜索欄輸入的城市名字上傳到服務器,與服務器上已有的城市名字比較,如果有相同的城市名字,說明服務器上收集了這個城市的公交車信息。

UITableView對象會向數據源查詢要顯示的行數、顯示表格行數所需要的數據及顯示其他UITableView對象所需要的數據,所以遵守UITable-ViewDataSource協議后,可以在首頁的表格視圖里面正確顯示所查詢城市的所有公交路線,以及每趟公交路線所對應的起始站和終點站[4-5]。如圖2(a)所示查詢到了西安的公交車,例如,1路車的起始站和終點站分別為A1和Z1;反之,如果服務器上沒有與上傳到服務器的城市名字相匹配的內容,說明服務器端沒有搜集查詢城市的公交信息,將會提示找不到相關內容,如圖2(b)所示。

圖2 公交路線顯示

找到符合條件的公交信息時,需要從服務器上取相應的公交路線數據顯示在表格視圖里面,設置NSMutableURLRequest的實例為GET,從服務器上取到數據,然后通過NSJSONSerialization的類方法解析取到的數據,最后將解析好的數據顯示在表格視圖上,如圖3所示。

從服務器上取數據顯示在表格視圖上,受網絡影響,會有很大的延遲,為了減少正確顯示內容需要的時間,本論文采用了多線程。多線程模式下,任務可以“并行”[6],就是多個線程并行工作來完成多項任務,提高工作效率,即取數據和顯示數據在兩個不同的線程里面同時執行,這樣達到了同步執行,一邊取數據一邊將數據顯示在表格視圖里面,減少了用戶等待的時間,提高了用戶體驗效果。

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0),^(void){//從服務器上取數據,解析數據dispatch_async(dispatch_get_main_queue(),^{//在表格視圖里顯

示解析的數據});});

圖3 從服務器取數據流程圖

如果沒有找到用戶要查詢城市的公交信息,將會調用UIAlertView實例,提醒用戶沒有符合條件的內容。

3.2 公交詳細信息顯示的實現

查到城市的所有公交線路后,拖動表格視圖,查看符合自己要求的公交,點擊符合要求的公交線路所在的位置,就會觸發UITableViewDelegate協議下的點擊某一行的方法tableView:didSelectRowAtIndex-Path:。在該方法里面調用實現presentViewController方法,顯示公交車詳細信息的界面。公交車的詳細界面應是UIViewController的子類,在其子類里面添加UILabel顯示最上面的標題,即在首頁點擊幾路公交車所在的一行,就會把這行的公交數傳到詳細界面,并顯示在UILabel上。例如點擊搜索界面的5路公交車所在的行,在詳細界面的UILabel上就會顯示西安5路公交車;在標題的下面添加一個UITextView,可以顯示查詢公交路線從起始站到終點站的所有站名。當站名較長或者站點較多,一行不能完全顯示所有公交站名時,可以滾動UITextView查看詳細站名。上面的返回按鈕可以調用dismissViewControllerAnimated:方法,返回到首頁的搜索界面,方便用戶繼續查詢公交的實時信息;最下面的表格視圖顯示了查詢公交線路的所有公交車目前所在的位置,如圖4所示,如果用戶現在在d5站,那么陜A5001公交車在c5站,即用戶所在位置的前一站,從而更好的判斷等一輛公交車大概需要多長時間,尤其在時間緊迫的情況下,可以合理安排自己的乘車路線。

圖4 查詢公交車的具體位置

4 結束語

經過測試,多線程的使用,對卡屏現象有很大改善,巧妙的上傳數據到服務器和從服務器上取數據,減少了連接服務器和取大量數據的時間,避免了用戶長時間的等待。這款App不會因為地域原因而限制用戶的體驗,可以滿足人們出行對具體公交線路的查詢,幫助時間緊迫的人們合理安排乘車路線,極大方便了人們的生活和工作。

[1]趙海,彭海霞,朱劍.IOS平臺上基于GPRS技術的Web客戶端系統的設計與實現[J].東北大學學報(自然科學版),2012,33(10):1399-1402.

[2]張彩霞,高穎,易磊.iPhone開發秘籍(第2版)[M].北京:人民郵電出版社,2010.

[3]李亮,楊武,張永強,茍振興.iPhone SDK 3開發指南[M].北京:電子工業出版社,2010.

[4]夏偉頻.ios編程(第3版)[M].武漢:華中科技大學出版社,2013.

[5]Gene Backlin.Professional iPhone and iPad Application Development[M].北京:清華大學出版社,2012.

[6]XMobileApp.iPhone創意開發入門與實踐[M].北京:人民郵電出版社,2010.

Design and Im plementation of a Real-time Query Bus on iOS Platform

HE Yu,LIN Xiao-huan,GUO Jing
(School of Electronic and Information,Xi’an Polytechnic University,Xi’an 710048,China)

Facing the life of high efficiency,high pressure and high frequency for taking the bus,this paper designs an App,which can check the real-time bus information and accurately judge the nearest bus location,to solve problems while choosing routes in emergency for the people.The flexible touch is adopted in this App to inquire the bus iOS client platform anytime and anywhere.The multi thread is used to read data from the server and display data in the same time,and the NSJSONSerialization method which analyzes the data on the server with best effect is used to process the data in real time for improving the user experience.The design and implementation can complete the reasonable arrangement for the bus routes and make the convenient life for the people.

Bus;Check;Experience;The iOS operating systerm

10.3969/j.issn.1002-2279.2014.03.017

TP311.52

:A

:1002-2279(2014)03-0060-03

何宇(1990-),女,山西省長治市人,碩士研究生,主研方向:數據通信與計算機軟件編程。

2013-11-12

猜你喜歡
用戶
雅閣國內用戶交付突破300萬輛
車主之友(2022年4期)2022-08-27 00:58:26
您撥打的用戶已戀愛,請稍后再哭
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年5期)2016-11-28 09:55:15
兩新黨建新媒體用戶與全網新媒體用戶之間有何差別
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
挖掘用戶需求尖端科技應用
Camera360:拍出5億用戶
創業家(2015年10期)2015-02-27 07:55:08
100萬用戶
創業家(2015年10期)2015-02-27 07:54:39
主站蜘蛛池模板: 亚洲国产看片基地久久1024 | 国产精品三区四区| 91欧美亚洲国产五月天| 人妻精品全国免费视频| 国产肉感大码AV无码| 国产精品黄色片| 亚洲第一天堂无码专区| 欧美精品成人| 九色视频线上播放| 精品国产自| 国产欧美日韩免费| 亚洲欧美另类日本| 97无码免费人妻超级碰碰碰| 特级精品毛片免费观看| 成人午夜在线播放| 欧美亚洲香蕉| 3344在线观看无码| 国产第一页免费浮力影院| 91蝌蚪视频在线观看| 精品人妻无码中字系列| 天天色综网| 日韩乱码免费一区二区三区| 91在线播放免费不卡无毒| 婷婷开心中文字幕| 国产精品亚洲天堂| 久久青青草原亚洲av无码| 制服无码网站| 亚洲精品自拍区在线观看| 成人亚洲国产| 国产麻豆永久视频| 国产www网站| 久久国产精品影院| 欧美另类视频一区二区三区| 亚洲综合欧美在线一区在线播放| 国产sm重味一区二区三区| 国产精品久久久久久搜索| 天堂网亚洲系列亚洲系列| 精品国产www| 青青青草国产| 亚洲欧美日韩中文字幕在线| 欧美三级视频网站| 亚洲综合经典在线一区二区| 韩国福利一区| 国产在线观看91精品| 88av在线播放| 亚洲精品日产精品乱码不卡| 国产成人喷潮在线观看| 综合五月天网| 日韩中文精品亚洲第三区| 亚洲三级成人| 香蕉综合在线视频91| 91小视频在线观看| 国产对白刺激真实精品91| 国产亚洲精| 国产成人91精品免费网址在线| 亚洲第一国产综合| 免费福利视频网站| 国产视频你懂得| 久久77777| 天天婬欲婬香婬色婬视频播放| 嫩草在线视频| 欧美精品二区| 国产在线精彩视频论坛| 一本一道波多野结衣av黑人在线| 伊人久久综在合线亚洲2019| 伊人色综合久久天天| 九九九九热精品视频| 久久久黄色片| 免费无码网站| 亚洲精品亚洲人成在线| 亚洲区欧美区| 欧美特黄一级大黄录像| 国产91视频免费| 制服丝袜无码每日更新| 91 九色视频丝袜| 丁香亚洲综合五月天婷婷| 亚洲国产日韩一区| 丁香亚洲综合五月天婷婷| 欧美成人免费一区在线播放| 久久频这里精品99香蕉久网址| 视频在线观看一区二区| 国产成人精品18|