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

基于iOS平臺的車聯網移動應用系統設計與實現

2017-09-09 19:57:52翁亞偉周奎
軟件導刊 2017年8期

翁亞偉+周奎

摘 要:隨著生活節奏的不斷加快,人們對車輛的需求和使用越來越多。設計一套完整的基于iOS的車聯網移動應用系統,并實現用戶管理、預約加油、實時地圖、車輛導航、車輛維護、音樂播放、違章查詢等功能,方便用戶隨時隨地查看和管理車輛信息,給人們對自身車輛的管理帶來了極大便利。

關鍵詞:iOS;車聯網;車輛管理

DOIDOI:10.11907/rjdk.171293

中圖分類號:TP319

文獻標識碼:A 文章編號文章編號:1672-7800(2017)008-0116-03

0 引言

隨著人們對車的需求的增加,并伴隨著生活節奏的不斷加快,人們對車輛的管理方式也越發復雜,并且用戶對車載移動應用的需求也越來越大[1]。與此同時,由于使用車輛的人群規模在擴大,全國各大城市都出現了堵車、擁擠問題。因此,更加高效便捷的路線規劃和更加輕松愉快的出行體驗引起了人們的廣泛關注和研究。雖然針對車輛管理的移動App并不罕見,但這類 App 不是由廠商開發就是由一些硬件開發商開發,因此要么更加趨向于車輛狀態的顯示以及開門、開空調、自動倒車等控制,通用性差,要么需要購買配套硬件設備,成本相對較高,安全性也較低。這類軟件的特點是通用性差、專業性強,例如BMW的“BMW互聯應用”,以及上海博泰昉達公司研發的“iVoka MINI X”。本項目旨在設計開發出這樣一款移動應用,幫助用戶規劃出高效的行駛路線,處理使用過程中的一些繁瑣事務,從而有效解決道路使用率過低等問題。

1 系統開發環境及關鍵技術

1.1 iOS與Swift

iOS系統是蘋果公司為移動設備所開發的專有操作系統,所支持的設備包括iPhone、iPod touch和 iPad。與 Android 不同,iOS 系統不支持任何非蘋果的硬體設備。iOS設備一般采用 ARM 架構的64位CPU。iOS系統由四層架構組成,分為核心操作系統層(the Core OS Layer)、核心服務層(the Core Services Layer)、媒體層(the Media Layer)及觸控應用層(the Cocoa Touch Layer),高層框架對底層框架進行抽象,使得高層框架更適合人們編碼和理解。

Swift是一種支持多編程范式和編譯式的編程語言,是用來撰寫macOS/OS X、iOS、watch OS和tvOS的語言之一[2]。2014年,其在蘋果開發者年會(WWDC)發布。設計Swift時,蘋果公司有意讓Swift與Objective-C共存在蘋果公司的作業系統上。Swift的特點是:快速、現代、安全、互動,而且明顯優于Objective-C語言。Swift以LLVM編譯,可以使用現有的Cocoa和Cocoa Touch框架。

1.2 SQLite

SQLite 是一款輕量級的遵守ACID的關系數據庫管理系統[3],它包含在一個相對較小的C程式庫中。與許多其它數據庫管理系統不同,SQLite不是一個客戶端/服務器結構的數據庫引擎,而是被集成在用戶程序中。SQLite引擎不是一個應用程序與之通信的獨立進程,SQLite庫鏈接到程序中,并成為它的一個組成部分,其也可被動態鏈接。應用程序經由編程語言內的直接API調用來使用SQLite的功能,這在減少數據庫訪問延遲上有積極作用,因為在一個單一進程中的函數調用比跨進程通信更有效率。

2 系統設計

該系統采用 C/S 模式架構,系統分為Linux 服務器端和iOS 移動客戶端兩個部分。服務器采用Linux系統,軟件選用Apache,數據庫使用MySQL,開發語言基于PHP,移動客戶端將基于iOS系統,本地數據庫使用SQLite,開發語言采用Swift,服務器與客戶端之間采用JSON格式的數據溝通。

2.1 系統架構

本應用系統的硬件架構為C/S架構,服務器為 Linux 系統,客戶端為iPhone等iOS設備。客戶端可以通過蜂窩網絡、WiFi 等途徑訪問服務器,客戶端與服務器之間的數據交換使用 JSON 協議格式。

本系統客戶端的軟件架構采用MVC模式,分為模型-視圖-控制器(Model-View-Controller)[4]。模型對象封裝了應用程序的數據,并定義操控和處理該數據的邏輯和運算。視圖對象是應用程序中用戶可以看見的對象,視圖對象的主要目的,就是顯示來自應用程序模型對象的數據,并使該數據可被編輯。在應用程序的一個或多個視圖對象和一個或多個模型對象之間,控制器對象充當媒介。控制器對象因此是同步管道程序,通過它,視圖對象了解模型對象的更改,反之亦然。

