基于Android的计算器的设计与开发(程序代码+任务书+说明书+外文翻译+演示文稿)_第1页
基于Android的计算器的设计与开发(程序代码+任务书+说明书+外文翻译+演示文稿)_第2页
基于Android的计算器的设计与开发(程序代码+任务书+说明书+外文翻译+演示文稿)_第3页
基于Android的计算器的设计与开发(程序代码+任务书+说明书+外文翻译+演示文稿)_第4页
基于Android的计算器的设计与开发(程序代码+任务书+说明书+外文翻译+演示文稿)_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

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

文档简介

太原理工大学毕业设计(论文)用纸i基于android计算器的设计与开发摘要目前手机可以说是普及率非常高的电子设备了,由于其便于携带,使用方便,资费适中等等原因,现在手机已经在一定程度开始代替固定电话的通话功能,以及一些原来电脑软件上的功能了。手机上的软件也随着手机的发展变得丰富起来了,时至今日已经出现了很多专门制作手机软件的公司,虽然制作的多是游戏软件,但是一些辅助性的工具软件也有了很多。科技的不断创新,智能产品已经走近了到千家万户。它们不再是人们眼中的奢侈品,Android随着智能手机就是其中之一。由于智能化节奏的加快,一些相关的产业也迅速的发展起来。适用于Android操作系统的应用软件数不胜数。这些软件功能强大,内容丰富,孰不知再给用户带来乐趣的同时,也增加了不少麻烦。由于应用软件功能强大,这就意味这需要占用更多的手机内存。从而导致手机的生存周期变短。本文正是基于Android平台开发的计算器。论文主要阐述以面向对象的程序开发语言eclipse为开发工具,设计并实现基于Android的计算器。本文将对Android操作系统的历史,以及国内外的研究现状做一个详细的研究。并以一个软件开发模式来讲解该应用软件,包括需求分析、总体设计、详细设计、测试以及总结。关键词:智能化;计算器;Android太原理工大学毕业设计(论文)用纸iiDevelopmentofApplicationforMultimediaPlayeronAndroidPlatformAbstractCurrentmobilephonescanbesaidisveryhighpenetrationrateofelectronicequipment,becauseofitseasytocarry,easytouse,andtariffmoderatereason,andnowthephonehasbeentosomeextentinsteadofthefixedtelephonecallingfeatures,aswellasthefunctionofthenumberoforiginalcomputersoftwarea.Thesoftwareonthephonewiththedevelopmentofmobilephonesbecomericher,andtodaytherehavebeenalotofcompaniesspecializedintheproductionofmobilephonesoftware,althoughtheproductionofmulti-gamesoftware,butanumberofcomplementarytoolsalsohavealot.Withtheconstantinnovationofscienceandtechnology,intellectualproductshaveapproachedtothousandsofhouseholds.Theyarenolongerconsideredasluxury.Forexample,AndroidSmartphoneisoneofthem.Sincethedevelopmentofintelligentializespeedsup,somerelatedindustrieshavedevelopedrapidly,andlargenumbersofapplicationsoftwarewhichissuitableforAndroidoperatingsystemappearedgradually.Thesoftwareispowerfulinfunctionandrichincontent,butwhentheybringpleasuretotheusers,theyalsobringsometroublesinthemeantime.Duetothepowerfulfunctionsofapplicationsoftware,itmayoccupymorememoryofthephone,whichmayleadtoashorterlifecycleofthephone.ThisarticleisbasedontheAndroidplatformcalculator.Thethesisdescribesobject-orientedprogramminglanguageeclipsedevelopmenttools,designandimplementacalculatorbasedontheAndroid.Inthisarticle,thehistoryoftheAndroidoperatingsystemaswellastheresearchesathomeandabroadisanalyzedindetails.Theapplicationsoftwareisexplainedwithasoftwaredevelopmentalmodel,includingrequirementsanalysis,overalldesign,detaileddesign,太原理工大学毕业设计(论文)用纸iiitestingandsummary.Keywords:intelligentialize;calculator;Android目录摘要.IABSTRACT.II1绪论.11.1背景介绍.11.1.1IT发展趋势.11.1.23G发展趋势.11.1.3移动互联网发展趋势.11.1.4Android简介.21.2研究内容与意义.41.3本文结构.51.4本章小结.52需求分析.62.1概述.62.2需求分析.62.2.1功能需求.62.2.2质量要求.72.2.3环境需求.72.2.4界面需求.72.3本章小结.73总体设计.83.1问题描述.83.2设计思想.8太原理工大学毕业设计(论文)用纸iv3.3结构设计.83.3.1总体模块详细设计.103.3.2输入模块详细设计.103.3.3显示模块详细设计.113.3.4计算模块详细设计.113.4程序流程图.123.5本章小结.134详细设计.144.1环境搭建.144.1.1软件下载.144.1.2软件安装.164.2模块功能实现.214.2.1图形界面设计.214.2.2程序功能实现.234.3本章小结.295软件测试与运行.305.1概述.305.2系统测试.305.2.1测试过程.305.2.2测试结果.335.3应用安装.335.3.1应用打包.335.3本章小结.34总结与展望.35参考文献.36致谢.37太原理工大学毕业设计(论文)用纸v外文文献.38外文翻译.44太原理工大学毕业设计(论文)用纸11绪论1.1背景介绍1.1.1IT发展趋势(1)IT时代变化趋势早期的第一代代表机器是由IBM公司生产的大型机。接着发展到以苹果和微软为代表的PC机,随后便是以谷歌和百度公司为主的互联网时代,按照以上的说法,那么现在就是移动互联网的时代了。(2)互联网用户的变化趋势据统计,2007年到2010年,互联网用户平均在每年都有接近20%到30%的增长率。并且这一数据还在继续攀升。在2010的时候,中国的互联网用户已经达到4亿6千多万。2011年7月有一消息显示,中国已经有7.85亿网民,其中手机用户已经达到3.78亿,网络收益也从65亿迅速的增长到327亿。1.1.23G发展趋势什么是3G?3G就是第三代移动通信技术,主要是用来支持高速数据传输的蜂窝移动通讯技术。在目前的市场上。3G存在的标准主要有以下四种:CDMA2000:这是目前电信使用的标准,主要市场在北美。WCDMA:这是一个使用范围最广的标准,iPhone首先采用的就是该标准,在国内,联通就使用的是WCDMA标准。TD-SCDMA:这是一个有中国自主产权的标准,主要的使用的对象是移动用户。WIMAX:4G在3G之前,主要是2G时代。2G和3G的本质区别在于带宽。1.1.3移动互联网发展趋势根据最新的数据统计,2013年Q1智能手机系统份额中,Android手机的销售量达到惊人的1.621亿台,占75%的市场份额,较去年同期增长9030台。由此可以看出Android的生存能力以及将来的发展趋势。各智能手机市场份额统计表如表1-1太原理工大学毕业设计(论文)用纸2所示。太原理工大学毕业设计(论文)用纸3表1-12013第一季度五大智能手机出货量和市场份额2014第一季度五大智能手机出货量和市场份额OperatingSystem1Q13ShipmentVolume1Q13MarketShare1Q12ShipmentVolumn1Q12MarketShareYearoverYearChangeAndroid162.175%90.359.1%79.5%iOS37.417.3%35.123.0%6.6%WindowsPhone7.03.2%3.02.0%133.3%BlackBerryOS6.32.9%9.76.4%-35.1%Linux2.11.0%3.62.4%-41.7%Symbian1.20.6%10.46.8%-88.5%Others0.10.0%0.60.4%-83.3%Total216.2100.0%152.7100.0%41.6%1.1.4Android简介Android是由google公司和开放手机联盟开发的一种基于Linux的开放源码的操作系统,主要用于像智能手机这样的移动设备。Android是一个完整的手机软件平台,有自己的操作系统、中间件和一下应用程序,如图1-1所示。太原理工大学毕业设计(论文)用纸4HomeContactsPhoneBrowser.ActivityManagerPackageManagerTelephonyManagerResourceManagerLocationManagerXMPPServiceNotificationManagerViewSystemWindowManagerContentProvidersOpenGLJESSerfaceManagerMediaFrameworkSGLFreeTypeSSLSQLiteWebKitCoreLibrarieslibcDalvikVirtualMachineDisplayDriverCameraDriverUSBDriverBluetoothDriverKeypadDriverWiFiDriverFlashMemoryDriverAudioDriversBinder(IPC)DriverPowerManagementApplicationsLibrariesApplicationFrameworkLinuxKernelAndroidRuntime图1-1Android系统Android是以Linux为核心的手机操作平台,作为一款开放式的操作系统,随着Android的快速发展,如今已允许开发者使用多种编程语言来开发Android应用程序,而不再是以前只能使用Java开发Android应用程序的单一局面,因而受到众多开发者的欢迎,成为真正意义上的开放式操作系统。Android操作系统的内核属于Linux内核的一个分支,具有典型的Linux调度和功能,除此之外,Google为了能让Linux在移动设备上良好的运行,对其进行了修改和扩充。Android去除了Linux中的本地XWindowSystem,也不支持标准的GNU库,这使得Linux平台上的应用程序移植到Android平台上变得困难38。2008年,PatrickBrady于GoogleI/O演讲“Anatomy&PhysiologyofanAndroid”,并提出的AndroidHAL架构图。HAL以*.so档的形式存在,可以把Androidframework与Linuxkernel隔开,这种中介层的方式使得Android能在移动设备上获得更高的运行效率。这种独特的系统结构被Linux内核开发者GregKroah-Hartman和其他内核维护者称赞。Google还在Android的内核中加入了自己开发制作的一个名为“wakelocks”的移动设太原理工大学毕业设计(论文)用纸5备电源管理功能,该功能用于管理移动设备的电池性能,但是该功能并没有被加入到Linux内核的主线开放和维护中,因为Linux内核维护者认为Google没有向他们展示这个功能的意图和代码。Android系统最初由安迪鲁宾(AndyRubin)开发制作,最初开发这个系统的目的是利用其创建一个能够与PC联网的“智能相机”生态圈。但是后来,智能手机市场开始爆炸性增长,Android被改造为一款面向手机的操作系统。于2005年8月被美国科技企业Google收购。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商成立开放手持设备联盟来共同研发改良Android系统,随后,Google以Apache免费开源许可证的授权方式,发布了Android的源代码。让生产商推出搭载Android的智能手机,Android操作系统后来更逐渐拓展到平板电脑及其他领域上。1.2研究内容与意义随着21世纪的到来,我们已经步入了信息化时代,这个时代的最重要的标志就是信息技术的广泛应用。而手机正是信息技术的一个重要体现。如今社会上手机的应用已经达到了非常普及的程度,基本随处都可以见到手机的身影。我们也熟悉了在社会各处遇见它们,家里,办公室里,学校,马路上,基本可以说是有人的地方就用手机的存在。手机发展到今天,已经和最初的手机有了天差地别。计算器作为现在人们日常生活中常用的一种工具已经可以说是人们日常生活中必不可少的工具了。但是计算器的发展经历了漫长的过程,凝聚无数先人的智慧,甚至连计算机的发展都可以说是源于计算器的发展。计算器和计算机一样都能够实现数据的输入、处理、存储和输出这些基本的功能。但是计算器区别于计算机的地方就是,它不能自动的进行计算,必须要求由人来操作完成计算;而计算机通过提前编写好的程序就能够自动的按照程序进行处理。所以计算器和计算机的一个显著地区别就在于是否需要人为地操作来完成运行。这二者还有另一个本质性的区别。计算器的处理数据的方法是生产时就已经固话在系统中了,所以计算器只能按照系统中规定的处理方法来处理用户要求的计算任务;而计算机由于可以自行安装操作系统和各种的相关软件和硬件,理论上计算机拥有的可扩展性是无穷的。所以简单的说,计算器和计算机的本质性区别就在于该系统是否存在可扩展性。目前手机可以说是普及率非常高的电子设备了,由于其便于携带,使用方便,资费适中等等原因,现在手机已经在一定程度开始代替固定电话的通话功能,以及一些原来电脑软件上的功能了。手机上的软件也随着手机的发展变得丰富起来了,时至今日已经出现了很多专门制作手机软件的公司,虽然制作的多是游戏软件,但是一些辅助性的工具软件也有了很多。太原理工大学毕业设计(论文)用纸6本课题的内容是利用JAVA语言来编写一个手机计算器程序,要求计算器界面友好,方便使用,显示至少12位结果,具有基本的加、减、乘、除、算数平方根、平方、求倒数功能,能够判断用户输入运算数是否正确,支持小数运算,具有退格功能,能够删除最后一个输入,具有清除功能,即C,支持触屏手机。本系统是一个基于现在手机计算器开发的在触屏手机上运行的简单科学计算器。拥有简单计算器中没有的科学计算器功能。使用户可以更加简单便捷的使用一些科学计算器的功能,同时还不用学习科学计算器那复杂的使用方法。本人在此次系统中所做的工作主要是设计整个系统以及利用编程语言实现整个系统,使系统能够正确的运行计算功能。1.3本文结构第1章概述了IT的发展趋势、3G发展趋势以及互联网发展趋势,并且介绍了Android。第2章主要介绍了本次毕业设计的需求分析,包括功能需求、质量需求、环境需求和界面需求。第3章对整个项目的总体设计做了一个介绍,确定了整个项目的结构。第4章最整个项目功能实现做了一个介绍,包括前期的环境搭建,和后面的模块功能实现。第5章介绍了项目测试,以及如何把做好的程序打包安装到手机。第6章对项目进行总结。1.4本章小结本章节主要对手机计算器应用开发的项目背景、研究内容以及研究意义做了详细的说明,首先介绍了目前IT的发展趋势、3G发展趋势、移动互联网发展趋势以及Android的简介。只有了解到目前的状况,以及将来的发展趋势,才能适应整个信息时代。另外掌握Android有助于今后项目的开发。太原理工大学毕业设计(论文)用纸72需求分析一个好的手机应用不是外表做的有多么的华丽,功能有多么复杂,而是是否满足广大用户的基本需求。只有做到用户所想要的,才能确保该应用的生存能力。因此,需求分析对于一个应用来说起到决定性的作用。满足了用户的需求就离成功不远了。本章节将对计算器的需求做一个完整的分析。2.1概述随着手机的智能化速度加快,手机的更新换代速度也将随之加快,配置也越来越高。同样手机应用的功能越来越强大。随之而来带来了不少麻烦。尽管在当时手机的配置很高,但是在一两年之后会发现配置已经是市面上较低的。已经无法满足一些大的手机应用了。往往是因为这些应用占用资源越来越大。所以如果能开发出一个既能满足于广大用户的需求,又能减少对手机资源的占用,空出更多的资源来安装更多的手机应用,这将在市场中占有一定的前景。2.2需求分析2.2.1功能需求根据用户的实际要求,程序应实现以下功能:计算器界面友好,方便使用,具有基本的加、减、乘、除功能,能够判断用户输入运算数是否正确,支持小数运算,具有退格功能,能够删除最后一个输入,具有清除功能,即“C”。整个程序基于Android技术开发,除总体模块外主要分为输入模块、显示模块以及计算模块这三大部分。在整个系统中总体模块控制系统的生命周期,输入模块部分负责读取用户输入的数据,显示模块部分负责显示用户之前输入的数据以及显示最终的计算结果,计算机模块部分负责进行数据的运算以及一些其他的功能。下面较为详细的做了说明。具体的说,总体模块的作用主要是生成应用程序的主类,控制应用程序的生命周期。输入模块主要描述了计算器键盘以及键盘的监听即主要负责读取用户的键盘输入以及响应触屏的按键,需要监听手机动作以及用指针事件处理方法处理触屏的单击动作。同时提供了较为直观的键盘图形用户界面。显示模块描述了计算器的显示区,即该区域用于显示用户输入的数据以及最终的计算结果,同时负责显示一些其他的信息。太原理工大学毕业设计(论文)用纸8计算模块则主要描述了计算器的整体,实现了计算器的界面,负责计算用户输入数据,包括加、减、乘、除等各种功能,记忆数据的相关功能,退格以及清零的功能。系统除了总体模块以外主要由三大模块来组成,即输入模块、显示模块和计算模块,如下图所示:输入模块主要描述了计算器键盘以及键盘的监听即主要负责读取用户的键盘输入以及响应触屏的按键,需要监听手机按键动作以及用指针事件处理方法处理触屏的单击动作(以松开按键为准)。同时提供了较为直观的键盘图形用户界面。显示模块描述了计算器的显示区,即该区域用于显示用户输入的数据以及最终的计算结果,同时还负责显示一些其他的信息。计算模块则主要描述了计算器的整体,实现了计算器的界面,负责计算用户输入数据,包括加、减、乘、除、等各种计算功能,记忆数据的相关功能,退格以及清零的功能。2.2.2质量要求本次毕业设计的质量要求如表2-7所示。表2-7多媒体播放器质量要求主要质量属性详细要求正确性软件的能够满足用户的计算需求。可靠性遇到异常时,能够给用户提示,尽量恢复正常状态。健壮性良好的设计和测试,减少bug,降低出现意外的可能。兼容性在不同的设备和不同版本的android系统上运行同样良好。2.2.3环境需求操作系统:window7开发环境:Eclipse8.5开发平台:JDK1.6;Tomcat6.0;Android2.2智能手机2.2.4界面需求界面是一个软件的门面,一个舒适、和谐的界面会让用户感觉舒服。本系统要做太原理工大学毕业设计(论文)用纸9到UI界面简洁美观,各种操作的图标表示准确,各种操作菜单符合用户的一般习惯,使得用户可以轻松的使用本计算器而不需要看说明书甚至培训。2.3本章小结本章主要对Android计算器的需求做了一个介绍,需求分析是在这个软件开发流程中唯一一个面向用户的环节,但也是不容忽视的一个环节。否则后面工作做的再好也是徒劳。我们做每个项目最终是让用户使用,如果没达到用户的要求,整个项目就等于零。因此要做好需求分析记录。做好经常和用户沟通。在充分了解了用户的需求之后再确定系统的功能。其次需求也是多方面的,有用户为主的功能需求、可用性需求,还有开发的开发环境需求。太原理工大学毕业设计(论文)用纸103总体设计3.1问题描述在Android应用市场上有关计算器软件很多。从大的方向来说功能相似,只有在一些小的功能上有所差异,但很快其他的软件将会弥补这一功能。从开发商的角度来说,健壮自己的应用,使自己的应用功能越来越强大,能够赚更多的钱。但从用户的角度来说过大的功能浪费了很大的一部分手机内存。鱼和熊掌不可兼得。对于手机配置较低的用户不得不选择放弃功能强大的软件,去寻找占用资源较少的软件。鉴于上述缺点,本次设计设计的是一个注重使用的Android手机应用,该应用主要能够使用户能够方便快捷的使用。3.2设计思想一个优秀的应用软件离不开一个优秀的设计思路,本次设计主要以以下三个方面来设计。(1)将整个应用的功能分为四个模块,减少之间的相关性,增加应用的可扩展性。(2)整个设计过程按照从小到达,逐层完善,单独调试,减少相互干扰。最后再整合测试。(3)采用数据流设计模式,降低耦合度。3.3结构设计根据任务书,符合使用用户的实际要求,系统应实现以下功能:计算器界面友好,方便使用,显示至少6位结果,具有基本的加、减、乘、除功能,能够判断用户输入运算数是否正确,支持小数运算,具有退格功能,能够删除最后一个输入,具有清除功能,即C,具有结果存储功能,能够显示存储器状态,支持触屏手机。整个程序基于android技术开发,出总体模块外主要分为输入模块、显示模块以及计算模块(包括一些其他功能)这三大部分。在整个系统中总体模块控制系统的生命周期,输入模块部分负责读取用户输入的数据,显示模块部分负责显示用户之前输入的数据以及显示最终的计算结果,计算模块部分负责进行数据的运算以及一些其他的功能。下面较为详细的做了说明。具体的说,总体模块的作用主要是生成应用程序的主类,控制应用程序的生命周太原理工大学毕业设计(论文)用纸11期。输入模块主要描述了计算器键盘以及键盘的监听即主要负责读取用户的键盘输入以及响应触屏的按键,需要监听手机按键动作以及用指针事件处理方法处理触屏的单击动作(以松开按键为准)。同时提供了较为直观的键盘图形用户界面。显示模块描述了计算器的显示区,即该区域用于显示用户输入的数据以及最终的计算结果,同时还负责显示一些其他的信息。计算模块则主要描述了计算器的整体,实现了计算器的界面,负责计算用户输入数据,包括加、减、乘、除、等各种计算功能,记忆数据的相关功能,退格以及清零的功能。如下图3-1所示。图3-1系统的功能图整个程序基于Android技术开发,除总体模块外主要分为输入模块、显示模块以及计算模块这三大部分。在整个系统中总体模块控制系统的生命周期,输入模块部分负责读取用户输入的数据,显示模块部分负责显示用户之前输入的数据以及显示最终的计算结果,计算机模块部分负责进行数据的运算以及一些其他的功能。下面较为详细的做了说明。具体的说,总体模块的作用主要是生成应用程序的主类,控制应用程序的生命周期。输入模块主要描述了计算器键盘以及键盘的监听即主要负责读取用户的键盘输入以及响应触屏的按键,需要监听手机动作以及用指针事件处理方法处理触屏的单击动作。同时提供了较为直观的键盘图形用户界面。显示模块描述了计算器的显示区,即该区域用于显示用户输入的数据以及最终的计算结果,同时负责显示一些其他的信息。计算模块则主要描述了计算器的整体,实现了计算器的界面,负责计算用户输入数据,包括加、减、乘、除等各种功能,记忆数据的相关功能,退格以及清零的功能。太原理工大学毕业设计(论文)用纸12系统除了总体模块以外主要由三大模块来组成,即输入模块、显示模块和计算模块,如下图所示。图3-2系统模块图系统这三大模块都各自包含什么内容在下文的系统详细设计中会有进一步的说明,此处就暂且略过。下面就来详细的说明一下系统的各个模块都是如何设计的。3.3.1总体模块详细设计总体模块需要完成的任务主要就是系统的程序启动类,需要负责整个系统的生命周期。同时在还要在模块中完成菜单栏的所有功能,即退出程序,记忆数据,显示数据,清除记忆数据这四个功能。总体模块的功能图如图3-3所示。图3-3总体模块功能图太原理工大学毕业设计(论文)用纸133.3.2输入模块详细设计系统如果想完成计算器中的各种功能,首先用户要能进行数据输入,由于是在触屏手机上开发计算器程序,所以要求输入可以直接使用触屏进行,所以在设计的时候就要充分的考虑要这一点。正是由于考虑到这个特殊的地方,所以在进行模块设计中,选择编写输入模块类的时候会特意选取使用了可以支持触屏输入的特殊增强型图形用户界面类。输入模块主要的任务是描述计算器键盘以及实现键盘的监听,即当用户点击按键或者屏幕的时候监听器会去调用相应的处理办法,本模块还需要为系统提供了一个较为直观的键盘图形用户界面。输入模块的功能图如图3-4。图3-4输入模块功能图3.3.3显示模块详细设计作为手机计算器系统,显示部分也是必不可少的一部分。没有显示部分就没有办法显示用户输入的数字是否正确,甚至不能显示计算出的结果,由此可见显示模块即包括输入的部分也包括输出的部分。显示模块主要要完成的任务是描述计算器的显示区,该区域用于显示用户输入的数据以及最终的计算结果和一些其他信息。同时本模块还将提供调用和设置显示的具体方法。显示模块的功能图如图3-5。太原理工大学毕业设计(论文)用纸14图3-5显示模块功能图3.3.4计算模块详细设计系统要完成整个的计算器的计算功能,那么计算模块就是整个系统的重点模块。没有计算模块系统就不能顺利的完成计算,就无法达到用户的要求。所以计算模块的设计也是本次系统设计中的重点。系统想要能在屏幕上显示出计算器的样子要有整体的布局,在本模块中要完成布局的具体设计,使用户能够看到整个计算器的画面。同时系统想完成计算功能必须要处理用户的输入,当输入模块的监听传到计算模块中时,计算模块就要根据相应的方法进行进一步的处理。这部分主要是对输入进行的逻辑判断,基本会通过ifelse来实现逻辑判断。计算模块的功能图如图3-6。太原理工大学毕业设计(论文)用纸15图3-6计算模块功能图3.4程序流程图知道了系统的功能以后,我们通过main.xml来建立显示界面,完成后系统开始监听用户的按键输入,每次输入系统都会判断一次用户输入的类型,是数字还是运算符号或者是清除,判断完后分成不同类型如数字,符号,基本运算等等进行进一步的处理,根据用户的要求继续进行下一步的操作,最后计算出最终结果并显示在显示区。系统流程图如图3-7所示。太原理工大学毕业设计(论文)用纸16图3-7程序流程图3.5本章小结总体设计的目的就是回答“概括地说,系统应该是这样怎样实现的?”这个问题,总体设计又称为概要设计或初步设计。这就好比公司的领导,站在全局进行规划,从比较抽象的层次中分析多种可能的系统。本章就是按照总体设计要求,确定设计思路,结构设计。确保开发成本最低,花费时间最短。4详细设计4.1环境搭建4.1.1软件下载(1)JDK6.0下载JDK(JavaDevelopmentKit)是SunMicrosystems针对Java语言程序开发的产品。自从Java推出以来,JDK已经成为使用最广泛的JavaSDK。JDK是整个Java的核心组件,其中包括了Java的运行环境,Java工具和Java基础的类库。可以说JDK是学好Java的第一步。从SUN的JDK5.0开始提供了泛型等等一些非常实用的功能,而且版本还在不断更新,到本论文写作时已经更新到了JDK6.0了。运行效率也随着版本的不断更新而得到了很大的提高。在浏览器输入网址/technetwork/java/javase/downloads.html,进入JDK官网进行下载。如图4-1所示。太原理工大学毕业设计(论文)用纸17图4-1JDK下载(2)SDK下载AndroidSDK:(softwaredevelopmentkit)软件开发工具包。被软件开发工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。在网页输入/sdk/index.html进行下载。下载界面如图4-2所示。图4-2SDK下载页面(3)Eclipse下载Eclipse最初是由OTI和IBM公司开发的替代商业软件VisualAgeforJava的下一代IDE开发环境,在2001年11月贡献给开源社区,现在它由非营利软件供应商联盟Eclipse基金会(EclipseFoundation)管理。太原理工大学毕业设计(论文)用纸18输入网址/downloads/进入eclipse下载页面,如图4-3所示。图4-3Eclipse下载页面(4)Tomcat下载在地址栏输入/download-60.cgi进入下载页面,如图4-4所示。图4-4tomcat下载页面(5)Tomcat对Eclipse插件下载输入网址/tomcatPlugin.html进入下载页面,如图4-5所示。太原理工大学毕业设计(论文)用纸19图4-5tomcat插件下载4.1.2软件安装(1)JDK安装与配置安装JDK,直接点击jdk-6u10-rc2-bin-b32-windows-i586-p-12_sep_2008.exe文件,路径选择D盘根目录然,其他点击下一步知道安装完成。接下来进行环境配置,单击右键我的电脑-属性-高级系统设置-环境变量进行配置。配置步骤如图4-6所示。图4-6JDK环境变量配置测试配置是否成功,点击运行输入cmd,进入DOS窗口,输入javac,如果安装正确,则会出现图4-7所示的结果。太原理工大学毕业设计(论文)用纸20图4-7检测JDK是否安装正确(2)Eclipse安装解压下载的Eclipse包到F盘根目录,然后找到并打开eclipse.exe即可。(3)SDK安装直接解压下载的SDK包到F盘根目录。(4)在Eclipse中安装ADT首先打开Eclipse,点击菜单栏中的Help-InstallNewSoftWare,然后在弹出的窗口中点击Add,如图4-8所示。太原理工大学毕业设计(论文)用纸21图4-8ADT安装在弹出的窗口中点击Archive,选择下载好的ADT,点OK就结束了。(5)Eclipse配置tomcat解压下载好的tomcatPluginV321.zip大Eclipse的plus目录中。如图4-9所示。图4-9安装插件重启Eclipse,会发现在界面中出现三个tomcat图标。如图4-10所示。图4-10tomcat插件然后点击Window-Preferences-Tomcat选择tomcat版本,填写tomcat路径。点OK完成配置。如图4-11所示。太原理工大学毕业设计(论文)用纸22图4-11配置tomcat启动tomcat,如果出现图4-12所示结果,则证明配置成功。图4-12启动tomcat(6)关联SDK到Eclipse中太原理工大学毕业设计(论文)用纸23安装ADT完成之后,打开Eclipse开始关联SDK了。点击菜单栏中的window-Preferences,然后选择Android,在右边点击Browse,找到SDK安装路径,点击Ok完成关联。如图4-13所示。图4-13Eclipse关联AndroidSDK(7)创建Android模拟器如图4-14所示步骤,在Eclipse上创建一个Android模拟器。图4-14Android模拟器搭建好运行环境之后,新建一个AndroidProject,然后选中项目,右键RunAs-太原理工大学毕业设计(论文)用纸24AndroidApplication。就可以出现模拟器的界面。如图4-15所示。图4-15Android模拟器界面Android模拟器是一款虚拟的Android智能手机,有个该模拟器可以很直观的将做的项目显示出来,方便调试程序。如图4-15所示,左侧界面是模拟器显示器,右边有菜单按钮和键盘。4.2模块功能实现4.2.1图形界面设计根据MVC原则,UI应该与程序逻辑相分离,因此,在XML中定义UI结构是强烈推荐的。常用的方式是用图形化的方式来编写布局Layout,这些布局保存在XML文件中,然后编译成资源,在程序中Activity通过setContentView()方法来加载,然后通过findViewByld()方式来获得每一个界面组件的引用。实现过程及步骤。在layout文件夹下定义自己的XML页面,如计算器属性界面的部分实现代码如下所示:太原理工大学毕业设计(论文)用纸25用XML实现用户界面具有以下优点:a)XML文件结构清晰,易于扩展,系统可扩展性好。太原理工大学毕业设计(论文)用纸26b)用户界面与业务逻辑完全分离,降低了系统界面与业务逻辑的耦合性。c)XML文件简单易懂,可维护性好。缺点是:XML文件构建的界面已在配置文件中实现,无法在系统运行时动态更新页面。本系统的用户图形界面如4-16所示。图4-16图形界面图4.2.2程序功能实现从用户图形界面可以看出,该系统主要分为三个模块:输入模块,显示模块和计太原理工大学毕业设计(论文)用纸27算模块。(1)输入模块,主要描述了计算器键盘以及键盘的监听即主要负责读取用户的键盘输入以及响应触屏的按键,当用户点击按键或者屏幕的时候监听器会去调用相应的处理办法,具体的处理办法会在相关的地方进行说明。在本项目中,在触屏上提供了各种功能的按键,分别是C,0,1,2,3,4,5,6,7,8,9,+,-,=,CE等。在整体界面的设置中,我还为各个按键的设置中我还设置了字体的大小,用下列语句实现:字体大小:android:textSize=25dip(2)显示模块,主要描述了计算器的显示区,即该区域用于显示用户输入的数据以及最终的计算结果和一些其他信息。显示模块还设置了显示的字体,大小,颜色,同时还设置了显示字体的颜色。具体设置如下代码:显示区中使用的是基于增强型的图形用户界面EditText,利用此类的功能,在显示模块中完成了以上设置。显示模块声明了这些设置,在用户使用系统的时候,会在协同布局设置一同完成以上设置,使用户在使用的时候可以直观的看到显示区的样子。一般情况下都会选择差不多的字体,所以此处选择的字体和键盘上显示的字体其实是一样的,但是事实上系统中进行了两次声明,即逻辑上这是两种不同的字体,以及设置字符串text为空。显示区和输入模块中的表格一样,同样分别设置了最小显示以及完美显示这两种状态。然后声明了显示区的画法,画法中包括了显示区的两个矩形组成的显示框,显示框的颜色和大小以及显示框中显示的文字所使用的字体,还有文字在显示框中的位置。最后设置了计算模块中的变量得到以及改变显示中所显示的内容的方法,当显示中的内容发生变化时,系统会运行repaint命令来重画显示区,由于使用的是比较低级的方法,所以只能通过整个显示区来实现显示更新这个命令。这样虽然和使用高级的方法相比速度上可能有点慢,但是由于时间相差的不是很多,在用户的正常使用中是不会有所感觉的。以上就是显示模块的具体实现流程,具体的实现方法请参照附件1中的代码。在我的设计中,将综合使用LinearLayout、TableLayout、EditText和TextView等UI布局和控件来实现计算器的界面。其中,整个界面的布局为LinearLayout,按钮的布局需要对EditText和Button的一些属性进行相关设置,以使得它们满足我们的需要。计算模块:计算模块则主要描述了计算器的整体,实现了计算器的界面,定义了用户单击的处理办法,通过定义的处理办法来完成用户的操作命令,实现用户的计算要求,这些计算要求包括了数值的输入,小数点的输

温馨提示

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

评论

0/150

提交评论