李艷平 廖子炎
摘要:該軟件基于iOS平臺開發(fā),使用storyboard設計軟件的視圖,使用SQLite存儲數(shù)據(jù)。主要為在校大學生提供個人日程、課程表、備忘錄以及學校周邊信息檢索功能。通過實時全景地圖,可使學生快速定位學校周邊的餐飲、娛樂和交通等信息。
關鍵詞:iOS平臺;storyboard;SQLite;信息檢索;地圖
中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2018)03-0079-03
Abstract: The software Based on the iOS platform is developed to provide the retrieving of personal schedule, curriculum, memorandum and informations around the school for college students. The view of the software is designed by the storyboard,with the storing data by SQLite. Through maps, students can quickly retrieve the information of the food, entertainment and transportation around the university,which are needed by them.
Key words: iOS operating system; storyboard; SQLite; information retrieval; map
1 背景
隨著互聯(lián)網(wǎng)的發(fā)展,到2017 年6 月,全球互聯(lián)網(wǎng)用戶滲透率由2016 年底的47.1%快速升至48%,用戶數(shù)增至35.83億,占全球總人口的50.6%。其中,絕大多數(shù)網(wǎng)民是通過手機上網(wǎng)的。預計在2017年底全球移動用戶人數(shù)將達到30.7 億。截止2017 年三季度,中國移動互聯(lián)網(wǎng)用戶規(guī)模已高達12.3 億[1]。人們越來越喜歡在手機上搜索信息、聽音樂、看視頻、購物等。因此,基于手機的APP得到迅猛發(fā)展。目前,手機應用的主流操作系統(tǒng)是Android和iOS。
根據(jù)IDC公司的數(shù)據(jù)顯示,iOS 目前占據(jù)全球智能機系統(tǒng)市場份額的30%,企業(yè)市場占有率達70%,是全球第二大的智能操作系統(tǒng)[2]。基于iOS的iPhone手機因其操作系統(tǒng)的創(chuàng)新性、安全性和個性化等特點,在學生全體中也占據(jù)了極大部分的市場份額。
本文旨在設計一款基于iOS的校園助手APP,方面在校大學生通過手機隨時快速地進行個人日程查詢,課表查詢,備忘錄查詢,學校信息查詢以及學校周邊的餐飲、娛樂和交通信息的查詢等。
2 開發(fā)環(huán)境
2.1 iOS平臺
iOS平臺是一個完全封閉的系統(tǒng),不開源,而且采用沙盒機制來保護用戶數(shù)據(jù),實現(xiàn)不同程序之間的隔離,因此安全性較好。此外,iOS系統(tǒng)的軟件與硬件的整合度相當高,使其分化大大降低,這樣也增加了整個系統(tǒng)的穩(wěn)定性。因此本軟件選用iOS作為開發(fā)平臺。
iOS 的系統(tǒng)架構分為四個層次: 核心操作系統(tǒng)層( the Core OS layer) ,核心服務層( the Core Services layer) ,媒體層( the Media layer) ,可輕觸層( the Cocoa Touch layer) [3]。如圖1所示:
2.2 SQLite數(shù)據(jù)庫
SQLite是一款輕型的數(shù)據(jù)庫,它遵守ACID的關系型數(shù)據(jù)庫管理系統(tǒng),它的設計目標是嵌入式的,它最大特點是占用資源非常低[4],故本軟件選用SQLite作為數(shù)據(jù)庫,以減少對資源的消耗,加快軟件的運行速度。
2.3 objective-c語言
objective-c主要用于采用OpenStep標準的Mac OS X和GNUstep系統(tǒng)。在MAC OS X系統(tǒng)下,運用蘋果提供的SDK等開發(fā)工具包[5],可以方便的用來做iOS開發(fā)。本軟件采用objective-c語言在Xcode環(huán)境下開發(fā)。
3 系統(tǒng)分析與設計
3.1 系統(tǒng)界面設計
1) 個人信息檢索界面:該界面主要為學生提供方便、快速地查詢個人日程、課程表和備忘錄等信息。
2) 學校信息檢索界面:該界面主要為學生提供學校通知、開展的活動和講座等信息查詢。
3) 學校周邊信息檢索界面:該界面提供了360全景地圖,學生可以方便地在地圖上進行拖拽,從而查看學校周邊的餐飲、娛樂和交通等信息。
4) 評論界面:通過該界面學生可以對學校周邊的餐飲、娛樂等設施添加評論和評分。
系統(tǒng)用例圖如圖2所示:
3.2 系統(tǒng)功能結構
4 關鍵技術
4.1 Storyboard框架
基于iOS的移動APP的開發(fā),以往主要采用nib和xib框架,程序的代碼量相對較多,運行效率受到很大影響。為了解決這一問題,蘋果公司,研制出了新的解決方案,即storyboard框架。本軟件采用storyboard框架進行軟件視圖的設計。
storyboard是一個將多個應用整合在一起的框架,通過添加不同的viewcontroller來顯示不同的內容。與nib框架和xib框架在邏輯處理和視圖設計方面區(qū)別如下:
1) 邏輯處理
與NIB和XIB不同,storyboard可以直接在視圖界面處理各個控制器之間的推送關系。NIB與XIB都是interface builder的圖形界面設計文檔,但在使用的過程中,這些方式都是將所有的界面分開單個編輯,利用代碼進行關聯(lián)。在較大型或者圖形界面較多的系統(tǒng)中,這兩種實現(xiàn)方式就需要程序員耗費更多的精力關注于segue identifier,從而給圖形界面邏輯關系上的設計和實現(xiàn)造成了很大的負擔。而storyboard作為xcode的新技術,可以直接設計程序的跳轉流程,所以不會出現(xiàn)視圖界面跳轉混亂的問題。
2) 視圖設計
運用storyboard可以便捷的管理視圖界面,能夠在短時間內完成整體的頁面跳轉的流程設計,大大提高編程的工作效率。而且storyboard與nib和xib在本質上采用的是相同的編碼方法,但與代碼的關聯(lián)性更高,是編碼過程中減少很多不必要的操作,能大大減少代碼量,提高程序的運行效率。
4.2 控制器controller
在信息檢索系統(tǒng)的主視圖中,界面是通過不同的控制器controller來控制的,而控制器則由相應的控制類來實現(xiàn)。本系統(tǒng)中,主要應用 TabBarController、TableViewController 和UIViewController 三種控制器類。
1) TabBarController:通過tab橫向劃分不同的功能模塊供用戶選擇,更適用于分類顯示內容;
2) TableViewController:一個表格視圖控制器,用于以表格的形式顯示內容;
3) UIViewController:是storyboard中的基礎視圖控制器,在其中可以很方便地添加各種控件完成顯示或者輸入的功能。
4.3 Mapview控件
360全景地圖則由MapViewController類中的mapView控件實現(xiàn)。
mapview是Xcode自帶的控件,用于地圖的顯示和相關操作。在該類中,利用
[self.mapView setRegion:MKCoordinateRegionMakeWithDistance(coordinate, 100, 900) animated:YES];確定地圖顯示的范圍。再利用
CLLocationCoordinate2D coordinate;
coordinate.latitude = 39.990000;
coordinate.longitude = 116.381500;
確定地圖中心點位置。
其中coordinate.latitude和coordinate.longitude用于確定地圖中心點的經(jīng)度和緯度。
5 軟件實現(xiàn)效果
5.1 登錄頁面
5.2 個人日程頁面
5.3 備忘錄頁面
5.4 課程表頁面
5.5 學校及學校周邊信息顯示頁面
5.6 評論頁面
6 結束語
基于iOS平臺開發(fā)的校園助手APP,使用Xcode最新的storyboard框架和輕量級的數(shù)據(jù)庫SQLite進行設計和實現(xiàn),經(jīng)測試軟件功能運行正常,用戶體驗效果較好?;旧蠞M足了在校大學生對于學校和學校周邊信息查詢的需求。
參考文獻:
[1] 中國信通院.2017-2018年互聯(lián)網(wǎng)發(fā)展趨勢報告[R/OL]. http://www.199it.com/archives/663760.html.
[2] Wood Timothy. iOS Wow Factor Apps and UX Design Techniques for iPhone and iPad[J]. Journal of Womens Health,2011.
[3] 邱燦青.基于IOS的智慧生活信息服務平臺設計與實現(xiàn)[J].電腦知識與技術,2017, 13(29):44-48.
[4] 戴澤淼,黃存東,袁明磊,等.基于Android平臺的智能家居終端監(jiān)控系統(tǒng)[J].吉林大學學報:信息科學版,2016,34(4):574-579.
[5] Kazuki Sakamoto, Tomohiko Furumoto. Objective-C高級編程:iOS與OS X多線程和內存管理[M]. 北京: 人民郵電出版社,2013:1-189.