2.2 系統功能

本應用系統的目的是方便用戶管理和查看車輛信息,并且還可以通過本應用使用與車輛相關的服務并查看車輛相關的資訊。基于這些需求,客戶端包含以下功能:①預約加油:可以通過提前綁定的用戶信息或者臨時輸入用戶數據生成一份加油訂單,發送給加油站,此訂單會生成二維碼,加油站可以掃碼完成訂單;②實時地圖:顯示地圖和當前汽車的位置、路況信息和周圍的加油站、維修站等,所有的位置信息都是以手機作為載體來替代車輛位置;③車輛導航:可以輸入起點、終點以及途經點,自動計算選擇最優路線,實時向用戶導航,告訴用戶如何駕駛,并且需要顯示路況信息;④車輛維護:假定汽車屏幕可以顯示車輛當前信息的二維碼以供用戶掃碼,系統將讀取車輛當前狀況信息并保存到服務器,并且當車輛出現狀況時能夠及時推送到客戶端告知用戶;⑤音樂播放:進入應用可以播放音樂,用戶可以自行選擇音樂,音樂可以在后臺播放;⑥違章查詢:可以根據用戶保存的信息,自動查詢車輛違章情況,解析并顯示違章信息。

3 系統實現

本系統服務器端基于Linux系統,采用PHP語言開發;客戶端是基于iOS平臺,開發采用 MVC模式,服務器與客戶端之間的數據交流則通過JSON 實現。endprint

3.1 服務器端

服務器采用LAMP平臺,所有客戶端的 HTTP 請求將直接被Apache服務器處理[5],而相關的動態頁面將被Apache交由PHP 處理,其中涉及的數據庫請求也由PHP查詢后轉交于Apache發送給接受者。

整體而言,服務器負責數據的云端存儲、監控和處理。在用戶數據管理功能中,客戶端設置的數據將通過HTTP 請求發送至服務器,服務器通過處理和優化,判斷數據是否合理,最終將正確的數據存儲到服務器的MySQL 數據庫中。其中,對于數據的操作采用單例模式,由一個統一的接口對數據庫進行增刪改查等操作。

3.2 客戶端

客戶端的本質是對數據的處理和展示,為了防止用戶在車輛使用過程中過多地將注意力放到手機上,作了如下處理:在APP的UI設計上,客戶端采用簡潔的設計語言,盡量排除一切干擾,留下最重要的數據[6];在操作上,客戶端盡力優化操作步驟,減少不必要的操作,使用戶通過最少的步驟完成一次處理。

客戶端基于iOS 系統開發,使用Swift 3.0作為開發語言,由于Swift語言的嚴謹,使得客戶端更加穩定。本地數據庫使用SQLite系統,并通過 FMDB 框架對數據庫進行增刪改查等操作。在網絡數據的獲取上通過Alamfire構建底層對HTTP的POST/GET請求[7];獲取到數據后會將數據由 JSON數據轉化為Model,先存入數據庫,然后由MVC 中的Controller對Model進行解析使得View顯示數據。

3.3 數據庫

本系統的服務器端采用MySQL數據庫,而客戶端采用SQLite數據庫,但是為了簡化開發流程,兩者大部分的數據表都相同。這樣,在數據獲取上,客戶端獲取服務器的數據時,服務器只需要作簡單的處理并將Object轉化為JSON后就可以返回給客戶端;而客戶端獲取到了數據后也只需要將 JSON轉化為Model類型并進行本地存儲和使用即可。

在數據庫設計上,兩者共同的表大約有6張:①用戶表(用戶編號、用戶名、郵箱、密碼、頭像、DeviceTocken);②車輛表(車牌號、品牌、型號、省份編號、城市編號、發動機編號、車架號、加油類型、門、座、用戶編號);③訂單表(訂單號、姓名、時間、加油站編號、加油數量、加油單位、加油類型、是否新訂單、用戶編號);④加油站表(加油站編號、名稱、地點、地名、詳細地址、品牌名、加油站類型、折扣、經度、緯度、離當前距離);⑤油價表(加油站編號、油名、單價);⑥維護信息表(維護編號、里程數、油量、車燈狀態、發動機狀態、變速箱狀態、時間、車牌號)。由于這6張表承擔了系統中大部分的數據存儲,因而它們的簡化使得項目條理更加清晰,結構更加嚴謹。

3.4 數據交互

