?

基于iOS環境下的實驗數據處理系統的設計與實現

2016-11-22 01:57徐文螢
電子設計工程 2016年15期
關鍵詞:文本框視圖數據處理

吳 汛,孫 立,劉 祥,徐文螢

(南京航空航天大學 理學院,江蘇 南京 211100)

基于iOS環境下的實驗數據處理系統的設計與實現

吳 汛,孫 立,劉 祥,徐文螢

(南京航空航天大學 理學院,江蘇 南京 211100)

基于以智能手機為載體的移動互聯網迅速發展的現狀與物理實驗數據處理對復雜性與時效性的要求,采用iOS系統專用編程工具Xcode所提供的 Objective-C編程環境,開發了一套實驗數據計算分析的處理平臺。其適應于大學物理實驗的數據處理要求,可運行于iOS6.0以上的各型號iPhone與iPad上。通過在蘋果應用商店中的正式發布后,其在大學物理實驗教學中的使用中,實現了對實驗數據便捷、快速的處理。據統計,該系統的使用節約了學生65.7%的數據處理時間,同時減少了35.9%的機房維護成本,真正實現了實驗數據處理的信息化。

iOS;數據處理;大學物理實驗;多平臺

應用現代軟件科學技術改進傳統實驗教學,將互聯網思維引入大學實驗課堂,體現出大學實驗課程創新發展的亮點之一。研制出操作簡潔方便的實驗數據處理工作平臺,應用于復雜繁瑣的實驗數據處理中,同時能運行于各種移動設備與平臺之上;并且在數據處理上具備自身特點,以適應不同實驗參數的測試需求。文中以大學物理實驗的邁克爾遜、牛頓環與密立根油滴等經典實驗的數據處理軟件為實例來展開,具體描述整個系統的設計與開發中技術背景和研制方法。在全國高校大學物理實驗教學領域中首開先河,具有示范性的創新意義。

基于iPhone/iPad的應用開發已成為當今移動智能設備兩大主流應用開發之一,使用人數眾多;又由于支持iPhone/ iPad的操作系統iOS是當今移動智能設備運行最穩定的操作系統[1],故選擇以iOS作為目標開發平臺。

iOS編程工具Xcode作為系統開發的環境,具有不可替代的優勢。Objective-C是iPhone/iPad框架下面向對象的原生態語言,它是標準C語言的一個超集,從而使得現存的C語言程序能夠輕松的移植到iPhone/iPad軟件框架下,并保留原有特性。同時Objective-C語法簡潔,便于學習,與其他的面向對象語言(基于C語言)相比,能更好的實現對動態機制支持。很多與運行環境有關的對象本身的數據信息在編譯時被保留,因此Objective-C程序對不同運行環境的兼容性也十分出眾[2]。

在軟件功能與結構的設計上,定位為實用性應用軟件[3],能夠讓用戶快速地執行已定義好的任務,具有最小化安裝,流程與布局簡單,用戶界面元素標準等特點。

1 關于iOS平臺

1.1 iOS簡介

蘋果公司最早于2007年1月9日的Macworld大會上公布了這個系統,最初是為使用iPhone使用而設計,后來陸續搭載于iPad、iPod touch、Apple TV等蘋果產品。幾年之內,就因系統本身優異的操作性與蘋果產品硬件的獨特設計而擁有全球市場第二的占有率。

1.2 iOS的系統結構與技術優勢

iOS的系統結構分為以下4個層次:核心操作系統(the Core OS layer)、核心服務層(the CoreServices layer)、媒體層(the Media layer)、Cocoa觸摸框架層(the Cocoa Touch layer)。iOS系統界面的實現可以看作以上多個層的集合,底層為所有應用程序提供基礎服務,高層則可以實現更為多樣化的功能[4]。

總的來說,iOS相對市場上的其他主流操作系統,有以下的技術優勢:

