欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > DOCX文档下载  

    -基于Android计算器的设计与应用论文---.docx

    • 资源ID:1364901       资源大小:207.55KB        全文页数:33页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    -基于Android计算器的设计与应用论文---.docx

    北京北大方正软件技术学院毕业设计(论文)题目:基于AndrOid计算器的设计与应用系别:软件工程分院专业:软件技术学号:IlOIlO335姓名:王可可指导老师:至强完成日期:2014年5月20日北京北大方正软件技术学院毕业设计(论文)成果评定表(理科)年级11级专业软件技术姓名王可可学号IlOllo335论文题目:基于ArIdroid计算器的设计与应用指导老师:李强项目评分标准优秀良好合格不合格选题优秀:选题有重要理论意义和实际价值;良好:选题有较强理论意义和实际价值;合格:选题有肯定理论意义和实际价值;不合格:选题欠妥。基础学问优秀:有坚实的理论基础和系统深化的专业学问;良好:有较坚实的理论基础和系统深化的专业学问;合格:有肯定的理论基础和专业学问;不合格:基础理论不够全面,专业学问不系统。实践实力优秀:体现出较强的实践工作实力;良好:体现出较好的实践工作实力;合格:体现出肯定的实践工作实力;不合格:体现出工作实力较差。写作实力优秀:条理清晰,层次分明,文笔流畅,学风严谨;良好:条理性好,层次分明,文字通顺,工作细致;合格:条理较好,层次较分明,文字较通顺;不合格:条理不清,写作较差。论文综合评价优秀良好合格不合格导师定法指老评看签字:年月日业计导组字毕设领小签签字:年月日目前手机可以说是普及率特别高的电子设备了,由于其便于携带,运用便利,资费适中等等缘由,现在手机已经在肯定程度起先代替固定电话的通话功能,以及一些原来电脑软件上的功能了。手机上的软件也随着手机的发展变得丰富起来了,时至今日已经出现了很多特地制作手机软件的公司,虽然制作的多是嬉戏软件,但是一些协助性的工具软件也有了很多。手机软件简洁说就是可以安装在手机上的软件,作用自然是扩展手机的原始功能,使手机变得更加的好用。但是手机的软件须要安装到相应的系统中才能完备的运行。正是由于考虑到以上这些状况,Android系统是现今比较流行的手机系统,所以本系统选择了java语言来作为开发语言。现在市面上常见的手机大致可以分为三类,一类是传统的键盘手机,运用键盘对手机进行操作。另一类是处于过度期时运用的既可以运用手指或者触控笔在屏幕上进行触控操作又可以运用传统的键盘进行对手机的操作。第三类则是新兴的触屏手机,这类手机就是干脆通过手指或者触控笔在屏幕上面进行操作,须要键盘的部分,基本都是以在屏幕中产生一个虚拟键盘的模式来实现的。具体手机的触摸屏究竟是须要触控笔进行触控操作还是须要运用手指进行操作主要还是要看手机运用的触摸屏是电阻屏还是电容屏。运用触控笔的手机运用的屏幕都是电阻屏的手机,这种屏幕的触控定位事实上是利用你在屏幕上的点击对屏幕的电阻产生的变更进行推断以至于可以推断出用户触控的位置,用户只要对屏幕造成压力即可实现,无所谓是什么东西触控的。而电容屏就不同了,运用电容屏的手机只能推断带电物体的触控,使带电物体在屏幕上产生耦合电容,通过耦合电容来推断触控的位置,这种方法还更有利于多点触控技术的实现。在人们日常运用手机中这个带电物体就是人自己的身体,一般状况下就是手。综上所述,本系统是一个基于现有手机计算器开发的在触屏手机上运行的简洁科学计算器。JAVA语言关键字EclipseJDKandroid-sdk1.inear1.ayout布局书目摘要2第一章项目概述51.1手机的发展及背景51.2计算器的发展历史6第二章项目相关技术学问82.1 JAVA技术82.2 JDK112.3 Eclipse11第三章系统设计133.1 系统功能图133.2 程序流程图133.3 系统框图153.4 总体模块具体设计153.5 输入模块具体设计163.6 显示模块具体设计173.7 计算模块具体设计17第四章系统实现184.1 输入模块的内容184.2 输入模块的实现194.3 显示模块的内容194.4 显示模块的实现204.5 显示模块的布局代码204.6 计算模块的内容214.7 计算模块实现重要代码21谢辞33参考文献34第一章项目概述随着21世纪的到来,我们已经步入了信息化时代,这个时代的最重要的标记就是信息技术的广泛应用。而手机正是信息技术的一个重要体现。如今社会上手机的应用已经达到了特别普及的程度,基本随处都可以见到手机的身影。我们也熟识了在社会各处遇见它们,家里,办公室里,学校,公路上,基本可以说是有人的地方就用手机的存在。手机发展到今日,已经和最初的手机有了天差地别。1938年,在美国的贝尔试验室,美国军方研制成了世界上第一部“移动电话”即手机。1973年4月,在美国闻名的摩托罗拉公司工作的工程技术员“马丁库帕”独创了世界上第一部推向民用的手机,从今以后马丁库帕也被称为现代手机之父。这些就是军方和民用手机最初的出现时间。下面我们按手机的发展来细致介绍一下:第一代手机(IG)是指模拟的移动电话,也就是在我们小时候活跃在各种影视作品中的“大哥大二最先研制出这种手机的是美国摩托罗拉公司的COoPer博士。由于当时的电池、天线和集成电路的规模等等技术水平的制约,这种手机体积很大,只能称的上时可移动,严格来说都算不上便携。这种手机有多种制式,AMPS(北美蜂窝系统)、NMT(北欧移动电话)和TACS(全向通信系统)都是主要的模拟标准,但是无论是什么制式的工作方式基本上是频分复用,而且这种手机只能进行简洁语音通信,通话的效果也不稳定,同时保密性也很不足,基本可以说是没有保密性。由于当时这种手机的通话频率是固定的,只须要运用双工的无线电台就能监听到用户通话的内容。另外这种手机对于无线带宽利用也是特别不充分的。其次代手机(2G)也是手机发展过程中最常见的手机。通常这些手机运用GSM或者CDMA这些成熟的标准制式,通过了一段时间的发展电池、天线和集成电路规模已经有了突破性的进展了,不会再成为其次代手机发展的制约,而手机也在这些技术的促进中发展的越来越快。通话质量和待机时间都得到了很大的发展。其次代手机为了适应用户对于数据通讯的需求,一些在现在普遍运用的技术也在手机上得到了发展,例如GPRS彩信业务和WAP上网业务,也是在这个时期各种各样的Java程序起先登上历史舞台,从今Java程序的拓展也成为了手机一个重要的部分。下面我们来说说我们现在经常会提起的3G吧03G是英文SrdGeneration的缩写,即指第三代移动通信技术。相对第一代手机(IG)和其次代手机(2G),第三代手机更加强调的是网络的部分,利用3G技术,手机能够更好的进行数据业务。它能够随时随地的来处理图像、音乐、视频等等多媒体业务,服务的范围供应包括比其次代手机更加快速的网页阅读、视频通话、电子商务等等多种信息服务。而为了确保能够给用户供应以上这些服务,第三代手机就须要更高的数据传输速度,据本人了解,现在的3G手机在室内、室外和行车的环境中能够分别支持2Mbps、384kbps以及144kbps以上的传输速度。最终我们来说说现在国际上承认的3G手机的标准,现在国际上3G手机(3Ghandsets)有3种制式标准,这三种标准分别是欧洲的WCDMA标准、美国的CDMA2000标准和我国自主研发的TD-SCDMA标准。手机发展到今日,科技水平已经越来越高,而3G手机也已经起先进入我们的生活了,手机应用的扩展更是从其次代手机起先就己经变得具有极其重要的意义了,而本文正是在这样的背景下开展探讨的。1.2计算器的发展历史计算器作为现在人们日常生活中常用的一种工具已经可以说是人们日常生活中必不行少的工具了。但是计算器的发展经验了漫长的过程,凝合多数先人的才智,甚至连计算机的发展都可以说是源于计算器的发展。计算器和计算机一样都能够实现数据的输入、处理、存储和输出这些基本的功能,但计算器区分于计算机的地方就是,它不能自动的进行计算,必须要求由人来操作完成计算;而计算机通过提前编写好的程序就能够自动的依据程序进行处理。所以计算器和计算机的一个显著的区分就在于是否须要人为地操作来完成运行。这二者还有另一个本质性的区分。计算器的处理数据的方法是生产时就已经固化在系统中了,所以计算器只能依据系统中规定的处理方法来处理用户要求的计算任务;而计算机由于可以自行安装操作系统和各种的相关软件和硬件,理论上计算机拥有的可扩展性是无穷的。所以简洁的说,计算器和计算机的本质性区分就在于该系统是否存在可扩展性。在我所了解到的学问中,最早的计算工具可以追溯到中国古代一种叫做筹策(又叫算筹)的东西上。这种计算工具在计算的时候摆成纵式和横式两种数字,依据纵式相间的原则表示任何自然数,从而进行加、减、乘、除、开方以及其它的代数计算。负数出现后,算筹分为红和两种,红筹表示正数,黑筹表示负数。虽然我对于这种计算的原理不是很了解,但是不得不说,这种运算工具和运算方法的确是当时世界上独一无二的。直到今日仍有一些人在运用的珠算或者叫算盘,是中国古代计算工具中的另一项宏大独创,而从明朝起先运用的算盘就已经与现代的算盘几乎完全相同了。以上介绍完了中国关于计算工具的发展,下面我们来看看西方社会中计算工具的发展状况。我通过查询资料得知,17世纪初这个时期,西方国家的计算工具起先有了一个较大的发展,英国数学家纳皮尔独创的纳皮尔算筹,英国牧师奥却德独创了圆柱型对数计算尺,这种计算尺的功能不仅仅能做加减乘除、乘方、开方运算,甚至可以计算三角函数,指数函数和对数函数,这些计算工具的产生不单单是带动了计算器的发展,更是为现代计算器的发展奠定了一个坚实的基础。虽然当时的技术水平有限,这些工具运用的不是机械或者电子作为载体,但是这些计算工具却为了后世的计算器供应了一个良好的思路。1642年,宏大的法国科学家帕斯卡在年仅19岁的时候就利用了算盘的计算原理独创了世界上第一部机械式的计算器,在这个计算器中有一些相互咬合的齿轮,一个转过十位的齿轮会使另一个齿轮转过一位,靠这样来实现十进制的算法,人们可以转动齿轮,把想要输入的数据输入进去,计算结果就会出现在另一个窗口中,但是这个计算器只能做一些加减计算。1694年,莱布尼兹在德国将其改进,使这种计算器成为可以进行加减乘除计算的计算器。此后,始终要到20世纪50年头末才有电子计算器的出现。其次章项目相关技术学问2.1JAVA技术首先要说,Java是一门现在运用很普遍编程语言,但是也是一个平台,它基于Java虚拟机技术,并且借助虚拟机技术实现了跨平台的优势。Java平台由Java虚拟机(JaVaVirtualMachine)和JaVa应用编程接口(ApplicationProgrammingInterface简称APl)构成。JaVa应用编程接口为JaVa应用供应了一个独立于操作系统的标准接口,再进一步则可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,JaVa应用程序就可运行。由于JaVa技术本身的优势,现在JaVa平台已经嵌入了几乎全部的操作系统。这样JaVa程序的优势就更加明显了,甚至可以做到只编译一次,就可以在各种系统中运行的地步。JaVa技术的重要性就不讲了,从我了解接触过的编程语言来看,接触的最多的编程语言就是JaVa,我对于编程语言的接触程度虽然本身不能不说明什么,但至少在肯定程度上可以反映出编程语言的运用率和普及率。总体的了解了JaVa技术以后我们来进一步的了解一下Java的语言。简洁的说,如书上所说的概念一样,Java是一种简洁的,面对对象的,分布式的,说明型的,健壮平安的,结构中立的,可移植的,性能优异、多线程的动态语言。在1995年SUN推出JaVa语言之后,全世界软件工程师的目光都被这个特殊的语言所吸引。这种语言的优越性有此可见。我了解到的Java语言其实最早诞生于1991年,起初也并不叫做Java,而是被称为OAK语言,这种语言是SUN公司为一些消费性电子产品而设计的一个通用环境。他们最初的目的只是为了开发一种独立于平台的软件技术,在网络出现之前,OAK语言可以说是静默无闻。但是,随着网络的出现和发展,OAK语言的命运被完全的变更了。在Java出现以前,Internet上的信息内容都是一模一样的运用HTM1.这种有点死板的文档。这让网络阅读者对于网络的爱好有所下降,网络不能满意他们对于趣味性和互动性的要求。这些运用者希望能在网页中看到一些交互式的内容,而网站的开发人员也极希望能够在为网站开发应用程序的时候不用再去考虑用户的软硬件平台是否能够与程序兼容的这些问题,同时这些程序还能够供应足够平安保障。对于用户的这种要求,传统的那些编程语言都表现的无能为力。而SUN公司的工程师特别敏锐的察觉到了这些需求,从1994年起,他们起先将OAK技术应用于WEB上,并且于同年开发出了HOtJaVa的第一个版本。而当SUN公司1995年正式以JaVa这个名字推出该语言的时候,几乎全部的WEB开发人员都发觉JaVa这种语言能够完全的满意他们之前的需求,满意用户的需求。于是JaVa一夜之间成了炙手可热的一种编程语言。那么JaVa的主要特性又是什么呢?如上文中所说的,Java是一种简洁的,面对对象的,分布式的,说明型的,健壮平安的,结构中立的,可移植的,性能优异、多线程的动态语言。下面我们就来具体的介绍一下这些特点。1) JaVa语言是简洁的。由于JaVa语言的语法与C语言和C+语言很相近,这就使得大多数的程序员可以只通过很简洁学习就能运用Java。另一方面,Java语言祛除了一些C+语言中令人迷惑或者难以理解的特性,比如操作符重教、多继承、自动的强制类型转换等等。另外,在JaVa语言种不运用指针,并供应了自动的废料收集的功能,从今运用Java的程序员再也不用为了内存管理而担忧了。2) JaVa语言是面对对象的。JaVa语言中供应了类、接口和继承等等,其中只支持类之间的单继承,想要进行多继承就要运用接口,支持类与接口之间的实现机制的关键字为implements。与C+语言只对虚函数运用动态绑定相比,JaVa语言全面支持动态绑定。总之,JaVa语言可以说是一个纯粹面对对象的程序设计语言。3) JaVa语言是分布式的。JaVa语言支持Internet应用的开发,所以在基本的JaVa应用编程接口中会有一个网络应用编程接口(javanet),这个编程接口供应了用于网络应用编程的类库,包括UR1.、UR1.COnneCtion、SoCkCt、ServerSocket等。Java的远程方法激活机制也是开发分布式应用的一个重要手段。4) JaVa语言是健壮的。JaVa的强类型机制、异样处理、废料的自动收集等是JaVa程序健壮性的重要保证。而不再运用指针更是JaVa的明智选择。JaVa的平安检查机制使得Java更具健壮性。5) JaVa语言是平安的。由于JaVa通常被用在网络环境中,因此,JaVa特意供应了一个平安机制以防恶意代码的攻击。除了Java语言具有的很多平安特性以外,Java对通过网络下载的类还具有一个平安防范机制(类Class1.oader),如安排不同的名字空间以防替代本地的同名类、字节代码检查,并供应平安管理机制(类SecurityManager)让JaVa应用更加平安。6) JaVa语言是体系结构中立的。JaVa程序(后缀为java的文件)在JaVa平台上被编译为体系结构中立的字节码格式(后缀为ClaSS的文件),然后可以在实现这个JaVa平台的任何系统中运行。这种适应性使得JaVa的应用变的更加的广泛。7) JaVa语言是可移植的。由于JaVa语言的结构中立的特性,这种语言同时也具备了很强的可移植性,另外,Java语言中还规定了各个基本数据类型的长度。而Java系统的本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSlC实现的。8) JaVa语言是说明型的。JaVa程序在JaVa平台上被编译为一种特殊的字节码格式,然后该程序就可以在任何系统中装有JaVa平台的实现运行。在运行时,Java平台中的Java说明器对这些特殊的字节码再进行说明,而在整个过程中所须要的类在联接阶段就会被载入到运行环境中。9) JaVa是高性能的。我了解到的JaVa语言与说明型的高级脚本语言相比JaVa的性能的确是占优势的。JaVa的运行速度更是随着Jrr(JUSt-皿-Time)编译器技术的发展变得越来越快了。10) Java语言是多线程的。JaVa语言支持多个线程在同一时间一同执行,并且特地的供应了多线程之间的同步机制(关键字为synchronized)o11) Java语言是动态的。在Java语言的设计之初就有要求语言能够适应于动态变更的环境这个目标。JaVa程序须要的类,既可以动态地被载入到运行环境,又可以通过网络来载入所须要的类。这样的设计有利于软件的升级。另外,我还了解到JaVa中的类存在一个运行时刻的表示,能进行运行时刻的类型检查。由于Java语言编写的JaVa应用具有很强的健壮性和牢靠性,这样就能削减很多应用系统的维护费用。JaVa对面对对象的技术的全面支持和JaVa平台内嵌的APl能极大的缩短应用系统的开发时间同时还能降低开发成本。Java的编译一次,可以在随意装有Java平台的系统运行的特性使得它成为能够干脆在多个平台之间传递信息的简洁便利的方式。有必要一说的是Java企业应用编程接口还为企业计算及电子商务应用系统供应了有关技术和丰富的类库。JaVa编程语言最别出心裁之处在于:JaVa程序既是编译型的又是说明型的。编译型是指,程序会转换为一种称为JaVa字节码的中间语言,说明型则是指,运行程序的时候JVM会对字节码进行解析和运行。这个过程中,编译只进行一次,而说明在每次运行程序时都会进行。2.2 JDKJDK(JavaDevelopmentKit)是SunMicrosystems针对Java语言程序开发的产品。自从JaVa推出以来,JDK已经成为运用最广泛的JaVaSDK。JDK是整个JaVa的核心组件,其中包括了JaVa的运行环境,JaVa工具和JaVa基础的类库。可以说JDK是学好JaVa的第一步。从SUN的JDK5.0起先供应了泛型等等一些特别好用的功能,而且版本还在不断更新,到本论文写作时已经更新到了JDK7.0了。运行效率也随着版本的不断更新而得到了很大的提高。2.3 EclispeECIiPSC是一个开放源代码的、基于Java的可扩绽开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。换句话说就是ECIiPSe只是供应了一个界面,全部的开发环境都要通过安装相关的插件来完成。不过ECliPSe附带了一个标准的插件集合,在这个集合中包括了Java的开发工具(JaVaDevelopmentTools,JDT)o首先我们来介绍一下Eclipse历史和版本。Eclipse最初是由OTI和IBM公司开发的替代商业软件VisualAgeforJava的下一代IDE开发环境,在2001年11月贡献给开源社区,现在它由非营利软件供应商联盟ECliPSe基金会(EclipseFoundation)管理。2003年,Eclipse3.0选择OSGi服务平台规范为运行时架构。2007年6月,稳定版3.3发布。2008年6月发布代号为GanymCde的3.4版。2009年7月发布代号为GA1.I1.EO的3.5版。2010年6月发布代号为Helios的3.6版。本系统开发运用的是3.6的版本。此外我们再来谈谈Eclips语言拓展实力。ECIiPSe基本已经成为世界最闻名的跨平台自由集成开发环境(IDE)o最初主要用来JaVa语言开发,但是由于其开源的特性,也有人通过为其安装插件使其作为其他编程语言(比如C+和Python)的开发工具。如上文所说,ECliPSe的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有了其他功能固定的IDE软件很难拥有的敏捷性。现在很多的软件开发商以Eclipse为框架开发出了自己的IDEoEclipse由OTl和IBM两家公司的IDE产品开发组创建,起始于1999年4月。IBM供应了最初的ECliPSC代码基础,包括PIatforn1、JDT和PDE。目前也是由IBM牵头,围围着ECIiPSe已经发展成为了一个浩大的ECliPSe联盟,这个联盟中已经有150多家软件公司参加到ECIiPSC项目中,其中不乏知名的厂商例如BorlandsRationalSoftware>RedHat及Sybase等。ECIiPSe是一个开发源码项目,其界面跟从前的ViSUalAgeforJaVa差不多,但由于它是个开源的系统,任何人都可以免费得到其码源,并可以在此基础上开发各自的插件,正是因此,它越来越受人们关注。近几年更有包括OraCle在内的很多大公司也纷纷加入了该项目,这标记着Eclipse将来能会成为可进行任何语言开发的IDE大集合,运用者只需依据自己的须要下载各种语言的插件即可。接着说说ECIiPSe插件开发环境。虽然大多数用户很乐于将Eclipse当作JavaIDE来运用,但Eclipse的目标不仅限于此,如上文所说,ECliPSe的最终目标是成为可以进行任何语言开发的IDE大集合。所以在Eclipse中还包括插件开发环境(Plug-inDevelopmentEnvironment,PDE),这个组件主要是针对希望扩展Eclipse功能的软件开发人员,因为这个组件允许开发者构建与Eclipse环境无缝集成的工具。由于Eclipse中可以说是每样东西都是插件,所以说对于想给Eclipse供应插件,以及给用户供应一样和统一的集成开发环境的开发人员来说,全部人都具有了一个同等的发挥机会。我在网上找到的基于ECIiPSe的应用程序的突出例子是IBM的WebSphereStudioWorkbench,它构成了IBM关于JaVa开发工具系列的基础。例如,WebSphereStudioApplicationDeveloper添加了对JSP、servlet>EJB、XM1.、Web服务和数据库访问的支持。Eclipse都有哪些的主要组成部分呢?Eclipse作为一个开放源代码的软件开发项目,目标是成为可进行任何语言开发的H)E大集合。它主要是由ECliPSe项目、ECIiPSe工具项目和ECliPSe技术项目三个项目组成,其中具体的又包括四个部分,分别是EclipsePlatform.JDT.CDT和PDEoJDT是支持JaVa开发的、CDT是支持C开发的、PDE是用来支持ECIiPSe插件开发的,EclipsePIatfonn则是一个开放的可扩展IDE,为运用者供应了一个通用的开发平台。EclipseSDK(软件开发者包)是一个ECliPSePlatform.JDT和PDE所生产的组件合并,它们可以一次性打包下载。这些部分一起供应了一个具有性能牢靠,特性丰富的开发环境,在这个环境中允许开发者有效地建立可以无缝连接到EclipsePlatform中的工具。EclipseSDK由ECIiPSe项目生产的工具和来自其它开放源代码的第三方软件组合而成。ECIiPSe项目生产的软件以GP1.发布,第三方组件有各自自身的运用许可协议。第三章系统设计3.1 系统的功能图整个系统的功能比较多,比较困难,如上节所说,可以分为十多个功能模块,但是逻辑上理解其实不算困难,系统包括一般计算功能,包括加减乘除;高级计算功能,包括平方,开方,三角函数(sin,cos),清零功能。下面就让我们用图3-1来表示:图31系统的功能图以上是系统的功能图,由于系统的功能众多,于是按功能进行了合并,没有完全的一一列举,其中高级计算功能中包括了上文所述的全部高级计算功能,记忆相关功能和清除相关功能同样包括在了图示上所列的功能中。由于没有完全排列出来,此处特意说明。3.2 程序流程图知道了系统的功能以后,那么系统又是怎么工作的呢?系统通过Form来建立显示界面,完成后系统起先监听用户的按键输入,每次输入系统都会推断一次用户输入的类型,是数字还是运算符号或者是清除,推断完后分成不同类型如数字,符号,特殊运算等等进行进一步的处理,依据用户的要求接着进行下一步的操作,最终计算出最终结果并显示在显示区。系统流程图如图3-2所示:图3-2程序流程图以上就是系统的流程图,不过只是一个简洁是示意流程图,不是整个程序的完整流程图,整个系统的流程图由于模块众多,整个列举不易于理解,故此就只采纳简洁流程图作为示例说明,反而更加的简洁明白。3.3 系统框图系统除了总体模块以外主要由三大模块来组成,即输入模块,显示模块和计算模块。用系统框图来表示即如图23。系统这三大模块都各自包含什么内容在下文的系统具体设计中会有进一步的说明,此处就暂且略过。3.4 总体模块具体设计任何Java程序的实现都须要有MIDlet类作为程序的启动类。总体模块须要完成的任务主要就是系统的程序启动类,须要负责整个系统的生命周期。同时在还要在模块中完成菜单栏的全部功能,即退出程序,记忆数据,显示数据,清除记忆数据这四个功能。3.5 输入模块具体设计系统假如想完成计算器中的各种功能,首先用户要能进行数据输入,由于是在触屏手机上开发计算器程序,所以要求输入可以干脆运用触屏进行,所以在设计的时候就要充分的考虑要这一点。正是由于考虑到这个特殊的地方,所以在进行模块设计中,选择编写输入模块类的时候会特意选取运用了可以支持触屏输入的特殊增加型图形用户界面类CustomItemo输入模块主要的任务是描述计算器键盘以及实现键盘的监听,即当用户点击按键或者屏幕的时候监听器会去调用相应的处理方法,本模块还须要为系统供应了一个较为直观的键盘图形用户界面。输入模块的功能图如图3-5:图输入模块功能图3.6 显示模块具体设计作为手机计算器系统,显示部分也是必不行少的一部分。没有显示部分就没有方法显示用户输入的数字是否正确,甚至不能显示计算出的结果,由此可见显示模块即包括输入的部分也包括输出的部分。由于考虑到JaVa开发中低级界面和高级界面可能产生不兼容等等问题,所以在对显示模块进行设计的时候也选用了同样的增加型图形用户界面类CustomItemo显示模块主要要完成的任务是描述计算器的显示区,该区域用于显示用户输入的数据以及最终的计算结果和一些其他信息。同时本模块还将供应调用和设置显示的具体方法。显示模块的功能图如图3-6:图36显示模块功能图3.7 计算模块具体设计系统要完成完全的计算器的计算功能,那么计算模块就是整个系统的重点模块。没有计算模块系统就不能顺当的完成计算,就无法达到用户的要求。所以计算模块的设计也是本次系统设计中的重点。系统想要能在屏幕上显示出计算器的样子要有整体的布局,在本模块中要完成布局的具体设计,运用户能够看到整个计算器的画面。同时系统想完成计算功能必须要处理用户的输入,当输入模块的监听传到计算模块中时,计算模块就要依据相应的方法进行进一步的处理。这部分主要是对输入进行的逻辑推断,基本会通过ifelse来实现逻辑推断。计算模块的功能图如图3.7:一般运算功能富级功能入以及响应触屏的按键,当用户点击按键或者屏幕的时候监听器会去调用相应的处理方法,具体的处理方法会在相关的地方进行说明。本模块最主要还是为系统供应了一个较为直观的键盘图形用户界面。4.2 输入模块的实现在触屏上供应了各种功能的按键,分别是C(清除键),XY(平方键),sin(计算角度的sin值),cos(计算角度的COS值),X(开方),0,1,2,3,4,5,6,7,8,9,+,-/+,*,/,.,=o键盘如图3-1:图41触屏键盘4.3 显示模块的内容显示模块描述了计算器的显示区,即该区域用于显示用户输入的数据以及最终的计算结果和一些其他信息。显示区中设置了显示字体,显示区的大小,边框的颜色和大小,同时还设置了显示字体的颜色。图42显示区4.4 显示模块的实现显示区中运用的是1.inear1.ayoUt布局。如上节所说,显示区设置了显示字体,显示区的大小,边框的颜色和大小,以及显示字体的颜色,同时还运用了Table1.ayout布局。显示模块具体的实现流程请参照下文代码。4.5 显示模块的布局页面此图为手机计算器的整体布局4.6 计算模块的内容计算模块则主要描述了计算器的整体,实现了计算器的界面,定义了用户单击的处理方法,通过定义的处理方法来完成用户的操作吩咐,实现用户的计算要求,这些计算要求包括了数值的输入,小数点的输入,正负号的输入,冗值的输入,记忆相关功能的完成,力口、减、乘、除、平方、开方、倒数、三角函数等等各种计算功能的完成,运算符的替换,初始化系统等等。4.7 计算模块实现重要代码packagew.w;importandroid.app.Activity;importandroid.os.Bundle;importandroid.view.Menu;importandroid.view.MenuItem;importandroid.view.View;importandroid.view.View.OnClick1.istener;importandroid.widget.Button;importandroid.widget.TextView;importandroid.widget.Toast;publicclassJiSuanQiActivityextendsActivityprivateintoption=0;运算符状态privatebooleannewdigital=t11e;/标记是否是新输入的数字privatedoublea=O,b=O;两个相力口的数privatedoublec;表示取正负privateButtonbutton1;privateButtonbutton2;privateButtonbutton3;privateButtonbutton4;privateButtonbutton5;privateButtonbutton6;privateButtonbutton7;privateButtonbutton8;privateButtonbutton9;privateButtonbuttonO;privateButtonbuttonjia;privateButtonbuttonjian;privateButtonbuttonchen;privateButtonbuttonchu;privateButtonbuttonzhenfu;privateButtonbuttondenyu;privateButtonbuttonxiaoshudian;privateButtonbuttonqingchu;privateButtonbuttonkaifang;privateButtonbuttonzhishu;privateButtonbuttoncos;privateButtonbuttonsin;publicvoidonCreate(BundleSavedInstanceState)(SupenonCreate(SavedInstanceState);setContentView(R.layout.main);buttonO=(Button)findViewById(R.id.btnO);button1=(Button)findViewById(R.id.btn1);button2=(Button)findViewById(R.id.btn2);button3=(Button)findViewById(R.id.btn3);button4=(Button)findViewById(R.id.btn4);button5=(Button)findViewById(R.id.btn5);button6=(Button)findViewById(R.id.btn6);button7=(Button)findViewById(R.id.btn7);button8=(Button)findViewById(R.id.btn8);button9=(Button)findViewById(R.id.btn9);buttonjia=(Button)findViewById(R.id.jia);buttonjian=(Button)findViewById(R.id.jian);buttonchen=(Button)findViewById(R.id.chen);buttonchu=(Button)findViewById(R.id.chu);buttonzhenfu=(Button)findViewById(R.id.zhenfu);buttondenyu=(Button)findViewById(R.id.denyu);buttonqingchu=(Button)findViewById(R.id.qingchu);buttonxiaoshudian=(Button)findViewById(R.id.xiaoshudian);buttonkaifang=(Button)findViewById(R.id.kaifang);buttonzhishu=(Button)findViewById(R.id.zhishu);buttoncos=(Button)findViewById(R.id.cos);buttonsin=(Button)findViewById(R.id.sin);button0.setOnClick1.istener(lisenter);button1.SetOnClick1.istener(Iisenter);button2.setOnClick1.istener(lisenter);button3.SetOnClick1.istener(Iisenter);button4.setOnClick1.istener(lisenter);button5.SetOnClick1.istener(Iisenter);button6.setOnClick1.istener(lisenter);button?.SetOnClick1.istener(Iisenter);button8.SetOnClick1.istener(Iisenter);button9.SetOnClick1.istener(Iisenter);buttonjia.setOnClick1.istener(lisenter);buttonjian.SetOnCIick1.istener(Iisenter);buttonchen.setOnClick1.iste

    注意事项

    本文(-基于Android计算器的设计与应用论文---.docx)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开