毕业设计论-基于Android的平板电脑量产的测试.doc_第1页
毕业设计论-基于Android的平板电脑量产的测试.doc_第2页
毕业设计论-基于Android的平板电脑量产的测试.doc_第3页
毕业设计论-基于Android的平板电脑量产的测试.doc_第4页
毕业设计论-基于Android的平板电脑量产的测试.doc_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘 要随着android技术的出现和发展,使得有越来越多的人在平日中会接触到android。同时,基于android系统的平板电脑也越来越多了,这就使得在平板电脑量产时候的测试变的很重要了。对于平板电脑的测试,需要通过软件对于某些功能方面来测试机器。通过这样的测试来确定这些方面是否正常,以此来确定平板电脑是否满足投放市场的要求。在机器进行量产的时候,可能会出现平时所不会出现的一些问题,这个时候不能将其投放入市场,而测试软件就可以在这个时候起作用。通过使用它,可以主观的反映机器出现了哪方面的错误,然后就可以针对这些问题来进行修改。以达到机器正常的投放市场。在本课题中,针对平板电脑可能会出现的问题,使用android的编程,在eclipse下编写,来设计完成这个针对平板电脑的测试。对于平板电脑的触摸屏,色彩显示,wifi等方面的测试。关键词:android 测试 平板电脑 布局合肥学院计算机科学与技术系毕业论文abstractandroid technology as the emergence and development, making it more and more people are exposed to on weekdays in android.at tne same time,more and more tablet pc basic android system.this makes mass production in the tablet pc when the tests become very important.testing for tablet pc,you need the software for some functions to test the machine.through such tests to determine whether it is normal in these areas,in order to determine whether the tablet pc to meet the market requirements.production in the time machine,which does not usually occur some of the problems,this time can not be put into the market,and test software can play at this time.by using it,the response to the subjective aspects of the machine where the error occurred,and then can be modified to address these issues.in order to achieve a normal machine on the market.in this issue,the tablet pc for problems may occur,the use of androids programming, prepared under the eclipse to design for the tablet pc to complete the test.for the tablet pc functional test about touch screen,color disappear,wifi and so on.keywords: android test tablet pc layout目 录摘 要iabstract第一章 绪论11.1系统开发背景11.2系统简介11.3 系统设计目标及基本思路11.4 系统开发技术11.4.1 java面向对象程序设计语言11.5系统开发工具21.5.1 eclipse集成开发环境21.5.2android adt2第二章 系统需求分析32.1需求分析32.2系统目标32.3可行性分析32.4系统功能分析3第三章 系统概要设计53.1 系统程序文件53.2系统模块设计53.2.1触摸屏测试模块53.2.2色彩显示测试模块53.2.3声音播放测试模块53.2.4重力感应模块63.2.5wifi测试6第四章 系统详细设计74.1系统模块的设计与实现74.1.1主界面的布局74.1.2触摸屏测试模块124.1.3色彩显示模块144.1.4声音播放模块154.1.5重力感应模块164.2系统的退出17第五章 系统测试195.1 测试方法195.2测试结果及分析195.3系统的运行级维护205.4 对结果的分析与评价20- 22 -结 论21参考文献22致 谢23附 录24第一章 绪论1.1系统开发背景android是一套真正意义上的开放性移动设备综合平台,它包括操作系统、中间件和一些关键的平台应用。android系统平台基于优化了的linux内核,它提供诸如内存管理、进程管理、设备驱动等服务,同时也是软硬件的连接层。android最大特点在于它是一个开放的体系架构,具有非常好的开发和调试环境,而且还支持各种可扩展的用户体验,android里面具有非常丰富的图形系统,对多媒体的支持功能和非常强大的浏览器。android平台的开放性等特点既能促进技术的创新,又有助于降低开发成本,还可以使运营商能非常方便地制定特色化产品,因此,它具有很大的市场发展潜力。android的出现使得一些手机生产厂家看到了新的希望,他们都纷纷加入了android开发的行列中去。这让android这个大家族变的更为壮大了,android的使用者也随之增加了很多。平板电脑也是现在pc家族的新成员,拥有比掌上电脑更强的计算能力;比之笔记本,它拥有其全部功能,而且支持手写输入或者语音输入,它的便携性和移动性比笔记本也要更胜一筹。本课题主要开发的是平板电脑的测试,需要在android平台下进行编程。1.2系统简介本课题是为了测试平板电脑,在平板电脑量产的时候对于机器功能进行一个简单的测试,用来确定机器在这方面的功能是否正常,可否正式投入市场进行销售。需要测试的功能模块有触摸屏,色彩显示,声音播放,重力感应器,wifi。1.3 系统设计目标及基本思路本课题是针对于平板电脑的测试,考虑到操作者的能力问题,设计系统时有了两个明确的目的:简洁性和实用性。简洁性:由于操作本系统的人可能对于电脑的了解不够多,所以系统设计的是很简单的界面,而且都会又相应的说明文字,让别人可以一目了然,清楚的知道该怎么做。实用性:在现在平板电脑越来越普及的时候,对于它的功能测试也就是必不可少的。做到对于基本的问题都可以检查到,让人可以确定具体是哪一功能模块出现了问题。从系统的目的上看,需要完成的功能有5项,而且是要以简单和实用为主要目的。那么系统开发过程中具备的基本思路就是需要在不影响功能的情况下,尽量做到以简单的操作来完成功能的测试。1.4 系统开发技术1.4.1 java面向对象程序设计语言java是由sun microsystems公司于1995年5月推出的java程序设计语言(以下简称java语言)和java平台的总称。用java实现的hotjava浏览器(支持java applet)显示了java的魅力:跨平台、动态的web、internet计算。java平台由java虚拟机(java virtual machine)和java 应用编程接口(application programming interface、简称api)构成。java 应用编程接口为java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个java平台之后,java应用程序就可运行。java是一种结合编译和直译优点的高阶物件导向程式语言,利用建立在各种作业系统(如windows,mac os等)上的软件平台结合硬体和软体的执行环境,以期达到所谓“write once,run anywhere”的跨平台功能。1.5系统开发工具1.5.1 eclipse集成开发环境eclipse是一种可扩展的开放源代码ide。2011年11月由ibm公司捐出价值4000万美元的源代码组建了eclipse联盟,并由该联盟负责这种工具的后续开发。集成开发环境(ide)经常将其应用范围限定在“开发、构建和调试”的周期之中。为了帮助集成开发环境克服目前的局限性,业界厂商合作创建了eclipse平台。eclipse允许在同一ide中集成来自不同供应商的工具,并实现了工具之间的互操作性,从而显著改变了项目工作流程,是开发者可以专注在实际的嵌入式目标上。eclipse专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。它主要由eclipse项目、eclipse工具项目、eclipse技术项目组成,具体包括四个部分组成eclipse platform、jdt、cdt和pde。jdt支持java开发、cdt支持c开发、pde用来支持插件开发。eclipse platform是一个开放的可扩展ide,提供一个通用的开发平台。它提供建造块和构造并运行集成软件开发工具的基础。eclipse platform允许工具建造者独立开发与他人工具无缝集成的工具从而无需分辨一个工具功能在哪里结束,而另一个工具功能在哪里爱是。1.5.2 android adtadt为android开发工具(android development tools)简称,是在强大的、集成环境eclipse ide中构建android应用程序插件。adt扩展了eclipse的功能,可以快速建立新的android项目,创建一个应用程序的用户界面,加上android框架的api组件、调试应用程序使用android sdk工具,以便apk分发给应用程序。第二章 系统需求分析2.1需求分析对于平板电脑,它的基本操作是依靠触摸屏来完成的。在平时使用平板电脑的过程中,经常会使用到wifi连接,播放视屏,音乐这样的功能,还有在使用时会通过重力感应装置来改变机器屏幕的方向。因此,在平板电脑进行生产的时候,对于其基本功能的实现就需要进行测试,来确定机器是否达到了基本的标准。通过分析平板电脑的一般操作发现,在日常使用平板电脑的过程中,需要它的触摸屏,wifi连接,重力感应装置,色彩显示和声音播放这些功能都可以正常实现,因此,在本课题中就是要研究平板电脑中触摸屏,色彩显示,声音播放,重力感应,wifi连接这方面的功能测试。2.2系统目标从需求分析看出,本课题是为了测试平板电脑,在平板电脑进行量产的时候对机器的功能进行简单的测试,需要确定机器在触摸屏,色彩显示,声音播放,重力感应,wifi连接这些功能模块是否正常,以此来确定可否投入市场进行销售。2.3可行性分析一、技术可行性系统采用的是android sdk进行代码的编写,是基于java语法,但是不同于java的语言,在eclipse中配置插件adt进行编写,需要使用的是基本的java的语法,一些简单的android布局和android编程思想,以及android中的api函数来实现某些功能。总体难度不会太大。二、经济可行性如今,随着计算机的大量普及,各种软件开发成本越来越低,价格越来越低。本系统也是,开发成本比较低,在配置了android sdk和eclipse 3.5以上版本的机器上都可以进行开发。并不会造成系统功能的缺失,性能下降。2.4系统功能分析本系统是为了测试平板电脑在量产过程中可能出现的问题而设计的。主要是为测试平板电脑在硬件上有没有问题而设置的。主要测试的功能有:触摸屏,色彩显示,声音播放,重力感应,wifi连接。系统设置的有主界面和分界面。主界面将所有功能集成到一个页面中,虽然方便,但是却造成整个画面看起来太过紧凑,分界面是对每个功能都设计了一个页面来说明,可以让每个功能都显示出来,看的更清楚。(1)触摸屏测试:触摸屏是平板电脑最基本的,如果触摸屏没有效果,则平板电脑基本上不能进行操作。这里会设置按钮进行点击测试,当点击有效果的时候就证明触摸屏是没有问题的,否则就说明触摸屏是有问题存在的。(2)色彩显示:看看电脑是否可以正常显示色彩。程序中设置几张图片用于色彩显示,图片会实现说明是什么颜色,需要测试者观察来判断机器的色彩显示是否存在问题。如果和说明一致则没有问题,否则就说明出现问题。(3)声音测试:对于平板电脑的声音播放进行测试。系统安排一段声音文件,利用android里面自带的mplayer进行播放,为了使测试尽可能准确,事先会将机器的声音调至最大化,可以顺利进行播放则说明声音没有问题。(4)wifi测试:对于机器的wifi是否可以正常的连接至无限网络进行测试。会让机器去连接附近可用的无线网络,在屏幕上将获取的ip地址显示出来,并显示wifi是否ping通。如果不能顺利连接上,则显示ip为,并显示不能ping通。(5)重力感应:看看机器的重力感应装置是否可以正常的运行。系统会获取机器里重力感应器上的x,y,z轴的坐标,对其进行比较,来判断现在机器所处在什么位置。第三章 系统概要设计3.1 系统程序文件系统由以下文件组成页面内容程序文件名主界面testpro.java主界面布局文件main.xml触摸屏测试touchtest.java触摸屏布局touch.xml色彩显示测试imagetest.java色彩显示布局image.xml声音播放测试audiotest.java声音播放布局audio.xml重力感应测试weighttest.java重力感应布局weight.xml3.2系统模块设计3.2.1触摸屏测试模块触摸屏是测试所要进行的最基本的也是最重要的测试,因为平板电脑无论何种操作都是离不开触摸屏的。所以测试触摸屏是否能正常使用。在此使用了两个imagebutton(带图片的按钮)用来测试,上面赋值为两个颜色图片,当点击图片的时候颜色会发生改变。如果不能正常的通过点击来改变图片的颜色,证明在触摸屏这一部分存在着问题。此部分的布局是调整着整个图片的大小,可以更改imagebutton的大小来改变图片的大小,同时增加了一个textview(文本输入框)来对于这个操作来进行说明。3.2.2色彩显示测试模块色彩显示这一模块要测试的是机器是否可以正常显示色彩。这对于很多apk文件的运行是有很大影响的。此部分会设置一个系统文件里的图片,用来显示色彩,图片的色彩已经知道。通过观察来分辨。这里设置的同样是一个imagebutton,不过加了一个功能,如果图片小了看着不方便,可以点击图片,将图片放大之后再观察。所以不能单纯的使用imageview(显示图片的控件),否则无法实现使图片放大的这个功能。布局文件是用来改变图片的大小的,同时里面也会设置按钮,作为向下个测试跳转准备的。3.2.3声音播放测试模块 为了测试机器的声音播放是否正常,可以将声音播放出来。声音播放是使用系统里面的mplayer,调用系统文件里存放的一个声音片段,并播放出这个声音。为了使测试尽可能的准确,不会因为声音过小而听不见影响了测试的效果,在程序一开始会将系统的扬声器声音调整为最大值,这样子就可以正常播放。这里的布局很简单,就是设置了一个按钮作为播放和停止播放使用,当然也会增加一个textview来进行说明。3.2.4重力感应模块此部分是测试机器自身携带的重力感应装置是否可以正常感应,在平板电脑使用的时候经常会使用到重力感应,这部分测试也就不可少。此部分的完成是要调用系统重力感应里面所测得的值,在android里对于机器的x,y,z轴都是有着定义的。因此所获取的值都是已知的x,y,z的值。在这部分会将获取的值拿出来进行一个比较,以此来判断现在机器在什么状态下。此部分布局很简单,只需设计按钮进行下一个跳转或者结束测试就可以了。再有就死设置textview来显示现在机器处于什么状态。3.2.5wifi测试此部分是为了测试平板电脑中带有的wifi是否可以正常的链接网络,在使用中机器会要连接无线网络,这就要求机器的wifi是正常的。这部分的测试也就很重要了。此部分开始的时候会先设置一个线程去开启机器的wifi,如果已经开启了就不会有问题了。当开始测试的时候,系统会去让wifi连接检测到的可用的无线网络,并试图去连接。如果无线网络没有设置权限,就可以连接上,并且会吧ping之后得到的ip地址显示出来,并且会显示现在已经ping通;如果无线网络有权限要求,那么就无法获取ip地址,显示的ip地址就是,但是依然会显示已经ping通。如果不正常则会显示无法ping通。在此,布局就是设置textview来显示ip地址等等信息,并要设置按钮来开始测试和结束测试。这里的结束测试是结束整个程序,而不只是wifi测试。第四章 系统详细设计4.1系统模块的设计与实现这个主画面的文件名是testpro.java。这里将所有的功能都集成到一个界面中。包括触摸屏测试,色彩显示,声音播放,重力感应和wifi。之后在主界面里面设置一个跳转指令,开始进行分步的测试。4.1.1主界面的布局系统的整个布局十分重要,在android中的一个很突出的特点就是android中的布局。android中的布局文件是整个程序很重要的一环,布局设置的好使界面看起来很舒服,这个需要在布局方面下很大的工夫。下面来看看整个程序最主要的界面。显示的效果图如图4-1所示:图4-1 进入主画面 主要布局如下面的代码所示: android中的布局是在布局文件中来定义的,这样做是为了修改方便。在代码中做布局也可以,并且在代码中进行布局机器会更快的反应,速度比较快。不过这个在简单的布局中使用比较方便,因为在代码布局的时候需要做很多事情,要设置布局变量和变量的参数,很容易出现问题。而且在代码中布局很多布局参数的设置会和在布局文件中设置的不一样,修改也会很不方便。对于复杂的布局会没有什么好的解决办法,相对来说,在布局文件中进行布局就会符合很多人的习惯,对于变量参数的设置都很方便,而且在修改的时候可以直接找到那个变量,对其参数进行设置改变。所以在大部分情况下使用的都是在布局文件中进行布局。下面我们来分析主界面的布局方式:主界面的布局方式采用在布局文件中进行布局。可以看到界面分为五个部分,这是在布局文件里使用linearlayout来构建出来的效果。首先建立一个全屏的linearlayout,定义布局方式为horizontal,水平布局。在这之下建立两个小的linearlayout,设置布局方式为vertical,垂直布局。并且设置weight值,这个值是用来设置两个linearlayout的大小比例,将这两个值设置为1,让两个linearlayout的大小一致。(这里注意,weight的比值和实际大小是相反的,就是weight值越大,则linearlayout越小)然后再在左边的linearlayout中设置三个linearlayout,每个linearlayout中的weight值都设置成1,这样子就把左边的linearlayout平均分为了三个部分。右边的也一样,设置weight值为1,把linearlayout平均分为两个。这样子就将画面分为如图的五个部分。之后,在每个linearlayout中定义自己想要的布局。开始在测试声音的部分显示的开始声音的测试,当点击过这个按钮之后,按钮会变成如图4-2显示。而wifi部分是没有任何显示的,点击之后会变成图4-3显示。4-2 点击声音测试之后的画面由上面可以看到,按钮变成了停止测试。由于在这里设置了一个条件语句,来判断是什么状态,当点击过开始按钮之后,就会给按钮重新赋值,同时将这个按钮的功能也重新定义,改变成停止。在下面介绍声音播放测试时会说明。之后来进行wifi测试,在主界面上可以看到wifi测试的按钮,点击wifi测试按钮之后,系统会发生以下的变化。测试结果会在屏幕中显示出来,如图4-3中所示。图4-3 点击了wifi测试之后的画面点击了wifi测试之后,系统就会让wifi连接可连用的网络,显示是否可以连接上。由于这是在模拟器中测试,没有可以使用的wifi,所以显示是没有连接上。但是为了让界面看起来没有那么空,即使没有连接上,也在textview中显示了数值。如果wifi检测到附近有无限网络,就会连接至无限网络并获取ip地址,这个时候会显示出获取到的ip的地址。如果可用的无线网络设置有权限,那么wifi连接不上,但是会显示出可以ping通,是因为没有权限才没有连接上,但是由于没有获取到相应的ip地址,这个时候的ip地址也为。上面的黄色进度条是显示wifi是否打开,在程序刚开始运行的时候就会打开wifi,如果wifi没有打开,黄色进度条不会读完。在模拟器中没有wifi,就不会有这种情况发生了。class mywifibuttonlitener implements onclicklisteneroverridepublic void onclick(view v) / todo auto-generated method stubtextip = (textview)findviewbyid(r.id.textipvalue);textdns1 = (textview)findviewbyid(r.id.textdns1value);textdns2 = (textview)findviewbyid(r.id.textdns2value);textgateway = (textview)findviewbyid(r.id.textgatewayvalue);textnetmask = (textview)findviewbyid(r.id.textnetmaskvalue);textrssi = (textview)findviewbyid(r.id.textrssivalue);textping = (textview)findviewbyid(r.id.textpingvalue);wifiinfo wifiinfo = wifimanager.getconnectioninfo(); dhcpinfo dhcpinfo = wifimanager.getdhcpinfo(); int ipaddress = wifiinfo.getipaddress(); ip = formatter.formatipaddress(ipaddress); int dns1 = dhcpinfo.dns1; dns1 = formatter.formatipaddress(dns1); int dns2 = dhcpinfo.dns2; dns2 = formatter.formatipaddress(dns2) ; int gateway = dhcpinfo.gateway; gateway = formatter.formatipaddress(gateway); int netmask = dhcpimask; netmask = formatter.formatipaddress(netmask); int rssi = wifiinfo.getrssi(); rssi = + rssi; bool = wifimanager.pingsupplicant(); if (bool = true) textping.settext(已经ping通); else textping.settext(没有ping通); textip.settext(ip); textdns1.settext(dns1); textdns2.settext(dns2); textgateway.settext(gateway); textnetmask.settext(netmask); textrssi.settext(rssi); 这部分代码就是点击了wifi测试按钮之后所要进行的操作,首先定义了几个textview用来显示数值。下面的获取数值部分是系统里面自带的功能,使用wifi的时候可以用来获取ip,dns1等的值。这里的这部分获取值是在android中定义好的,只需要使用它定义好的方法就可以了。在程序中设置了一个bool变量用来判断是否已经ping通。pingsupplicant在android中已经定义过的,是用来确定你是否已经ping通的。这个函数的返回值就是bool型变量。在主界面里,色彩显示部分做了特殊处理。由于界面比较小,看起来比较紧凑,图片可能看不清,所以在这里加了一个功能进去。当点击图片的时候会弹出一个对话框dialog,将这张图片放大显示,可以更好的看到这个画面。这部分代码如下:class imagebutton3listener implements onclicklisteneroverridepublic void onclick(view v) showtoast(); public void showtoast() layoutinflater li=(layoutinflater)getsystemservice(context.layout_inflater_service); view view=li.inflate(r.layout.toast_layout,null); new alertdialog.builder(this).setview(view).setpositivebutton(返回测试, null).show(); imageview iv1=(imageview)view.findviewbyid(r.id.myimageview1); iv1.setimageresource(r.drawable.threecolor); 点击过后的效果如图4-4所示:图4-4 点击后看到的放大图片分析代码:主要是对于这个监听器和调用的函数的描写,上面的class类是用来定义监听器的内容的,这个监听器用来绑定了那个图片按钮imagebutton3。当定义了监听器之后,可以点击屏幕显示的图片按钮,会触发这个条件,里面调用了一个函数showtoast(自己在程序中定义的),这个函数是用来显示放大后的图片的。函数中首先调用了一个布局文件来定义这个dialog的大小和显示,在其中new一个按钮出来,并使用set来设置按钮的内容。其次就是在里面定义一个imageview,这个imageview用来显示在主界面模块里的图片的放大效果图的。并且在dialog中定义一个按钮用来返回测试。一开始准备使用一个thread(线程)来显示这个图片,并且点击画面就可以返回主界面,但是在后来的实验中发现会与重力感应模块出现冲突,导致系统的崩溃,所以改用了一个dialog。dialog在使用的时候会使主进程失去焦点,把焦点集中到dialog上面来,就相当于暂停了其他的功能,而当dialog结束的时候,就会将原本暂停的功能都开始工作, dialog的功能就不会与原本主进程里的功能发生冲突,也就不会使程序报错。在屏幕右下角有按钮“分步”,这个按钮是为了进入到分步测试用的。代码实现如下:class startbuttonlistener implements onclicklisteneroverridepublic void onclick(view v) / todo auto-generated method stubintent intent = new intent();intent.setclass(testpro.this, touchtest.class);startactivity(intent);finish(); 使用了一个监听器,讲这个按钮绑定了这个监听器,点击之后就会有事件触发。首先新建一个intent活动,之后使用set给这个intent赋值,调用了需要跳转的文件,把这个新的class设置到intent中,如代码所示,在使用set的时候必须先声明一下当前使用的类,然后再声明需要跳转的类。之后使用start来使这个activity运行,finish函数是用来结束当前的activity。不使用finish函数也是可以的,但是这么做会是主进程一直处于后台运行状态,在后续的操作中想要退出会比较麻烦,而且主进程不关闭会消耗系统多余的资源,对于后续的操作有一定的影响。4.1.2触摸屏测试模块当点击了这个按钮之后,画面就会进入到设定好的分步测试了,第一个测试是触摸屏测试。因为触摸屏是最基本也是重要的测试,它的功能是否完善就决定了是否能进行接下来的测试,点击之后的效果如图4-5所示:图4-5 进入了触摸屏测试 触摸屏测试使用的是imagebutton,上面的两个色彩图片也是按钮,点击了之后可以看到颜色发生了变化,就证明了触摸屏是没有问题的。点击这个触发条件发生了。 当再次点击图片的时候,又会从绿色变为原来的蓝色,另外一边点击会有红色变为黄色,再变回为红色。在此加了一个判断语句,来确定点击之后的imagebutton的值变化。代码如下所示:class imagebutton1listener implements onclicklistener int i = 0;overridepublic void onclick(view v) i = i + 1;/ todo auto-generated method stubif (i%2 = 1) myimagebutton1.setimageresource(r.drawable.green01);if(i%2 =0) myimagebutton1.setimageresource(r.drawable.blue01); 使用监听器绑定这个imagebutton,这里使用一个判断语句,当开始点击的时候,i的值加1,判断出值为奇数,会给imagebutton赋值成一个新的图片,当再次点击的时候,i值为偶数,就会触发下面的语句,重新给imagebutton赋值为原来的图片。如果在这里点击的时候可以发生上述的变化,则证明触摸屏的功能没有问题,可以触发条件来进行跳转。如果没有发生变化,则证明触摸屏有问题,下面的测试也就无法进行了。需要说明一点,由于使用了页面跳转,就是新建了一个新的activity,需要在工程里的androidmanifest文件中声明一下,否则在执行这个跳转功能语句的时候程序会出现错误。文件里面就是设置一些权限用的,在工程运行的时候第一个开始运行的文件,需要在此声明。这个过程一般在工程建立的时候就声明好了。4.1.3色彩显示模块在触摸屏下面的按扭是用来进行下一个测试使用,点击之后就会跳转到色彩的测试,如图4-6所示:图4-6 色彩测试该部分测试比较简单,测试中会设置一个textview,并在其中加入一些说明文字,来解释如何进行色彩测试。public void oncreate(bundle savedinstancestate) super.oncreate(savedinstancestate); setcontentview(r.layout.image); myimagebutton3 = (imageview)findviewbyid(r.id.myimagebutton3); myimagebutton3.setimageresource(r.drawable.threecolor); mybutton2 = (button)findviewbyid(r.id.mybutton2); mybutton2.settext(r.string.mybutton2); mybutton2.setonclicklistener(new mybutton2listener(); class mybutton2listener implements onclicklistenerpublic void onclick(view v) / todo auto-generated method stubintent intent = new intent();intent.setclass(image.this, audiotest.class);startactivity(intent); class mybutton3listener implements onclicklistenerpublic void onclick(view v) / todo auto-generated method stubfinish(); 分析代码:色彩测试模块,使用了一个imagebutton和两个button,首先对变量进行定义、布局,在布局文件中定义好变量的布局,之后使用findviewbyid这个指令从布局文件中调用声明好的变量。imagebutton用来放置图片,使用了setimageresource来给这个imagebutton赋值。threecolor这个图片是资源文件中的文件。这里的图片调用使用imageview也是可以的,在这里的imagebutton没有设置任何跳转设置,从表面上看二者是没有什么分别的。下面再给两个button定义和设置监听器,之后在监听器中设置功能。需要说明的是,该功能模块需要测试者通过肉眼观察来判断是否是说明的几种颜色。系统不能自动对色彩进行测试。因为系统的色彩显示如果出现问题,那么即使它显示的图片有问题,系统也无法对其进行识别,判断色彩的显示是否有问题,所以需要测试者通过观察来确定。此监听器设置是为实现跳转功能,新建一个intent,然后在使用set给新建的intent赋值为下一个要进行测试的模块,并且开始这个活动。在另外一个按钮中设置退出功能。4.1.4声音播放模块声音测试,点击按钮之后的画面如图4-7所示:图4-7 声音测试这部分是听是否有声音发出的,当点击开始之后按钮变化成停止播放。执行的代码如下:class mybutton1listener implements onclicklistener int i = 0;overridepublic void onclick(view v) / todo auto-generated method stubi = i + 1;if(i%2 = 1)mybuttonplay.settext(r.string.mybutton2);mplayer = mediaplayer.create(testpro.this, r.drawable.testaudio);mplayer.start();if(i%2 = 0)mybuttonplay.settext(r.string.mybutton1);mplayer.stop(); 和触摸屏测试一样,是使用判断语句来确定按钮显示内容和功能。当点击按钮的时候,会触发i+1这个指令,这时候i=1,也就是奇数,会触发上面的判断语句,然后会初始化mplayer,并且将资源文件中的音乐文件加载到mplayer中,使用系统中自带mplayer播放音乐文件。当再次点击的时候,i的值就会等于是偶数,会触发下面的判断,改变按钮上的显示,把开始改变成停止播放,程序中的settext就是改变这个值所调用的,并且会触发stop函数,结束mplayer播放音乐。mplayer必须事先进行初始化才可以开始运行,所以如果初始化mplayer的语句没有设置在监听器的判断语句里面,而是在外面,那么当你点击结束的时候,系统会判定mplayer的动作已经结束了。所以再次点击开始播放音乐的时候,初始化的语句不会再次

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论