1)與硬件設計的整合度高。搭載iOS的終端產品都是蘋果公司的產品,設備硬件條件相對固定,為軟件提供了穩定的運行環境,且進行了軟硬件結合的設計整合優化,充分利用了系統的硬件資源。

2)舒適的用戶體驗。蘋果公司在界面設計上投入了很多精力,iOS系統從外觀到易用性都經過精心設計,從而在用戶使用中獲得了廣泛好評。蘋果公司在信息獲取與系統操作性方面擁有多項專利,符合人們直觀反應的滑動退出等手勢操作,大大方便了用戶的日常使用。

3)較高的安全性。iOS系統是不開源,完全封閉的系統,其在應用程序來源、數據加密和程序隔離等多個方面設置了一系列安全機制[5],普通用戶只能通過蘋果商店(App Store)獲得應用程序,避免了在程序下載安裝過程中可能產生的安全風險。

4)較高的系統資源利用率。iOS系統憑借良好的軟件監控,對系統資源極度節約。這也正是iOS系統設備能在硬件條件不及某些Android系統設備的情況下,反而擁有更高運行流暢度的原因。iOS系統的UI(User Interface)渲染采用實時優先級,即正在屏幕上顯示的程序具有最高的優先級,其他的進程都被阻塞,從而保證了用戶正在使用進程的運行流暢。而在Android系統中,系統后臺的程序始終在繼續運行之中,長期占用內存等系統資源。相比之下,iOS系統運行更為流暢,也更加省電。

2 系統軟件總架構

在iOS系統下,軟件主要通過包含了各種可操作組件的視圖控制器ViewController與用戶實現交互。軟件主體由7個ViewController類的子類的對象與傳值類pass等其他必要組件所構成。

圖1 程序結構示意圖

如圖1所示,各主要組件名稱與功能分別為:

視圖控制器間通過用戶操作相互跳轉,每個視圖控制器下有若干個視圖(View),可以實現多組數據的輸入與處理。

3 界面設計與主要開發方法

3.1 啟動界面屏幕自適應

在iOS應用中,圖像視圖(UIImageView)控件用于在屏幕中顯示一個圖像??梢詫D像視圖加入到應用程序中,并用于向用戶呈現信息[6]。程序需要運行在各種屏幕大小的iOS設備上,需要針對不同大小的屏幕對啟動界面進行壓縮或拉伸。

故采用[UIScreen mainScreen].application-Frame函數獲取主屏幕大小,然后將主屏幕大小賦值給控制圖片大小的變量,在ViewController1.c中添加相應代碼如下:

3.2 iPad/iPhone分類適配

由于iPad與iPhone屏幕大小相差懸殊,在iPad上的數據輸入與結果顯示界面若沿用iPhone上的設計會造成諸多使用上的不便。

因此,需要重新設計一套iPad端的界面,并在啟動畫面結束后決定顯示的視圖類型。為實現此功能,在ViewController1中添加判斷語句:

以此實現對iPad的支持。

3.3 輸入數據合法性檢查

使用者在實驗輸入數據時,可能會出現種種錯誤,從而可能導致錯誤的計算結果。故必須在對數據處理前對數據合法性進行檢查。作為實驗的合法數據需要滿足:1)有整數與小數部分。2)除非整數部分為0,否則整數部分首位不能為0。3)為示例的3個實驗中,數據都不為負數。用于實現功能的具體代碼較為復雜,此處不再贅述。

3.4 文本框輸入時防遮擋

在向文本框內輸入文本時會彈出系統鍵盤,系統鍵盤有一定高度,有時會遮擋正在輸入的文本框,影響數據的輸入。故需在鍵盤遮擋文本框時將正在輸入的文本框向屏幕上方移動適當距離。同時,不同型號的iOS設備擁有不同的高度,故上移距離需適應于屏幕實際高度。具體實現方法如下:

3.5 同視圖控制器下的多視圖切換

