基于Android计算器的设计与应用论文.docx
- 文档编号:12661768
- 上传时间:2023-04-21
- 格式:DOCX
- 页数:36
- 大小:333.87KB
基于Android计算器的设计与应用论文.docx
《基于Android计算器的设计与应用论文.docx》由会员分享,可在线阅读,更多相关《基于Android计算器的设计与应用论文.docx(36页珍藏版)》请在冰豆网上搜索。
基于Android计算器的设计与应用论文
北京北大方正软件技术学院
毕业设计(论文)
题目:
基于Android计算器的设计与应用
系别:
软件工程分院
专业:
软件技术
学号:
*********
******
******
完成日期:
2014年5月20日
北京北大方正软件技术学院
毕业设计(论文)成绩评定表(理科)
年级11级专业软件技术姓名王可可学号*********
论文题目:
基于Android计算器的设计与应用指导教师:
李强
项目
评分标准
优秀
良好
合格
不合格
选题
优秀:
选题有重要理论意义和实际价值;
良好:
选题有较强理论意义和实际价值;
合格:
选题有一定理论意义和实际价值;
不合格:
选题欠妥。
基础知识
优秀:
有坚实的理论基础和系统深入的专业知识;
良好:
有较坚实的理论基础和系统深入的专业知识;
合格:
有一定的理论基础和专业知识;
不合格:
基础理论不够全面,专业知识不系统。
实践能力
优秀:
体现出较强的实践工作能力;
良好:
体现出较好的实践工作能力;
合格:
体现出一定的实践工作能力;
不合格:
体现出工作能力较差。
写作能力
优秀:
条理清楚,层次分明,文笔流畅,学风严谨;
良好:
条理性好,层次分明,文字通顺,工作认真;
合格:
条理较好,层次较分明,文字较通顺;
不合格:
条理不清,写作较差。
论文综合评价
优秀良好合格不合格
指导教师评定意见
签字:
年月日
毕业设计领导小组签字
签字:
年月日
摘要
目前手机可以说是普及率非常高的电子设备了,由于其便于携带,使用方便,资费适中等等原因,现在手机已经在一定程度开始代替固定电话的通话功能,以及一些原来电脑软件上的功能了。
手机上的软件也随着手机的发展变得丰富起来了,时至今日已经出现了很多专门制作手机软件的公司,虽然制作的多是游戏软件,但是一些辅助性的工具软件也有了很多。
手机软件简单说就是可以安装在手机上的软件,作用自然是扩展手机的原始功能,使手机变得更加的实用。
但是手机的软件需要安装到相应的系统中才能完美的运行。
正是由于考虑到以上这些情况,Android系统是现今比较流行的手机系统,所以本系统选择了java语言来作为开发语言。
现在市面上常见的手机大致可以分为三类,一类是传统的键盘手机,使用键盘对手机进行操作。
另一类是处于过度期时使用的既可以使用手指或者触控笔在屏幕上进行触控操作又可以使用传统的键盘进行对手机的操作。
第三类则是新兴的触屏手机,这类手机就是直接通过手指或者触控笔在屏幕上面进行操作,需要键盘的部分,基本都是以在屏幕中产生一个虚拟键盘的模式来实现的。
具体手机的触摸屏到底是需要触控笔进行触控操作还是需要使用手指进行操作主要还是要看手机使用的触摸屏是电阻屏还是电容屏。
使用触控笔的手机使用的屏幕都是电阻屏的手机,这种屏幕的触控定位实际上是利用你在屏幕上的点击对屏幕的电阻产生的变化进行判断以至于可以判断出用户触控的位置,用户只要对屏幕造成压力即可实现,无所谓是什么东西触控的。
而电容屏就不同了,使用电容屏的手机只能判断带电物体的触控,使带电物体在屏幕上产生耦合电容,通过耦合电容来判断触控的位置,这种方法还更有利于多点触控技术的实现。
在人们日常使用手机中这个带电物体就是人自己的身体,一般情况下就是手。
综上所述,本系统是一个基于现有手机计算器开发的在触屏手机上运行的简单科学计算器。
关键字
JAVA语言EclipseJDKandroid-sdkLinearLayout布局
第一章项目概述.......................................................................................5
1.1手机的发展及背景................................................................................................5
1.2计算器的发展历史.................................................................................................6
第二章项目相关技术知识.................................................................................................8
2.1JAVA技术...............................................................................................................8
2.2JDK........................................................................................................................11
2.3Eclipse......................................................................................................................11
第三章系统设计................................................................................................................13
3.1系统功能图.............................................................................................................13
3.2程序流程图.............................................................................................................13
3.3系统框图.................................................................................................................15
3.4总体模块详细设计...............................................................................................................15
3.5输入模块详细设计...............................................................................................................16
3.6显示模块详细设计.................................................................................................17
3.7计算模块详细设计...............................................................................................................17
第四章系统实现................................................................................................................18
4.1输入模块的内容....................................................................................................................18
4.2输入模块的实现.....................................................................................................19
4.3显示模块的内容.....................................................................................................19
4.4显示模块的实现.....................................................................................................20
4.5显示模块的布局代码.............................................................................................20
4.6计算模块的内容.....................................................................................................21
4.7计算模块实现重要代码.........................................................................................21
谢辞.......................................................................................................................................33
参考文献...................................................................................................................................................34
第一章项目概述
1.1手机的发展及背景
随着21世纪的到来,我们已经步入了信息化时代,这个时代的最重要的标志就是信息技术的广泛应用。
而手机正是信息技术的一个重要体现。
如今社会上手机的应用已经达到了非常普及的程度,基本随处都可以见到手机的身影。
我们也熟悉了在社会各处遇见它们,家里,办公室里,学校,马路上,基本可以说是有人的地方就用手机的存在。
手机发展到今天,已经和最初的手机有了天差地别。
1938年,在美国的贝尔实验室,美国军方研制成了世界上第一部“移动电话”即手机。
1973年4月,在美国著名的摩托罗拉公司工作的工程技术员“马丁·库帕”发明了世界上第一部推向民用的手机,从此以后马丁·库帕也被称为现代手机之父。
这些就是军方和民用手机最初的出现时间。
下面我们按手机的发展来仔细介绍一下:
第一代手机(1G)是指模拟的移动电话,也就是在我们小时候活跃在各种影视作品中的“大哥大”。
最先研制出这种手机的是美国摩托罗拉公司的Cooper博士。
由于当时的电池、天线和集成电路的规模等等技术水平的制约,这种手机体积很大,只能称的上时可移动,严格来说都算不上便携。
这种手机有多种制式,AMPS(北美蜂窝系统)、NMT(北欧移动电话)和TACS(全向通信系统)都是主要的模拟标准,但是无论是什么制式的工作方式基本上是频分复用,而且这种手机只能进行简单语音通信,通话的效果也不稳定,同时保密性也很不足,基本可以说是没有保密性。
由于当时这种手机的通话频率是固定的,只需要使用双工的无线电台就能监听到用户通话的内容。
另外这种手机对于无线带宽利用也是十分不充分的。
第二代手机(2G)也是手机发展过程中最常见的手机。
通常这些手机使用GSM或者CDMA这些成熟的标准制式,通过了一段时间的发展电池、天线和集成电路规模已经有了突破性的进展了,不会再成为第二代手机发展的制约,而手机也在这些技术的促进中发展的越来越快。
通话质量和待机时间都得到了很大的发展。
第二代手机为了适应用户对于数据通讯的需求,一些在现在普遍使用的技术也在手机上得到了发展,例如GPRS彩信业务和WAP上网业务,也是在这个时期各式各样的Java程序开始登上历史舞台,从此Java程序的拓展也成为了手机一个重要的部分。
下面我们来说说我们现在常常会提起的3G吧。
3G是英文3rdGeneration的缩写,即指第三代移动通信技术。
相对第一代手机(1G)和第二代手机(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、简称API)构成。
Java应用编程接口为Java应用提供了一个独立于操作系统的标准接口,再进一步则可分为基本部分和扩展部分。
在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。
由于Java技术本身的优势,现在Java平台已经嵌入了几乎所有的操作系统。
这样Java程序的优势就更加明显了,甚至可以做到只编译一次,就可以在各种系统中运行的地步。
Java技术的重要性就不讲了,从我了解接触过的编程语言来看,接触的最多的编程语言就是Java,我对于编程语言的接触程度虽然本身不能不说明什么,但至少在一定程度上可以反映出编程语言的使用率和普及率。
总体的了解了Java技术以后我们来进一步的了解一下Java的语言。
简单的说,如书上所说的概念一样,Java是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言。
在1995年SUN推出Java语言之后,全世界软件工程师的目光都被这个特别的语言所吸引。
这种语言的优越性有此可见。
我了解到的Java语言其实最早诞生于1991年,起初也并不叫做Java,而是被称为OAK语言,这种语言是SUN公司为一些消费性电子产品而设计的一个通用环境。
他们最初的目的只是为了开发一种独立于平台的软件技术,在网络出现之前,OAK语言可以说是默默无闻。
但是,随着网络的出现和发展,OAK语言的命运被完全的改变了。
在Java出现以前,Internet上的信息内容都是千篇一律的使用HTML这种有点死板的文档。
这让网络浏览者对于网络的兴趣有所下降,网络不能满足他们对于趣味性和互动性的要求。
这些使用者希望能在网页中看到一些交互式的内容,而网站的开发人员也极希望能够在为网站开发应用程序的时候不用再去考虑用户的软硬件平台是否能够与程序兼容的这些问题,同时这些程序还能够提供足够安全保障。
对于用户的这种要求,传统的那些编程语言都表现的无能为力。
而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),这个编程接口提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。
Java的远程方法激活机制也是开发分布式应用的一个重要手段。
4)Java语言是健壮的。
Java的强类型机制、异常处理、废料的自动收集等是Java程序健壮性的重要保证。
而不再使用指针更是Java的明智选择。
Java的安全检查机制使得Java更具健壮性。
5)Java语言是安全的。
由于Java通常被用在网络环境中,因此,Java特意提供了一个安全机制以防恶意代码的攻击。
除了Java语言具有的许多安全特性以外,Java对通过网络下载的类还具有一个安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager)让Java应用更加安全。
6)Java语言是体系结构中立的。
Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件),然后可以在实现这个Java平台的任何系统中运行。
这种适应性使得Java的应用变的更加的广泛。
7)Java语言是可移植的。
由于Java语言的结构中立的特性,这种语言同时也具备了很强的可移植性,另外,Java语言中还规定了各个基本数据类型的长度。
而Java系统的本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSIC实现的。
8)Java语言是解释型的。
Java程序在Java平台上被编译为一种特殊的字节码格式,然后该程序就可以在任何系统中装有Java平台的实现运行。
在运行时,Java平台中的Java解释器对这些特殊的字节码再进行解释,而在整个过程中所需要的类在联接阶段就会被载入到运行环境中。
9)Java是高性能的。
我了解到的Java语言与解释型的高级脚本语言相比Java的性能确实是占优势的。
Java的运行速度更是随着JIT(Just-In-Time)编译器技术的发展变得越来越快了。
10)Java语言是多线程的。
Java语言支持多个线程在同一时间一同执行,并且专门的提供了多线程之间的同步机制(关键字为synchronized)。
11)Java语言是动态的。
在Java语言的设计之初就有要求语言能够适应于动态变化的环境这个目标。
Java程序需要的类,既可以动态地被载
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Android 计算器 设计 应用 论文