版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGE基于移动平台的视觉刺激系统的设计与实现周婧玄中图分类号:TP319UDC分类号:004.42基于移动平台的视觉刺激系统的设计与实现 作者姓名 周婧玄 学院名称 软件学院 指导教师 王崇文副教授 答辩委员会主席 陆耀教授 申请学位级别 工程硕士 学科专业 软件工程 学位授予单位 北京理工大学 论文答辩日期 2013年6月DesignandImplementationofVisualStimulationSystemBasedonMobilePlatform CandidateName:JingxuanZhouSchoolorDepartment: SchoolofSoftwareFacultyMentor:A.P.ChongwenWangChair,ThesisCommittee:Prof.YaoLuDegreeApplied:MasterofEngineeringMajor:SoftwareEngineeringDegreeby:BeijingInstituteofTechnologyTheDateofDefence:June,2013基于移动平台的视觉刺激系统的设计与实现基于移动平台的视觉刺激系统的设计与实现北京理工大学研究成果声明本人郑重声明:所提交的学位论文是我本人在指导教师的指导下进行的研究工作获得的研究成果。尽我所知,文中除特别标注和致谢的地方外,学位论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得北京理工大学或其它教育机构的学位或证书所使用过的材料。与我一同工作的合作者对此研究工作所做的任何贡献均已在学位论文中作了明确的说明并表示了谢意。特此申明。签名:日期:关于学位论文使用权的说明本人完全了解北京理工大学有关保管、使用学位论文的规定,其中包括:①学校有权保管、并向有关部门送交学位论文的原件与复印件;②学校可以采用影印、缩印或其它复制手段复制并保存学位论文;③学校可允许学位论文被查阅或借阅;④学校可以学术交流为目的,复制赠送和交换学位论文;⑤学校可以公布学位论文的全部或部分内容(保密学位论文在解密后遵守此规定)。签名:日期:导师签名:日期:北京理工大学工程硕士学位论文PAGE62摘要视觉训练是一种提高视觉功能和视觉表现的个性化治疗,有助于视觉的更好发育。视觉刺激系统是将传统的视觉训练与多媒体技术相结合,引入动画、音频、视频等动态媒体,使用户可以交替或同时利用多个感觉通道来感知外界信息,提高了用户接收信息的效率。随着手机、平板电脑已经成为人们日常生活的必需品,Android操作系统也成为了目前最受欢迎的移动操作平台之一。基于Android平台下的软件的操作更加简便、界面更加丰富,用户可以更快捷、方便地学习和娱乐。目前现有的视觉刺激系统只适用于台式计算机或笔记本,交互操作主要是利用鼠标和键盘,这对于儿童来说,操作不方便,难于记忆。本课题的研究目的是设计与实现一款基于Android移动平台的针对学龄儿童的视觉刺激系统。系统主要功能包括三种训练方式:描点、连线、画图;三种训练级别的选择、七种动态背景方式的选择、背景颜色的变换、背景空间频率的变换、移动速度的变换,以及历史成绩查询、背景音效、成绩计算等辅助功能。本文首先介绍了刺激系统和Android技术的研究背景,然后深入研究了Android操作系统、Android平台下的图形绘制和显示等相关内容。对比目前主流的视觉刺激系统的功能进行了需求分析,之后提出了基于MVC的总体架构设计,对每个功能模块进行了详细设计,并对关键功能的实现进行了详细的描述,之后对系统的运行进行了截图说明。论文最后对课题的研究成果与未来展望进行了全面的总结。关键词:视觉刺激;Android;移动平台;MVC
AbstractVisualtrainingisapersonalizedtreatmenttoimprovevisualfunctionandvisualperformance,andcontributetothebetterdevelopmentofthevisual.Visualstimulationsystemisacombinationofthetraditionalvisualtrainingandmultimediatechnology,theintroductionofdynamicmediasuchasanimation,audio,video,sothatuserscanalternatelyorsimultaneouslyusemultiplesensorymodalitiestoperceiveexternalinformation,andimprovetheefficiencyofinformationuseraccepts.Withmobilephones,tabletcomputershavebecomenecessitiesofdailylife,theAndroidoperatingsystemhasalsobecomeoneofthemostpopularmobileoperatingplatform.SoftwaresbasedontheAndroidplatformiseasiertooperate,anditsinterfaceisricher.Userscanmorequicklytolearnandentertainment.Theexistingvisualstimulationsystemonlyappliestodesktopcomputerorlaptop,interactivemodemainlyusethemouseandkeyboard.Itisinconvenient,anddifficulttorememberforchildren.ThepurposeoftheresearchprojectsisdesignningandimplementingavisualstimulationsystembasedontheAndroidmobileplatformforschool-agechildren.Themainfeaturesofthesystemincludeachoiceofthreetrainingmethods,suchas:tracingpoint,connection,drawing;choiceofthreelevelsoftraining;sevendynamicbackgroundmodeselection,thetransformationofthebackgroundcolor,background,spatialfrequencytransform,themovingspeedofthetransformation,aswellasbackgroundsound,performancecalculationandotherauxiliaryfunctions.FirstthispaperintroducestheresearchbackgroundofthestimulationsystemandAndroidtechnology,andin-depthstudyoftheAndroidoperatingsystem,Androidplatformgraphicsrendering.Comparethesystemrequirementsanalysisofcurrentmainstreamvisualstimulation.AfterthepaperpresentstheoverallarchitecturebasedonMVC,foreachfunctionmoduleisdesignedindetail.Afterdescribingindetailtheimplementationofkeyfunctions,theoperationofthesystemdescribedforascreenshot.Finally,papersummarizesresultsofresearchtopicsandfutureprospects.KeyWords:VisualStimulation;Android;MobilePlatform;MVC
目录TOC\o"2-3"\h\z\u\t"标题1,1"第1章绪论 11.1课题的研究背景 11.2国内外研究现状 21.2.1视觉刺激系统 21.2.2移动平台技术 61.3课题研究的内容 9第2章主要技术研究 102.1Android系统简介 102.2Android编程技术 122.3本章小结 13第3章视觉刺激系统需求分析 143.1功能需求 143.1.1主界面功能需求 153.1.2各功能详细需求 163.2性能需求 193.3运行环境需求 203.4本章小结 21第4章视觉刺激系统的设计 224.1系统架构设计 224.2主界面UI设计 244.2.1功能描述 244.2.2技术关键 254.3设置界面的设计 274.3.1功能描述 274.3.2技术关键 274.4业务逻辑的设计 294.4.1参数结构设计 304.4.2资源存储设计 314.4.3图像绘制设计 324.4.4触击事件设计 364.4.5逻辑判断设计 364.4.6评分机制设计 394.5数据库的设计 394.5.1功能描述 394.5.2技术关键 394.6本章小结 41第5章视觉刺激系统的实现 425.1系统视图类图 425.2背景方式的实现 425.3训练方式的实现 495.3.1描点方式的实现 505.3.2连线方式的实现 505.3.3画图方式的实现 515.3.4标准图的实现 525.4本章小结 52第6章视觉刺激系统的运行 536.1界面操作 536.2训练方式 536.3背景方式 55结论 58参考文献 59致谢 61
图索引TOC\h\z\c"图"图1.1平板电脑 7图3.1系统界面参考图 14图3.2程序流程图 15图3.3主界面功能 16图3.4设置界面功能 17图4.1系统内部层次图 22图4.2系统控制层 24图4.3Android中UI元素类的扩展结构 25图4.4系统视图 26图4.5AdapterView层次结构 28图4.6ArrayAdapter适配器设计 29图4.7业务逻辑流程 30图4.8描点方式原理图 37图4.9连线方式逻辑判断 38图4.10连线方式原理图 38图4.11数据库创建维护帮助类 40图4.12数据库操作类 40图4.13MainActivity和DBProvider之间的工作流程图 41图5.1系统类图 42图5.2背景方式类图 43图5.3背景方式一实现效果 44图5.4背景方式二实现效果 45图5.5背景方式原理图 45图5.6背景方式三实现效果 46图5.7背景方式四实现效果 46图5.8三角扫描图形绘制原理 47图5.9背景方式五实现效果 47图5.10背景方式六实现效果 48图5.11背景方式七实现效果 49图5.12训练方式类图 49图6.1主界面与设置界面 53图6.2描点方式与描点方式运行界面 54图6.3连线方式与连线方式运行界面 54图6.4画图方式与画图方式运行界面 55图6.5背景方式一与背景方式二界面 55图6.6背景方式三与背景方式四界面 56图6.7背景方式五与背景方式六界面 56图6.8背景方式七界面 57绪论课题的研究背景随着科学的发展,越来越多的视觉资源也随之出现,人们对视觉质量的要求也显得日益迫切。但是很多人群尤其是儿童因为弱视等视觉功能障碍,表现为视觉质量下降、学习困难、很难从事某种工作等方面。如果能找到治疗视觉康复治疗的新方法来改善这些异常的视觉功能,将会有利于积极改善视觉质量[1]。要改善视觉功能,需要通过一定的视觉训练。而视觉刺激是视觉训练的关键部分,视觉刺激通硬件或软件两种方式在计算机显示器或电视机上进行实现。用硬件方式实现视觉刺激产生视觉刺激信号的话,就要选用单片机这种方式了。这种方式的优点是性能比较稳定,缺点是如果要修改界面或功能时,就要改变设置,重新设计电路,很不方便。考虑到这一缺点,人们提出由软件的方法产生视觉刺激信号,这种方式就是软件编程的方式[2]。视觉刺激多媒体技术应用先进的电脑多媒体技术将各种传统的弱视治疗方法提升到一个新的平台,应用先进的多媒体高科技技术手段,科学地运用神经系统早期干预理论,通过各种刺激模式,激活视觉通道[3]。考虑到儿童的特点,视觉训练加入了明快的音乐,生动的界面设计,寓教于乐,使儿童在欢愉的气氛中得到视觉、听觉、手、眼等的刺激,交互性的界面使得儿童更加集中注意力,并且操作简单,儿童也可操作,训练中可随儿童喜欢画面随时更换使枯燥的训练变生动起来,在很大程度上解决了家长陪练的负担,为弱视儿童提供了一个理想的治疗方法,从而提高疗效。目前手机、平板电脑已经成为人们日常生活的必需品。应用于这些平台上的儿童教育、娱乐、益智类软件也应用而生。如果将计算机上的应用移植到移动平台下,让用户不再受位置、条件等约束,不需要使用电脑就可以使用训练系统无疑是一种创新。国内外研究现状视觉刺激系统自20世纪60年代以来,美、英、澳大利亚等国家兴起了成人、青少年和儿童视觉健康和眼保健,并且形成了“贝茨疗法”等得到广泛传播的眼保健方面的理论和实践方法体系,在澳大利亚还成立了关于“自然视觉改善法视力训练营”的商业化连锁经营体系。但是在国外采用多媒体手段的视觉训练的产品目前并不多见,均处于刚刚起步的阶段。我国是近视高发地区,近视发生率为全世界第二位,近视人口为世界第一位。国内现有从事眼保健与视觉质量改善的企业有数十家,但绝大多数企业的眼保健产品和手段科技含量和技术水准仍停留在较低的水平。由于行业不成熟,技术门槛过低,功效不稳定等等因素,导致了社会的质疑和反感,甚至影响了行业的发展。眼保健技术是眼科学的一个分支,眼科界近年来推崇近视弱视防治环境化、趣味化、玩具化、娱乐化、游艺化,这将使视觉健康训练多媒体系统拥有了广阔的开发空间和升级空间。从推广趋势来看,我国的眼保健产业的链条的发展一定将会被青少年儿童近视的发生现状所带动,为眼保健产业创造相当大的市场机会。因此视觉健康训练多媒体系统会有很广阔的推广应用前景。目前主流视觉刺激系统有以下几种:增视能视觉刺激系统此视觉刺激训练通过使用例如:条栅、正弦波、棋盘格、螺旋线等各种刺激模式,可以达到改善视网膜细胞的感光能力的目的,最大功效地刺激视网膜细胞。除此之外,增视能视觉训练为了使弱视眼患者的视力在短期内就有显著的提高改善,结合了最新科研成果,为条栅等各种不同刺激模式增加了不同的色彩对比度的选择、不同的空间频率对比度的选择。CAM视觉刺激:这种刺激法的刺激源是使用不同频率的黑白条栅或黄白条栅和绿白条栅,在不同方位上的不同空间频率和不同对比度的光栅使弱视眼获得刺激,使得中枢细胞增强发育,进而提高了视力。后像训练:为了使视力黄斑区得到功能上的亢进,通过强光来抑制视力的非敏感区,这样一来有助于提高视力和纠正偏心注视在后像形成期间的训练。红光闪烁刺激:波长是640nm的红光是黄斑区锥细胞最为敏感的波长,因此当弱视眼收到了这样红光波长的刺激,会有使视力得到提高。综合CAM视觉刺激、后像训练和红光闪烁刺激这几种方法,增视能训练系统运用认知心理学理论及方法、神经早期干预理论及方法和神经生理学的方法,对大脑神经系统进行刺激训练,在二次投射的条件下对手、眼和大脑的协调训练,通过结合电脑技术,研制开发出的多媒体智能化训练系统,极大地激发儿童的兴趣。除此之外,立体视训练和独特的双眼融合,不仅能巩固弱视治疗的效果,还可以缩短疗程提高疗效。通过进行合理的训练使得不同类型的弱视患者均提高了他们得的视觉能力[4]。视琦多媒体治疗系统视琦多媒体治疗系统借鉴了当前美国、法国、英国、德国等国家流行的儿童视觉认知法,汇聚国内外教育学、视觉科学、眼科学、儿童认知学、计算机科学、视光学、多媒体科学等多领域知名专家精心设计。运用当代最新计算机虚拟视线技术模拟多种不同反差和空间频率的刺激模式,并利用多媒体视觉优势使这种治疗方法更加趣味化,符合儿童心理特征,将过去枯燥无味的弱视治疗比恩成了集治疗、娱乐、智力开发,于一体的趣味化视觉训练治疗系统。通过多种刺激模式:条栅、正弦波、裂隙光、棋盘格、螺旋线,甚至一些艺术作品的画面等波形及光谱以及一些特殊的视觉信号。刺激视觉通道,增强视网膜细胞对光的敏感性和反应能力;辅以手、眼、躯体协调运动,能加速视觉神经冲动的传导速度,从而显著提高弱视眼视力,促进大脑神经的发育。从上世纪60年代开始采用CAM、遮盖、红光刺激、后像等治疗方式来治疗弱视,一直沿用至今,这些方法针对弱视治疗固然有效,但普遍存在枯燥、趣味性不强、疗程长等缺陷,患儿无法持久、主动参与到弱视治疗中,致使疗效不佳,最终导致我国的弱视人群居高不下并有逐年上升的趋势。视觉眼多维训练系统视觉眼多维训练系统的主要功能:1、提高弱视患者的视力与视觉功能;2、进行轻度斜视的矫治;3、进行斜视手术后视觉功能的恢复;4、增强和完善视功能障碍患者的视觉功能;5、缓解视觉疲劳;6、提升视觉技巧。视觉眼多维训练系统的主要特点:1、包含数百种不同空间频率、不同时间频率、不同色度变换的梯度视觉刺激模式,可以满足各种程度患者的个性化治疗需求;2、具有近百种不同眼球运动机制、不同视觉精度要求、不同操作难度级别的趣味性人机互动模式,能满足不同年龄患者的认知发展需要和不同程度患者的针对性治疗需求;3、拥有个性化的诊疗平台,患者和医生可以随时查阅病历,医生可以及时根据患者的治疗进度调整训练方案;4、设置有智能化的监管系统,医务人员可以透过系统监督指导所有患者的治疗,并对患者的疑问及时作出反应。这些主流视觉刺激系统功效主要有以下几点:注意力和反应速度训练功能:该系统主要用于对儿童的两种功能的协调训练,一是儿童的注意力,注意力是儿童进行各种心理活动的必要条件,注意力的质量和持续时间直接影响儿童学习活动的质量和时间有的儿童学习速度缓慢,作业完成缓慢,或存在疏忽、遗忘、毛糙等特点,原因是注意力的质量不高。二是儿童的反应速度。该训练主要是针对儿童的这两个特征而设计的。这些方面存在问题,儿童的学习会出现问题,这样的孩子经常遗忘事情,经常忘记做作业,做事的时候经常出现差错。上课的时候跑神或做小动作。通过每天10分钟的训练,这些情况会有特别明显的改善。适宜范围:多动儿童,注意力不集中儿童,一般儿童的注意力强化训练,一般儿童的抑制能力训练。黄斑色觉刺激训练功能:该训练系统是精细视觉刺激辨别训练,其功能主要有下面几个:1、提高视网膜核心部位黄斑的兴奋水平和色彩分析的敏感性;2、提高儿童分别些微刺激的能力;3、提高儿童使用视觉信息进行复杂思维的能力。通过强化训练,这些方面的功能都会突飞猛进。适宜范围:视觉辨别能力提高,视力提高,视觉性思维能力训练动作控制训练功能:视觉结构临摹训练是传统的动作控制训练方式,其基本原理是训练儿童的空间定位以及与此有关的空间配合能力。既要训练儿童的空间辨别能力,又要训练儿童的空间概括和动作协调能力,是一个具有实际意义的综合注意训练项目。其突出功能是提高儿童的大脑抑制功能,提高儿童动作控制的能力,提高儿童的空间定向和思维能力。适宜范围:多动儿童,注意力不集中儿童,儿童的大脑抑制功能强化训练。平面心理旋转功能训练功能:这是一种特殊的心理旋转训练,训练儿童在心理上对物体进行空间操作的能力。研究表明,心理旋转的能力是儿童空间或形象思维的核心。通过特别设计,该训练可以对儿童的这种心理旋转能力进行专门训练,其训练效果特比突出。同时这样的训练具有明显的挑战性,儿童会乐此不疲。适宜范围:儿童心理旋转功能特异训练。观察力与平面心理旋转训练功能:该训练通过特殊处理,可以使儿童在轻松愉快的状态获得如下功能的训练。1、心理旋转功能训练。心理旋转功能就是儿童在心理上操作空间物体的能力,这种能力是儿童形象思维的核心;2、提高儿童视觉分辨能力,视觉信息精确匹配能力;3、提高儿童的手眼协调和配合能力。适宜范围:心理旋转特异性训练,多动儿童的训练,防止弱视的视觉训练手眼协调与反应速度训练功能:该训练系统对儿童3大心理功能有突出的训练效果:1、手眼协调功能。儿童的手眼协调功能是完成学习任务的必要条件,这种功能的强化可以提高儿童学习效率;2、动作控制功能。儿童的兴奋性水平偏高,而抑制能力发展滞后,该训练可以提高儿童的抑制功能,提高儿童对动作的控制能力,从而防止多动行为的出现。同时也可以对已经形成的多动行为进行控制;3、反应速度提高。身心反应速度是儿童以后完成各种任务的前提,儿童时期是这种训练的关键期。适宜范围:学习效率提高,多动控制训练,反映速度提高训练大脑抑制功能与注意力集中训练功能:用于对儿童4大心理功能的专门训练:1、空间思维和计划能力。这种能力是影响儿童学习计划性和创新水平的重要因素;2、手眼协调能力。儿童的手眼协调功能是完成学习任务的必要条件,这种功能的强化可以提高儿童学习效率;3、动作控制功能。儿童的兴奋性水平偏高,而抑制能力发展滞后,该训练可以提高儿童的抑制功能,提高儿童对动作的控制能力,从而防止多动行为的出现。同时也可以对已经形成的多动行为进行控制;4、注意力集中能力。训练可以突出改善儿童注意力,防止注意力的分散。适宜范围:创新能力训练,多动控制,注意力提高训练移动平台技术平板电脑平板电脑是一种小型且携带方便的个人电脑。它主要的输入设备为触摸屏上软键盘输入或语音输入,现在也有很多平板电脑可以外接键盘。平板电脑的特点:1、平板电脑具有触摸识别的液晶屏和可用手写输入的电磁感应笔。平板式电脑结合了移动通信、移动娱乐和移动商务等特点,除了无线网络通信功能还有有手写识别功能,可以称的上是上网本的终结者。2、按照结构设计分类,平板电脑可分为“可变式平板电脑”和“纯平板电脑”,对比图如图1.1所示。这两种平板电脑的区别是“可变式平板电脑”是集成键盘的,“纯平板电脑”是外接键盘,一些应用软件内建于这些平板式电脑中,用户通过在屏幕上进行书写就可以向计算机输入手绘图形或文字。图STYLEREF1\s1.SEQ图\*ARABIC\s11平板电脑3、平板电脑按其触摸屏的不同,一般可分为电阻式触摸屏跟电容式触摸屏。电阻式触摸一般为单点,而电容式触摸屏可分为2点触摸,5点触摸及多点触摸。随着平板电脑的普及,在功能追求上也越来越高,传统的电阻式触摸已经满足不了平板电脑的需求,特别是在玩游戏方面,要求越来越高,所以平板电脑必然需要用多点式触摸屏才能令其功能更加完善。平板电脑操作系统1、Android操作系统Android是基于Linux平台的开源手机操作系统。2005年由Google收购并开发改良,于2007年11月5日宣布的操作系统。Google的介入,Android的强势发展都引起了人们极大的关注,它联合多家无线应用领域的厂商,组成了现在Android这个开放式移动平台。同时Android也是首个基于移动终端的完整的、开放的移动软件。因为Android系统的开放和免费,使它成为了最容易被选用的手机操作系统。现在Android操作系统从智能手机发展到了到平板电脑平台。2、苹果iOS操作系统iOS采用UNIX架构,是由苹果公司为iPhone开发的操作系统,主要用于iiPad、Phone和iPodtouch。并且为iPhone、iPodTouch和iPad的系统版本一直在不断更新。iOS系统具有良好的用户体验和相当多的应用软件,受到了用户的极大支持,市场占有率一路飙升。这是因为,在iPad之前的iPhone经过多年的改进,技术已经很成熟了,才吸引了众多的手机爱好者。3、WebOS操作系统WebOS作为PalmOS的继任者,它于2009年6月6日正式发布。该系统界面非常友好,还增加了触控体验。该系统的重点是能同时处理多个现在任务,还有将Web2.0和在线社交网络一体化。但是与其他几种操作系统相比较,最明显的缺点就是因为刚刚开始使用的,WebOS4、WindowsMobile操作系统WindowsMobile操作系统是具有革命性的操作系统,它源自于Windows桌面系统,该系统提供了高效的工作环境。它的很多操作都与在PC机上的使用相同,因而使得人们操作更加简单和更加快捷。因为它有着桌面应用的血脉,备受大量用户的欢迎。5、Symbian操作系统Symbian操作系统多年来一直是得到用户广泛认可的智能手机。并且长期处于霸主的地位。这种操作平台的优点是很容易上手的平台,因此使用人群也很广泛,各种软件应用游戏也有很多。但是缺点是安装软件需要有手机证书,显然与Android对比,不够开放。因此Symbian目前也因为Android和iPhone受到了很大的冲击。基于对之前各种主流移动平台开发技术的了解与分析,Android操作系统有以下几点优势:开源Android系统是开源的,“开源”是用于描述那些源码可以被公众使用的软件,并且此软件的使用、修改和发行也不受许可证的限制。Android操作系统的开源意味着开放的平台允许任何移动终端厂商加入到Android联盟中来。因为Android的开源,专业人士可以利用开放的源代码来进行二次开发,打造出个性化的Android。例如中国的MIUI就是基于Android2.3原生系统深度开发的Android系统,其与原生系统相比有了较大的改动。而且开放性可以缩短开发周期,降低开发成本。如此一来跟有利于Android的发展。给用户更高的自由度Android操作系统给予了用户跟高的自由度,熟悉Android的都清楚:用户可以根据自己的喜好来设置手机界面,Android的应用市场甚至上还有各式各样的启动器来供用户自己选择,让自己的手机与众不同。例如,用户要是喜欢HTC的操作界面,便马上可以在应用市场上找到,甚至还能模仿iOS的界面。相比于iOS操作系统,iPhone手机只有一成不变的手机界面,不能对其进行更改。选择多样化由于Android的开放性,众多的厂商为了迎合大众会推出层出不穷的新产品。迄今为止,以Android为操作系统的机型已经达到了几十上百种。但是这些功能、机型上的差异不会影响到数据的同步、软件的兼容等等。这样便给了消费者更多地购机选择。这一优势是iOS、BlackberryOS当今主流操作系统所不能比拟的。综合以上优点,采用Android移动开发技术完成视觉刺激系统的设计与实现。课题研究的内容本课题研究的主要内容是设计和实现一款应用于Android平板设备针对于学龄儿童的视觉刺激系统。通过对Android平台的研究,将其转变为Android平台下移动设备的应用。主要研究Android平台下的图形绘制、显示及分析等相关内容。第一章为绪论,介绍了课题研究的背景和意义,对相关技术的发展现状进行了一个简要的分析,包括视觉刺激系统和移动平台的发展。第二章深入研究了Android系统,对Android系统进行了简单介绍,对图形绘制和数据库的技术进行了一定的介绍。第三章剖析了基于移动平台的视觉刺激系统的需求,从功能需求、性能需求、界面需求和运行需求这四方面进行了阐述。第四章是需求的基础上,对视觉刺激系统进行了设计,包括总体设计,从UI设计、图形设计等方面进行阐述,然后对各个功能模块进行了一一设计。第五章对系统的关键实现点进行了阐述,包括布局框架的实现,训练方式的实现和背景方式的实现。第六章描述了系统的运行,对刺激系统所实现的主要功能进行了截图描述。最后对课题研究成果做了一个简要的总结,总结了本课题的创新点,阐述了课题目前还存在的问题,提出了对后续工作的计划和展望。下面,介绍一下关于Android移动开发技术的主要研究内容以及涉及到的一些关于视觉刺激技术的相关内容。主要技术研究Android系统简介Android是一个专门针对移动设备的软件集,它包括一个操作系统,中间件和一些重要的应用程序。AndroidSDK提供了在Android平台上使用Java语言进行Android应用开发必须的工具和API接口。Android的主要特性有:1、应用程序框架支持组件的重用与替换2、Dalvik虚拟机专为移动设备优化3、集成的浏览器基于开源的WebKit引擎4、优化的图形库包括定制的2D图形库,3D图形库基于OpenGLES1.05、SQLite用作结构化的数据存储6、多媒体支持包括常见的音频、视频和静态图像格式(如MPEG4,H.264,MP3,AAC,AMR,JPG,PNG,GIF)7、丰富的开发环境包括设备模拟器,调试工具,内存及性能分析图表,和Eclipse集成开发环境插件Android应用程序的构成通常由四个部分来构建一个完整的Android应用程序。分别是:Activity、IntentReceiver、Service和ContentProvider[5]。1、Activity即行为Activity是Android组件之一,它是四个部分中唯一一个用户可以看得见的组件。因为Activity就是界面,通常一个程序中会包含多个Activity,这些Activity的关系可能并不大,它们关系松散的存在于程序内。但是它们中必须有一个主Activity,这个主Activity就是当程序启动时首先显示出来的界面。程序中任意Activity可以任意调用另一个Activity,但是当一个Activity被调用启动了,之前的Activity就会停止。但是这个Activity并没有被销毁,而是被压入了一个栈,这个栈叫做BackStack。是栈的话就会符合“后进先出”的原则,当完成当前的Activity点击返回时,当前的Activity就会出栈并且销毁。之前的Activity会被恢复。每次创建Activity都要创建一个继承自Activity的子类。在这个子类中会用到涉及Activity全生命周期的多种状态。它分别是创建、停止、恢复和销毁。其中最重要的两个方法是onCreate()和onPause()方法。onCreate()其实就是起到了函数初始化的作用,如果是第一次创建Activity,onCreate()里调用onStart(),如果不是第一次创建则调用onRestart()方法。onPause()是当另一个Activity被调用,离开当前的Activity时使用,但不一定必要要实现。2、IntentReceiver即目的接收器IntentReceiver多为对外部事件做处理,它没有UI界面。IntentReceiver与服务类似,相当于Activity的秘书。接受事件,然后启动Activity,接收外部的Intent,与此同时为Activity打理各种事务,并通知Activity。用户要使用目的接收器(IntentReceiver),就要在AndroidManifest.xml中进行注册。注册方法是使用Context对象调用registerReceiver()方法。当IntentReceiver被触发时,相对应的应用程序就会被系统所调用。之后需要重载onReceiveIntent()这个方法,从这个函数开始到结束就是IntentReceiver整个IntentReceiver的生命周期3、Service即服务Service是一种运行在后台的服务。它不同于Activity,在后台运行自然没有UI界面,只是一段代码。例如媒体播放器在播放音乐,这是你想要开启其他功能,但是还希望同时能继续听到音乐,这时就需要在后台开启一个Service来继续媒体播放器。还有一点是Service和其他程序一样运行在主线程中,因此一些耗时的操作尽量不要放入主线程中,可以开启子线程进行操作。Service分为两种,一种叫LocalService即本地服务,另一种叫RemoteService即远程服务。本地服务调用Context.startService()用于程序内部。远程服务调用Context.unbindService()用于系统程序之间。本服务的生命周期的调用顺序如下:onCreate()、onStart()、Servicerunning、context.stopService()最后调用onDestroy()。远程服务调用顺序如下:onCreate()、onBind()、Servicerunning、、onUnbind()最后调用onDestroy()。4、ContentProvider即内容提供者ContentProvider是一种跨应用共享数据的方式。这里需要知道在Android应用程序中,任何数据都是私有的,不论是保存在文件中,还是SQLite中都是不能被共享的。但是在某些情况下需要调用其他程序的数据,为了实现这一功能,Android开发了ContentProvider类来实现数据共享的功能。ContentProvider类之下提供了很多不同的标准方法的接口,以便不同的应用来读取或存储本ContentProvider类的数据类型。外界是看不到ContentProvider的,但是这不重要,因为外界可以通过这一系统的接口对程序的数据进行读取或删除操作。Android编程技术这里介绍5种关于Android的存储数据方式1、SharedPreferences存储Android提供的SharedPreferences这种存储方式,是一种轻量级的存储方式。之所以称之为轻量级是因为,它只能对一些类似于配置信息的数据进行存储。不过正因为这种特点,那些不需要对数据进行复杂操作的程序可以使用这种方式更为简捷。需要知道的是SharedPreferences它本身只能进行数据的读取,不支持数据的存储和修改。数据的修改需要借助Editor对象来实现。SharedPreferences实现存储的步骤如下:首先要根据上下文获取SharedPreferences对象。之后通过edit()方法来获取Editor对象,然后将键值对数据存储到Editor对象中,最后调用commit()方法提交数据[6]。2、文件存储文件存储方式即文件(I/O)存储方法是一种极为常用的方法。特点是用于存储大数量的数据,缺点是更新数据困难。文件存储方式主要使用openFileInput()和openFileOutput()两种方法。openFileInput()的描述是打开应用程序的输入流,openFileOutput()的描述是打开应用程序的输出流。3、网络存储前面介绍的存储方式都是将数据存储在本地设备上的,还有一种方式是通过网络获取和存储数据的。需要调用WebService所返回的数据或是解析HTTP协议来实现Android与网络的数据交互。4、ContentProvider存储在ContentProvider存储方式下,想要从其他应用程序中共享数据,首先要建一个类来继承ContentProvider,重写一个方法用来提供数据和存储数据的。除了使用ContentProvider存储,用其他方法也可以达到这种共享,但是数据访问方式会有所不同。只有使用ContentProvider共享数据,数据的访问方式才会统一。5、SQLite数据库存储最常使用的存储方式就是SQLite数据库了。SQLite是一种轻型数据库,有五种数据类型,分别为:空值(NULL)、整数(INTEGER)、浮点数(REAL)、字符串(TEXT)和大数据(BLOB)。Android系统提供了一个名为android.database.sqlite的包,用于对SQLite数据的增加、修改、删除和查找等功能,对应的操作方法为:insert()、delete()、update()和query()。除此之外还可以直接使用execSQL()和rawQuery方法进行数据的增加、修改、删除和查找等功能,这是为了熟悉SQL语法的程序员而言的。Android画图方式关于Android中的画图方法,我们介绍两种:Graphics和Canvas。1、GraphicsGraphics是一个核心渲染包,它提供了一些初级的图形工具,如:images、colors、shapes和animation等画图操作,这些操作是已经在Android实现的。通过使用这些简单的操作可以实现一些圆形、矩形、线段等等简单的形状,也可以画图一些简单的图画,如人物等。这样的画图方式的原理是将Graphics放置于视图中,不是通过我们具体绘制,而是系统对Graphic调用,进行绘制。但是这种方式只能实现很简单的2D图画,想要实现更高品质的图画是不太可能的。2、CanvasCanvas同样也是用来绘制2D图形的,但是与Graphics不同的是Canvas中有很多API,这些接口都是用来进行画图操作的。主要由四个部分组成:位图、画板、初始图形和Paint。位图包含像素,画板包含绘画内容,可以写入位图;初始图形如:Rect、Bitmap、text等;Paint用来描述初始图形的颜色和类型等。需要特别说的是Canvas有两种,View和SurfaceView。在性能方面,SurfaceView要优于View。SurfaceView是使画图通过线程绘制的,而View需要应用程序进行刷图,性能相对于SurfaceView更低。因此SurfaceView可以用来绘制更高品质的画图,View则用来实现简单的2D图形的绘制。本章小结本章中对课题研究实现中涉及到的相关技术进行了简单的介绍,主要包括对Android系统的简介和Android编程技术的相关介绍。视觉刺激系统需求分析在介绍完Android平台技术之后,本文将详细介绍视觉刺激系统的需求分析。经过对Android操作系统、Android应用程序的开发的学习;对Android移动设备特性的研究;对现有的医学视觉刺激系统的对比研究,设计了一套适用于Android移动设备的功能。主要从功能需求、性能需求和环境运行需求几个方面进行分析。在接下来的分析中将分别阐述上述需求。功能需求这里以主流视觉刺激系统界面图为参考如图3.1所示。系统主界面主要包括一些系统设置操作和绘图操作区。设置操作为训练操作的具体设置,分别为“训练方式”、“训练级别”、“背景方式”、“前景色”、“背景色”、“空间频率”、“移动速度”和音效开关、训练开关等设置。图STYLEREF1\s3.SEQ图\*ARABIC\s11系统界面参考图首先进行系统参数设置,如:训练方式、训练级别、背景方式、前景色、背景色、空间频率等。然后点击开始训练,此时绘图区域背景方式进行动态变化,用户即可进行训练方式的操作,对所选的图画进行临摹操作。操作完毕后系统会给出得分。操作流程如图3.2所示。图STYLEREF1\s3.SEQ图\*ARABIC\s12程序流程图主界面功能需求主界面作为应用的导航功能,是整个应用的基础。主界面的呈现应以简洁、清晰的组织形式架构出程序的主体,实现对其他功能模块组织和调度。主界面应提供分层、分类的组织形式:以合理的形式将其他功能模块分类、分层次地组织起来,让用户能从主界面中快速、方便和准确地定位到自己所需的其他功能子模块。考虑到Android平板移动设备的屏幕显示尺寸较小,如果将所有操作功能均放置于主界面,不利于操作,严重影响与用户的交互性。因此需要将系统主要分为主界面和设置界面两个界面。主界面主要进行系统参数设置,设置界面即可进行训练参数设置。主界面分为功能选择区域和绘图显示区。功能选择区域可进行时间控制、训练开启、关卡选择、音效开关、分数显示、历史查询和参数设置页面跳转等功能。绘图显示区分为背景图的显示和关卡的显示。主界面功能如图3.3所示。图STYLEREF1\s3.SEQ图\*ARABIC\s13主界面功能各功能详细需求主界面功能选择模块:1、提供“时间控制”的功能根据临床分析,患者治疗时间不是无限,治疗效果也会因时间有所差异,因此系统需要对训练时间有所限制,提醒用户在规定时间完成训练,使得训练效果达到最佳。2、提供“训练启动”的功能系统的设计要人性化。进入系统后,需要设置开启训练功能,才能引起绘图区的运行。3、提供“关卡选择”的功能系统因为关卡较多。用户在相同难度级别的关卡中并不需要按照顺序完成训练。因此系统需要设置“上一关”、“下一关”的人性化选择选项,可按用户需要随意选择关卡,不必顺序进行。4、提供“音效开关”的功能临床实践证明,在训练时加入某些背景音乐会使得训练效果有所提高,使得整个过程不再枯燥,更能引起儿童的兴趣,从而使其集中注意力。5、提供“分数显示”的功能为了鼓励用户完成训练任务。系统需设置分数显示功能。当用户完成当前关卡的训练,系统会根据一定得计算公式给出所得成绩。通过比较分数的不同,使得用户更加投入训练,达到更理想的效果。6、提供“历史查询”的功能为了方便用户比较一段时期内的训练效果,提供历史成绩的查询功能。该功能包含训练时间,训练时长、训练方式、背景方式、成绩等内容。将每一次的操作完成的训练成绩存入数据库。绘图显示功能系统需要设计显示训练图形的功能。此功能需要具备图形背景的同时,用户可以进行关卡的训练。提供“参数设置”的功能参数设置功能是系统的核心所在。系统需要根据用户的不同需求,提供不同的设置参数,所需的参数如图3.4所示。图STYLEREF1\s3.SEQ图\*ARABIC\s14设置界面功能1、提供“训练方式”的选择根据目前几种通过医学临床研究的刺激系统的研究内容。系统需要提供三种难度不同的训练方式。在不同视力阶段进行不同难度方式的训练,使得视力得到提高。这三种训练方式分别为描点方式、连线方式和画图方式。这三种训练方式的图形绘制结构均来自儿童简笔画图形如图3.5所示。提供“描点方式”的功能这种方式难度相对较低。即通过提供一组较为简单的几何图形如图3.5中第一个几何图形所示,每个几何图形由若干个相同大小的圆形区域间隔连接绘制而成。每个几何图形是一个关卡。用户要做的就是描绘这个圆点,通过这样的方式刺激视网膜,提高视力。提供“连线方式”的功能这种方式难度适中。即通过提供一组有规则的几何图形,儿童简笔画的图形,每个图形如若干个相同大小的图形区域间隔连接绘制而成。每个图形是一个关卡。与描点方式不同的是,连选方式需要用户将其中任意两点用直线连接起来,这样就会形成一定得图形。当然不同的连接方式也会产生不同的图形。系统需要提供标准的图形答案来共参考,使得用户训练更加有目标性,参照性。所得成绩也会根据正确答案对比来计算。提供“画图方式”的功能这种方式难度最高。即通过提供一组儿童简笔画的图形如图3.5所示,每个图形不再是由圆点间隔绘制而是由连贯的曲线连成。每个图形是一个关卡。需要用户沿着图形的轨迹描绘该图形。图3.5儿童简笔画2、提供“训练级别”的选择因为不同的用户视力情况会有不同。因此需要提供三种不同的训练级别。分为一级,二级和三级。一级难度为视力为0.2以下的用户使用,二级难度为视力在0.3到0.5之间的用户使用,三级难度为视力在0.6以上的用户使用。每种级别分别提供30个关卡[7]。3、提供“背景方式”的选择在传统的CAM刺激和红光刺激等模式上加以改进和创新,通过多种刺激模式,如条栅、正弦波、裂隙光、棋盘格、螺旋线,甚至一些艺术作品的画面等波形及光谱以及一些特殊的视觉信号刺激视觉通道。能有效的控制光刺激的强度,达到快速提高视力的功效。根据这一医学临床原理。系统需提供几种背景图以供选择,开始训练后,进行描点、连线或是画图等训练方式的同时交替使用不同的背景图。4、提供“前景色、背景色“的选择根据不同视觉刺激的需要,背景方式在一段时间后可以进行前景色和背景色的变换,系统需要提供几种不同的颜色,以供变换。5、提供“空间频率“的选择空间频率的范围值为1-10之间,1为最低空间频率,10为最高空间频率。根据用户的适应为准,进行一段时间内的空间频率的变换。6、提供“移动速度”的选择移动速度分为慢、中、快三级,根据用户的适应为准,进行一段时间内的移动速度的变换。性能需求人机交互性1、人机交互的自然性。利用手写笔或手指与平板设备交互,这样使得这个过程更加自然,更加人性化。2、人机交互的双向性。人机交互的双向性是指,使用者可以通过计算机或多媒体呈现给我们的东西做出选择或控制,反之,计算机和多媒体也会对我们的选择做出相应的反应。在这一过程中,我们不是可以主动选择,这与传统的单一的媒体有了极大的区别。3、人机交互的直观性。人机交互的直观性就是人看到的即视觉通道,如动画,视频,听到的即听觉通道如音频,如果加入了这些元素,就会使交互的形式得到扩充,使交互的过程更加地生动自然[8]。响应性就是让用户感到程序使用灵敏。用户的每一次操作都应该得到快速反馈,在Android平台中,所有界面的操作、渲染都是由UI线程来完成,因此一些比较阻塞的操作应该由单独的线程来完成在[9]。那些响应性不好的程序会经常弹出“ApplicationNotResponding”这样的致命消息。在正常情况下,Android程序会在一个单线程里运行,在主线程里超过一段时间就会导致弹出ANR对话框。因此,任何主线程的方法都不能进行很复杂的处理,例如,Activity对象在它的关键生命周期函数里不能处理太多,如onCreate()和onResume(),对于某些事件,要使用一个Handler去处理。在调用主线程的其他方法时,应用程序应该避免在BroadcastReceivers中长时间运行操作和运算,应该避免在一个IntentReceiver上开始一个Activity[10]。实用性因为平板电脑触摸屏尺寸相对于台式计算机、笔记本较小,如果将所有功能项都放置于主界面中,页面显示的功能控件设计过于集中、控件较小,不便于选择。这样影响功能的实现,与用户交互性太差。故设计中要尤其考虑手机用户的实用性,考虑用户的实际需求。运行环境需求运行平台:Androidplatform2.1及以上;显示屏分辨率:1024×768。系统的运行环境如表3.1所示。表3.1系统运行环境项目要求备注操作系统Windows7—硬件设备LENOVO笔记本台电P85平板电脑处理器:2.27GHz内存:2.00G处理器:1GHz内存:1.00G软件JavaJDKEclipse3.5ADTAndroidSDKjdk-6u24-windows-i586eclipse-jee-helios-SR2-win32ADT20.0.0android-sdk_r04-windows本章小结本章主要对本次课题中将要设计实现的视觉刺激系统进行了需求分析。主要从功能需求、性能需求和运行环境需求进行详细阐述。功能需求分为主界面的功能和个功能模块的功能需求。功能需求主要包括训练方式的选择、背景方式的选择这两大功能,在功能需求中不仅考虑到了主要的系统功能还涉及到了一些辅助功能,如成绩的计算、历史查询等。通过这些主体功能与辅助功能的整合,功能性和操作性的兼顾,将为用户提供一个功能强大、体验良好的视觉刺激系统。视觉刺激系统的设计系统架构设计系统采用MVC架构设计。MVC(Model-View-Controller)中M是指逻辑模型,V是指视图模型,C则是控制器。使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式,而C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。本系统遵循MVC架构设计的系统内部层次图如图4.1所示。下面结合图4.1所示对系统内部层次进行具体分析,通过对每一层架构的设计的描述得出本系统对MVC架构的实现[11]。图STYLEREF1\s4.SEQ图\*ARABIC\s11系统内部层次图视图层(View):视图层包括主界面和设置界面,界面的描述均采用XML文件,这样使用的好处是可以方便的引入。Android很好地将显示层抽离,并放入"res/"目录中以XML的形式体现。虽然对于控件属性修改可以通过代码完成,但还是推荐将控件的属性在XML中设置为佳,遇到动态修改的内容再采用硬编码的方式。这样增加了程序的可读性,也有利于软件后期的维护。系统XML文件放置于res目录下的layout目录、values目录和drawable目录下[12]。1、layout存放布局文件:main.xml为主界面布局文件、setting_layout.xml为设置界面布局文件、spinner_layout.xml为Spinner容器控件布局文件。2、values存放常量文件:strings.xml、styles.xml、arrays.xml用来存放数组、颜色、尺寸、字符串和样式。3、drawable存放使用的图片文件。4、anim存放已编译的动画文件。5、raw存放未编译的原始文件。控制层(Controller):系统控制层即为MainActivity,MainActivity重载自Activity。系统控制层是视图层与模型层的“沟通层”,Activity将很多任务交予Model业务逻辑层处理,在Acitivity中只写很少的代码,这样做是因为如果将尽量多的代码都写入Activity文件,那样应用的层次会更加简洁,但是这样做带来最明显的缺点就是过分的耦合。当需要对一个方法或者一个布局进行更改时,由于层与层之间的过分耦合,那么你将面对的是“牵一发而动全身”的修改过程。另外一个原因是,不这样做的话程序就很容易被回收掉,因为Acitivity的响应时间只有5s,太多操作放在Activity中的话就会相当耗时。通过对视图层控件的监听机制捕获了用户的操作状态和输入数据,将这些状态信息交给模型层进行处理。除了这些操作,视图层还会启动一些服务,这些服务会引起一些特定功能的监听,一并交给模型层处理。之后模型层通过内部计算得出结果,再交由控制层。控制层根据内部控制机制修改相应视图层的控件属性值,达到更改呈现结果的目的,最终实现与用户的交互。关于控制层的控制机制如图4.2所示。模型层(Model):Model层进行的主要处理包括对数据库的操作、对网络等的操作,还有最重要的业务计算等操作也是由模型层进行处理的[13]。就是应用程序中二进制的数据。模型层主要分为以下三大块内容。1、参数设置:训练方式设置、训练级别设置、背景方式设置、前景色和背景色设置、空间频率设置、移动速度设置、关卡设置和音效设置。2、数据调用:包括参数的调用、图片资源的调用、音频的调用。3、业务逻辑:图形绘制、触击事件、判断功能和评分功能。模型层主要功能是进行数据封装和功能封装。这里的数据主要来源为坐标集合数据、图片资源数据和音乐资源数据。图S
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 融资合同2024年度可转债发行与购买协议
- 统编人教版六年级语文上册第1课《草原》精美课件
- 游乐场装修项目合同书
- 简单解约合同协议书范本
- 租赁2024年度标准厂房合同
- 家庭内部财产分割协议书
- 工程机械租赁合同
- 健康管理学 教育课件
- 屋面防水维修工程施工合同范本
- 《防火防爆措施》课件
- 北师大版 2024-2025学年四年级数学上册典型例题系列第二单元:角度计算问题“基础型”专项练习(原卷版+解析)
- 2024年牛津深圳版初中英语语法总复习整理
- 税收筹划学习心得体会模板
- 医院科教科年度工作计划9
- 护士长年终述职报告PPT5
- 职业生涯规划软件工程
- 团体音乐治疗
- 学校食品营养健康培训方案
- 景区代步车可行性分析方案
- 七上-动点、动角问题12道好题-解析
- 医疗安全不良事件警示教育培训课件
评论
0/150
提交评论