基于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)控件用于在屏幕中显示一个图像。可以将图像视图加入到应用程序中,并用于向用户呈现信息[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效果