在密立根油滴實驗中,由于有多組數據需要分別計算與顯示,故采用在同一視圖控制器下多個子視圖[7]的方式進行數據的輸入與結果的顯示。

設置視圖標志變量,以標志數據輸入/結果顯示頁面。以第二組數據為例,數據輸入界面如圖2所示:

點擊計算后第二組數據的視圖標志變量被置為1,同時顯示計算結果。當子視圖被切換至其他數據組(如第一組)后再切換回第二組時,會檢測第二組數據的視圖標志變量,若為1則顯示對應的計算結果界面,如圖3所示:

而在此界面點擊“返回”則會將視圖標志變量置0,展示如圖5的數據輸入界面。結合實驗特點,在三組數據都分組計算完成后,點擊“結論”進入實驗總結果顯示界面。

3.6 利用輸出口(Outlet)控制對象

輸出口(Outlet)描述了兩個對象之間的連接。當你希望一個對象(例如視圖控制器)和它包含的對象(例如文本欄)進行通訊時,須將被包含的對象指定為Outlet。應用程序運行時,會恢復在Xcode中創建的Outlet,從而使對象在運行時可以互相通訊。

在指定了Outlet變量并與對象(如文本框等)連接后,即可通過對Outlet的操作實現對被連接對象屬性的讀取與修改,這也是本平臺中程序獲取獲取文本框中數據與在結果界面顯示結果的主要途徑。同時,由于能通過其修改對象的各種屬性,故可通過此方法實現更為多樣化的功能。

以下以數據出現錯誤后的密立根實驗的結果顯示界面(圖4)為例進行說明。點擊“計算”后,其運行結果如圖5所示。當計算時發現對應的數據出現錯誤時,修改結果界面“電壓U”標簽的對應文本為相應錯誤種類的提示文本,顏色為紅色,同組其他標簽的隱藏(Hidden)屬性設置為Yes,即隱藏其他標簽,分組展示警告信息,以提醒學生具體錯誤原因。結果正確時則恢復默認設置,正常顯示數據。

圖2 密立根油滴實驗數據輸入界面

圖3 密立根油滴實驗結果分組顯示界面

4 結束語

1)軟件投入到實驗教學中后,得到了廣大師生的一致好評。方便了學生對于繁瑣數據的處理,學生在實驗方面積極性與活躍性得到了一定程度的提高。同時也使得教師在教學方面得到了相當大的幫助,提升了教學質量。2)在本軟件通用于各種屏幕大小的iOS設備上(iOS6.0及以上),為廣大師生的使用提供了便利。3)在軟件核心算法方面,使用了最小二乘法[8]等較為可靠的方法處理實驗數據,提升了實驗結論的可信度。

圖4 密立根油滴實驗數據輸入界面(輸入錯誤數據)

圖5 密立根油滴實驗結果分組顯示界面(有錯誤提示)

[1]劉一道.iOS 7:iPhone/iPad應用開發技術詳解[M].北京:機械工業出版社,2013.

[2]Stephen G.Kochan.Objective-C程序設計 [M].6版.北京:電子工業出版社,2012.

[3][美]Suzanne Ginsburg.iPhone應用用戶體驗設計實戰與實例[M].師蓉,譯.北京:機械工業出版社,2011.

[4]尹福斌,祁春利,李曉麗.iOS技術在教育行業中的應用淺析[J].工業和信息化教育,2013(4):70-73.

[5]陳佳霖.iOS平臺應用程序安全性研究[D].上海:上海交通大學信息與安全工程學院,2014.

[6]朱元波.iOS8案例開發大全[M].北京:人民郵電出版社,2015.

[7][美]Christian Keur.iOS編程[M].4版.丁道駿,譯.湖北:華中科技大學出版社,2015.

[8]劉振學.實驗設計與數據處理[M].2版.北京:化學工業出版社,2015.

【相關參考文獻鏈接】

呂存璞,葉明,姚志遠.基于NiosⅡ的超聲電機驅動控制電路[J].2014,22(2):88-90,94.

