趙博軒
摘 要:因為出行成本、政策導向等原因,越來越多的人選擇乘坐地鐵出行,方便、快捷、安全也就理所當然地成為了人們出行的幾大訴求。該軟件旨在為來京旅游、忘記攜帶一卡通的乘客在購票高峰期時緩解窗口的購票壓力服務,幫助乘客進行網絡自助購票,進而有效地提高進站效率、節(jié)省出行時間,為乘客提供更加便捷、一體化的購票及出行指導服務。
關鍵詞:Android studio Java 人機交互 網絡購票 智慧交通
中圖分類號:TP391 文獻標識碼:A 文章編號:1672-3791(2016)12(a)-0004-02
全國開通地鐵的城市日益增多,乘坐地鐵出行已經是大城市市民的首選,以北京為例, 北京軌道交通線路近八年來不斷延長, 客運量也日益增多。3年前的3月份,北京軌道交通全路網共16條線路,運營里程為442 km,當月9日,路網日客運量首次突破1 000萬人次,且這種大客流成為一種常態(tài)。到2015年底,全路網運營線路達到18條,運營總里程達554 km,日均客運量在1 100萬人次左右。
1 相關工作
隨著地鐵客運量的逐步增長,乘客在進入地鐵乘車時都需要刷卡,刷卡一般為“城市一卡通”和臨時卡,臨時卡主要解決未購買城市一卡通的臨時乘車需要。由于早晚高峰,客流量大,購買臨時卡排隊人員也容易造成刷卡進入地鐵的擁堵,尤其是排隊購卡流程較為復雜,涉及選取站點和投放錢幣等,極不方便。
為解決以上問題,此次開發(fā)一個地鐵網絡售票系統, 乘客可以通過手機APP選擇起始站及終點站,并在線支付后,生成一個二維碼,乘客持二維碼可以到地鐵站臺的網絡自助售票機自助取票。
2 App的開發(fā)流程
任何一個APP的設計與開發(fā)都需要進行策劃和需求分析,為APP的制作理清一條清晰的主線,這樣才能使接下來的工作有條不紊地進行。
APP開發(fā)一般分為創(chuàng)意管理、撰寫草案、市場分析、需求分析這4步。在這里著重介紹需求分析,它主要分為3個部分:美工需求、程序需求和策劃需求。美工需求,顧名思義就是APP的各種界面、按鈕、特效等;程序需求也就是APP的功能需求,包括站點選取、生成二維碼、加密傳送、在線支付等各種功能需求;策劃需求作為APP制作的總指導,是一個APP正常運行開發(fā)流程的關鍵部分,包括功能實現概況,如表1。
2.1 方案策劃
從實用性角度來說,手機隨身攜帶的特點是非常適合地鐵即時網絡購票軟件的設計與開發(fā)的。近幾年已有不少類似產品出現在市場上,其中很多都非常成功。該軟件對其中的一些產品,如“北京地鐵”、“地鐵通”等進行了借鑒,并在許多方面推陳出新,使得該軟件的實用性、可用性得到了進一步的增強。首先,運用三叉樹進行路線規(guī)劃及行駛里程計算,以得出票價,并利用支付寶提供的接口,使用戶能夠根據自己的出行需求,隨心、隨時購票,更大的提高出行效率,節(jié)省出行時間;其次,用戶除去瀏覽地鐵線路、確定換乘方向、獲得出行線路外,還可以獲取如當前位置、實時天氣等信息,方便用戶根據自身情況和客觀條件等,制定更加適合自己的出行方案,為用戶實現出行舒適度的最大化(見圖1)。
2.2 美術內容
一個好的軟件離不開精良的美術內容。所謂美術內容就是軟件中出現的可視化內容,包括UI界面,藝術字及按鈕等,是軟件設計與開發(fā)過程中不可或缺的重要組成部分。具體來說該款作品的美術需要完成UI界面的設計、地鐵線路的繪制和地鐵各站點的坐標位置輸入等。
2.3 關鍵技術
上文介紹了美術制作的部分內容,現在介紹一下程序設計部分。程序需求是一個軟件的核心,是實現預期效果的必要保證。即用一些腳本和代碼將美工設計的好的各種素材聯系起來并進行交互。程序需求在軟件設計開發(fā)過程中十分重要,決定著一個軟件在運行過程中是否能完美還原策劃的預期效果和運行時是否流暢。
這款手機版的地鐵網絡自助購票系統軟件中涉及到多種技術。此處重點介紹UI制作,md5加密技術,數據庫連 接幾方面。
2.3.1 UI制作
UI技術是影響用戶使用體驗的關鍵性因素,此App界面設計符合用戶的普通需求,界面中沒有涉及復雜元素,簡明易懂。以藍色為主色調,盡顯時尚,科技感強烈。首頁面為等待界面,在加載app的時候顯示LOGO。主界面提供行程選擇的兩種方式:地圖選點、輸入選點,方便用戶自由選擇行程。從選取地點到生成二維碼,過程全部由軟件通過界面跳轉提示用戶完成,不會出現功能繁雜導致用戶無法順利購票的情況。在個人中心主界面,采用方形按鈕布局,類似于win8軟件界面方便用戶使用其中的功能??傊?,界面設計盡量接近與大眾化,簡單易懂看,方便各個年齡段的人使用。
2.3.2 加密技術
該系統使用md5算法處理的訂單信息作為客戶端向客戶端傳遞的內容。由于MD5算法具有以下特點。
(1)壓縮性:任意長度的數據,算出的MD5值長度都是固定的。
(2)容易計算:從原數據計算出MD5值很容易。
(3)抗修改性:對原數據進行任何改動,哪怕只修改1個字節(jié),所得到的MD5值都有很大區(qū)別。
(4)強抗碰撞:已知原數據和其MD5值,想找到一個具有相同MD5值的數據(即偽造數據)是非常困難的。
所以采用md5作為傳輸內容能夠防止中間人攻擊,保證了信息的完整性。在設計時,該軟件采用Java自帶的MD5算法包進行了數據處理操作。
2.3.3 數據庫連接
在系統數據庫連接階段,為了避免數據庫鏈接信息在客戶端出現,系統采用通過客戶端訪問asp服務來獲得數據庫內容的方式來進行。這樣做的能夠在asp上方便的添加數據庫查詢的檢查機制。同時,由于asp服務是允許在服務端,所以這樣也保證了系統訪問服務的整體性。數據交換采用json封裝,經過封裝后的數據能夠更好的被人類所讀取,并且也能夠高效的進行網絡傳輸。是目前安卓與數據庫通信的推薦連接方案。
3 結語
該APP采用Android Studio2.1.2開發(fā),通過重寫安卓view組件,利用已寫好的數據庫點坐標繪制地鐵路線圖;通過第三方支付軟件支付寶SDK來實現票價支付功能;通過zxing庫來實現二維碼的生成,使得用戶得以實現自助取票等功能。
該次設計的基于Android手機的地鐵網絡自助購票系統軟件——“北京地鐵通”APP可很好地緩解購票高峰期時的窗口購票服務壓力,更在此之外設計了很多實用有趣的小功能,可以說能多方面地滿足乘客對于地鐵出行的需求。
通過對軟件的設計與實現的思考,下一步要對該軟件的安全性和便利性進行進一步的增強。
參考文獻
[1] (美)Schach SR,著.著軟件工程面向對象和傳統的方法[M].韓松,鄧迎春,譯.北京:機械工業(yè)出版社,2009.
[2] 張然.基于移動終端的OA系統設計與實現[D].吉林大學,2012.