服務器使用PHP編寫,客戶端與服務器端的交互采用HTTP協議(POST、GET方式)。在數據交互過程中采用 UTF-8格式編碼數據,并使用JSON來組織數據傳輸,JSON易于傳送和編碼[8]。在用戶產生相應操作后,客戶端會觸發向服務器的請求,服務器接收到請求后,根據請求在數據庫中查找相應數據,再把數據組織成JSON格式通過HTTP返回給客戶端。客戶端接收到回復后,將JSON數據解析組建成Model示例并存儲一份到本地緩存數據庫,然后展示數據。

4 結語

本文在介紹系統開發環境及關鍵技術的基礎上,詳細探討了基于iOS平臺的車聯網移動應用系統實現過程,該系統能夠實現用戶管理、預約加油、實時地圖、車輛導航、車輛維護、音樂播放、違章查詢等功能,給用戶的車輛管理帶來了極大便利。經測試,該車輛網移動應用系統運行良好。但本系統也存在一些不足,如:系統安全性有待提高、容易被黑客利用和蓄意攻擊、在安全防護方面需深入研究、對于車輛的硬件管理過于薄弱,等等。這些都有待后續進一步研究解決。

參考文獻:

[1] 程剛,郭達.車聯網現狀與發展研究[J].移動通信,2011,35(17):23-26.

[2] 楊雯.Swift 語言研究[J].電子技術與軟件工程,2015(11):254-255.

[3] 倪天龍,張賢高,王培.數據庫SQLite在嵌入式系統中的應用[J].單片機與嵌入式系統應用,2005(10):35-37.

[4] 胡輝.IOS 環境下使用MVC模式進行APP開發的設計思路探索[J].數字技術與應用,2015(6):204-204.

[5] 桑一梅.基于LAMP的高性能 Web服務器的架構[J].電腦學習,2010(6):44-46.

[6] 岳琳.智能手機UI界面設計分析探討[J].計算機光盤軟件與應用,2014,17(6):83-84.

[7] 徐健,王濤.HTTP/1.1的分析[J].西南師范大學學報:自然科學版,2004,29(2):315-319.

[8] 高靜,段會川.JSON 數據傳輸效率研究[J].計算機工程與設計,2011,32(7):2267-2270.endprint

主站蜘蛛池模板: 四虎永久免费地址| 亚洲男人的天堂网| 国产理论精品| 国产成人综合亚洲欧美在| 国产sm重味一区二区三区| 亚洲人成人无码www| 在线视频精品一区| 国产一级毛片网站| 亚洲一级毛片免费观看| 亚洲精品欧美重口| 毛片大全免费观看| 成人毛片免费观看| 在线观看91香蕉国产免费| 2021国产精品自拍| 国产精品尤物铁牛tv| 免费国产不卡午夜福在线观看| 婷婷久久综合九色综合88| 亚洲αv毛片| 无码福利日韩神码福利片| 久久久久久午夜精品| 成人国产免费| 美女内射视频WWW网站午夜 | 亚洲手机在线| 国产十八禁在线观看免费| 国产成人无码综合亚洲日韩不卡| 国产亚洲精品自在线| 天天躁夜夜躁狠狠躁躁88| 久久成人国产精品免费软件| 2024av在线无码中文最新| 欧美啪啪网| 全部毛片免费看| 五月天久久综合国产一区二区| 经典三级久久| 性色生活片在线观看| 国产91丝袜| 欧美午夜一区| 欧美成人午夜影院| 亚洲精品久综合蜜| 视频一本大道香蕉久在线播放| 亚洲天堂区| 日韩成人在线一区二区| 啪啪永久免费av| 青青草原国产| 亚洲AⅤ永久无码精品毛片| 国产午夜人做人免费视频中文| 国产精彩视频在线观看| 97精品国产高清久久久久蜜芽| 国产精品页| 日韩一区精品视频一区二区| 亚洲精品手机在线| 亚洲人人视频| www.精品国产| 免费国产不卡午夜福在线观看| 国产特级毛片| 无码免费试看| 婷婷色一二三区波多野衣| www.91在线播放| 一本大道香蕉久中文在线播放| 色综合综合网| 免费看黄片一区二区三区| 国产福利影院在线观看| 国产无遮挡猛进猛出免费软件| 日韩高清欧美| 4虎影视国产在线观看精品| 波多野结衣无码AV在线| 日韩第一页在线| 中文字幕日韩丝袜一区| 国产福利一区二区在线观看| 91亚洲视频下载| 欧美性精品| 国产精品亚欧美一区二区| 伊人久久大香线蕉影院| 久久综合九九亚洲一区| 精品国产成人a在线观看| 日韩欧美在线观看| 永久免费精品视频| 全部免费特黄特色大片视频| 成人国产精品网站在线看| 无码内射中文字幕岛国片| 亚洲一级毛片免费观看| 国产精品久久久久婷婷五月| 亚洲一区网站|