王彤,馬建倉,秦濤,等.基于DSP/BIOS多線程的小型組合導航系統設計[J].2014,22(13):81-83.

宋偉,張順盛,李正軍,趙占鋒.基于NiosⅡ的模塊化EI源控制系統[J].2015,23(4):8-10.

朱思鳴.基于IOS系統的影視制作學習系統頁面開發[J].2015,23(18):74-76.

王瑜,閆沫.基于LabWindows CVI的扭矩扳手數據處理系統的設計與實現[J].2014,22(1):51-53.

段宗濤,程豪,康軍.基于數據融合的多傳感器實時數據處理系統[J].2014,22(7):43-46.

魏永星,于金花,常哲,等.海洋環境噪聲數據處理及時空特性研究[J].2014,22(14):28-30.

馬苗,朱巖.基于CCSDS標準的衛星數據處理軟件設計[J].2015,23(1):16-20.

王楠,盧逸斌,王衛楠,等.基于XTCE標準的通用型航天器系統數據處理方法研究[J].2015,23(9):119-122.

呂睿.計算機數據處理的運算速度影響因素探討[J].2015,23(12):49-51.

徐文螢,吳汛,孫立.基于Qt環境下物理實驗數據處理系統的設計與實現[J].2015,23(22):111-113.

傅琳潔,林凌,李剛.光譜儀在無創血液成分研究中的數據處理[J].2016,24(1):1-4.

沈琦,陳博.基于大數據處理的ETL框架的研究與設計[J].2016,24(2):25-27.

安恒煊,張學習,李超,等.一種基于AdaBoost人臉檢測算法在Android平臺的實現[J].2014,22(8):126-130.

高丙坤,趙勇.基于Android系統的機頂盒及其搖控器的設計與實現[J].2014,22(15):153-154.

林向南,何嶺松.基于Android的智能輪椅設計與實現[J].2014,22(19):14-17.

李寧寧,王遠飛,張冉.基于Android的校園應用軟件開發與實現[J].2014,22(20):111-114.

弋改珍,江蕭,袁嵐清.基于Android平臺課堂點名系統的設計與實現[J].2014,22(22):1-3.

李琪,秦會斌,楊永舒,等.基于Android平臺的智能家居系統設計[J].2014,22(24):52-54.

Physical data processing system design and implementation based on iOS environment

WU Xun,SUN Li,LIU Xiang,XU Wen-ying
(College of Science,Nanjing University of Aeronautics and Astronautics,Nanjing 211100,China)

Due to the rapidly development of Mobile Internet with smartphones as carriers and the complexity and effectiveness of data processing in physical experiments,a processing platform for the calculation and analysis of a series of experimental data has been developed under the Objective-C programming environment which is provided by Xcode,an iOS oriented programming tools.The platform meets the data processing requirements in college physical experiments,and can run on iPhone and iPad (iOS6.0 above).After has been released officially in App Store for download,the platform makes the data being processed conveniently and effectively by its using in the college physical experiments teaching.It is estimated that the stint of data processing has been shortened by 65.7%,and the maintenance cost for computer labs cut by 35.9%,which have helped achieve informatization in processing experimental data in real terms.

iOS;data processing;experiment of college physics;Multi-platform

TN99

A

1674-6236(2016)15-0067-04

2015-07-20 稿件編號:201507141

吳 汛(1994—),男,浙江舟山人。研究方向:應用物理。

猜你喜歡
文本框視圖數據處理
認知診斷缺失數據處理方法的比較:零替換、多重插補與極大似然估計法*
ILWT-EEMD數據處理的ELM滾動軸承故障診斷
巧用文本框實現PPT多圖片排版
PPT文本框的另類應用
5.3 視圖與投影
視圖
Y—20重型運輸機多視圖
SA2型76毫米車載高炮多視圖
基于希爾伯特- 黃變換的去噪法在外測數據處理中的應用
文本框酷變3D效果
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合