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,不僅可以提升用戶的體驗,而且可以最大化地刺激經濟更快發展。

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

目前市場上的軟件實現了在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
主站蜘蛛池模板: 欧美精品在线免费| 久久精品国产免费观看频道| 91久久精品国产| a级毛片在线免费| 久久久久久高潮白浆| 高清码无在线看| 国产电话自拍伊人| 试看120秒男女啪啪免费| 国产肉感大码AV无码| 免费毛片全部不收费的| 亚洲男人天堂2018| 亚洲福利网址| 国产91全国探花系列在线播放| 国模粉嫩小泬视频在线观看| 国产一级小视频| 亚洲国产成人综合精品2020| 亚洲美女久久| 久久国产乱子伦视频无卡顿| 久久久久亚洲Av片无码观看| 91亚洲免费视频| 国产 日韩 欧美 第二页| 在线免费不卡视频| 夜精品a一区二区三区| 在线国产你懂的| 国产久草视频| 综合网天天| 国产XXXX做受性欧美88| yjizz国产在线视频网| 欧美五月婷婷| Aⅴ无码专区在线观看| av尤物免费在线观看| a毛片免费看| 538国产视频| 永久免费精品视频| 2021天堂在线亚洲精品专区| 99久久国产自偷自偷免费一区| 成年片色大黄全免费网站久久| 71pao成人国产永久免费视频| 日本在线亚洲| 国产精品专区第一页在线观看| 色135综合网| 99精品视频九九精品| 免费一级α片在线观看| 色天天综合| 97成人在线视频| 一级福利视频| 伊人成人在线| 欧美精品成人一区二区在线观看| 国产成人综合在线观看| 国产精品xxx| 伊人天堂网| 色天堂无毒不卡| 亚洲天堂视频在线播放| 欧美亚洲第一页| 午夜福利在线观看成人| 日本不卡在线| 日韩无码黄色| 午夜不卡福利| 青青草一区二区免费精品| 伊人网址在线| 在线国产91| 国产毛片基地| 国产第一福利影院| 亚洲精品午夜无码电影网| 91尤物国产尤物福利在线| 国产乱子伦手机在线| 狂欢视频在线观看不卡| 日本爱爱精品一区二区| 亚洲欧洲日韩久久狠狠爱| 欧美日韩理论| 亚洲视频四区| 亚洲精品中文字幕无乱码| 91香蕉视频下载网站| 亚洲香蕉久久| AV无码一区二区三区四区| 欧美成a人片在线观看| 久热99这里只有精品视频6| 国产成年女人特黄特色大片免费| 亚洲一区二区约美女探花| 欧美a在线| 亚洲AV无码乱码在线观看代蜜桃 | 国内精品91|