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久久精品国产| 无码高潮喷水专区久久| 精品无码国产一区二区三区AV| 日本一本在线视频| 热久久国产| 国产第八页| 国产黄在线免费观看| 国产美女主播一级成人毛片| 免费国产无遮挡又黄又爽| 亚洲精品大秀视频| 久久国产精品麻豆系列| 亚洲综合精品第一页| 精品视频一区在线观看| 国产福利一区视频| 99国产精品免费观看视频| 无码精品国产dvd在线观看9久| 一级不卡毛片| 综合久久五月天| 久久永久视频| 亚洲人成影院午夜网站| 欧美成人精品一区二区| 国产福利在线免费| 五月天久久综合| 午夜高清国产拍精品| 综合色在线| 四虎精品国产永久在线观看| 又粗又大又爽又紧免费视频| 精品小视频在线观看| 国产欧美日韩另类精彩视频| 亚洲区欧美区| 怡红院美国分院一区二区| 试看120秒男女啪啪免费| 视频一区视频二区日韩专区| 精品91视频| 超清无码一区二区三区| 伊在人亞洲香蕉精品區| 高清不卡一区二区三区香蕉| 日韩精品中文字幕一区三区| 国模视频一区二区| 国产产在线精品亚洲aavv| 欧美日韩午夜| 亚洲丝袜第一页| 人妻免费无码不卡视频| 精品久久高清| 一本大道香蕉中文日本不卡高清二区 | 华人在线亚洲欧美精品| 一级一级一片免费| 亚洲人免费视频| 啪啪永久免费av| 免费av一区二区三区在线| 国产美女精品一区二区| 亚洲码一区二区三区| 欧美a在线看| 中文字幕亚洲综久久2021| 婷婷综合缴情亚洲五月伊| 久综合日韩| 国产成人资源| 亚洲国产综合第一精品小说| 久久性妇女精品免费| 久久精品欧美一区二区| 毛片在线播放网址| 99热这里只有免费国产精品 | 97亚洲色综久久精品| 亚洲三级成人| 国产无遮挡猛进猛出免费软件| 人妻21p大胆| 91热爆在线| 国产精品亚洲专区一区| 日韩A级毛片一区二区三区| 亚洲日韩AV无码精品| 国产交换配偶在线视频| 久久五月天国产自| 国产午夜无码专区喷水| 日本国产在线| a天堂视频| 97影院午夜在线观看视频| 亚洲AⅤ综合在线欧美一区| 精品国产香蕉在线播出| 国产呦视频免费视频在线观看| 国产啪在线| 久久精品人妻中文视频| 日本午夜三级|