基于Android计算器功能的实现毕业设计Word文件下载.docx
《基于Android计算器功能的实现毕业设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于Android计算器功能的实现毕业设计Word文件下载.docx(38页珍藏版)》请在冰豆网上搜索。
![基于Android计算器功能的实现毕业设计Word文件下载.docx](https://file1.bdocx.com/fileroot1/2022-11/30/319851ef-984c-456a-bd0b-576810013125/319851ef-984c-456a-bd0b-5768100131251.gif)
尽我所知,除文中特别加以标注与致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助与做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:
日 期:
指导教师签名:
日 期:
使用授权说明
本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:
按照学校要求提交毕业设计(论文)的印刷本与电子版本;
学校有权保存毕业设计(论文)的印刷本与电子版,并提供目录检索与阅览服务;
学校可以采用影印、缩印、数字化或其它复制手段保存论文;
在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:
日 期:
学位论文原创性声明
本人郑重声明:
所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人与集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
日期:
年月日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件与电子版,允许论文被查阅与借阅。
本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存与汇编本学位论文。
涉密论文按学校规定处理。
日期:
导师签名:
日期:
1引言
1.1课题背景及意义
1.1.1课题背景
随着社会的发展,经济水平的提高,手机越来越普及。
截止到2010年,中国手机用户数量将从2007年的5.40亿增长到7.38亿[1]。
同时伴随着移动互联网技术的发展,手机的功能也变得越来越丰富。
从原来只具有简单通信功能的非智能手机到现在具有手机操作系统,除通话功能以外,还集上网、聊天、炒股、收发邮件等功能于一身的智能手机系统。
智能手机[2]具有独立的操作系统,像个人电脑一样支持用户自行安装软件、游戏等第三方服务商提供的程序,并通过此类程序不断对手机的功能进行扩充,同时可通过移动通讯网络来实现无线网络接入。
智能手机同传统手机外观与操作方式类似,不仅包含触摸屏也包含非触摸屏、数字键盘手机与全尺寸键盘操作的手机。
但是传统手机都使用的是生产厂商自行开发的封闭式操作系统,所能实现的功能非常有限,不具备智能手机的扩展性。
从广义上讲,智能手机除了具备手机的通话功能外,还具备个人信息管理以及基于无线数据通信的浏览器、GPS(GlobalPositioningSystem)与电子邮件功能。
智能手机为用户提供了足够的屏幕尺寸与带宽,既方便随身携带,又为软件运行与内容服务提供个广阔的舞台,很多增值业务可以就此展开,如:
股票、新闻、天气、交通、商品、应用程序下载、音乐图片下载等等。
结合3G通信网络的支持,智能手机的发展,势必将成为一个功能强大,集通话、短信、网络接入、影视娱乐为一体的综合性个人手持终端设备[3]。
1.1.2课题意义
随着通信技术的发展,3G从制定出到现在越来越被人们关注。
“3G”(英语3rd-generation)或“三代”是第三代移动通信技术的简称,是指支持高速数据传输的蜂窝移动通信技术[4]。
目前3G存在四种标准:
CDMA2000、WCDMATD-SCDMA、WiMAX。
其中TD-SCDMA(全称TimeDivision-SynchronousCDMA)是由中国大陆独自制定的3G标准。
为了推动我国的智能手机的发展,实现多功能的智能手机,方便人们丰富多彩而又快节奏的生活。
本文正是基于Android平台开发的计算机器。
论文主要阐述以面向对象的程序开发语言eclipse为开发工具,基于智能手机Android之上设计一个计算器。
本文的目标就是设计并实现基于Android的计算器,论文首先介绍了Android开发平台与环境以及Android工程的重要部分,然后着重针对计算器的系统设计与系统设计的具体实现,最后实现计算器的各种功能并得到了很多好的验证。
1.2智能手机平台系统
智能手机(Smartphone),是指“像个人电脑一样,具有独立的操作系统,可以由用户自行安装软件、游戏等第三方服务商提供的程序,通过此类程序来不断对手机的功能进行扩充,并可以通过移动通讯网络来实现无线网络接入的这样一类手机的总称”。
目前全球主要的只能手机操作系统依次是iPhoneOS、Symbian、BlackBerryOS与Android,其中Android最年轻,市场份额正迅速增加。
下面简单介绍Android以外的几款常用的智能手机系统。
IPhoneOS是苹果公司专门为iPhone开发的智能手机系统[5]。
iPhone手机具有硬件与软件一一绑定的特性,Apple公司采用与运营商分成的策略。
iPhone虽然开放了SDK,可是却不能在PC上使用,这对于中国的应用开发市场是个不晓得阻碍。
但它将创新的移动电话、可触摸宽屏iPod以及具有桌面级电子邮件、网页浏览、搜索与地图功能的突破性因特网通信设备这三种产品完美的融合为一体的特性,也吸引了无数的用户。
Symbian(中文名:
塞班)[6]是一个实时性、多任务的纯32位操作系统,具有功耗低、内存占用少等特点,非常适合手机等移动设备使用,经过不断完善,虽然在智能型手机市场取得了无比的成功,并长期居于首位,但是SymbianS60、Symbian3,UIQ等(尤其是S60)系统近两年亦遭遇到显著的发展瓶颈。
最近12个月欧洲手机公司诺基亚(Nokia)在智能手机市场市占率的滑落是不争的事实。
需要注意的是,并不是所有的Symbian系统都是智能系统,比如S40系统,就不属于智能手机系统。
BlackBerryOS[7]是RIM专用的智能手机操作系统。
BlackBerry,在美国市场占有率相对较高,BlackBerry的比较具有个性的设计就是宽大的屏幕与便于输入的QWERTY全键盘,所以BlackBerry在移动电子邮件方面非常方便,由于我国手机用户发送短信对于发送邮件,所以BlackBerry系统的邮件优势在中国不存在,目前BlackBerryOS在智能手机操作系统的市场份额占据第三位i,BlackBerry手机市场主要在美国[8]。
windowsmobile是微软由于PocketPC与Smartphone的软件平台[9]。
windowsmobile系统将大家熟悉的Windows桌面延伸到了移动设备中。
windowsmobile是Microsoft为手持设备推出的“Windows移动版”。
受Android的冲击,目前WindowsMobile在智能手机操作系统的市场下降到4%左右。
Linux凭借其开放源代码、免费的优势,经过来自全球程序员的努力,再加上google、IBM等计算机巨头的支持。
Linux在手机操作系统市场中成为了衣服新生的力量,尤其是在许多知名厂商如摩托罗拉宣布支持Linux手机操作系统之后,Linux的市场份额有增加的趋势。
目前基于Linux的智能手机占有7.3%的市场份额。
PalmOS由Palm公司研发,是一种32位的嵌入式操作系统,它的操作界面采用触控式,几乎所有的控制选项都排列在屏幕上,使用触控笔进行所有操作。
目前基于PalmOS的智能手机占有2.3%的市场份额[12]。
1.3课题来源
计算器作为现在人们日常生活中常用的一种工具已经可以说是人们日常生活中必不可少的工具了。
但是计算器的发展经历了漫长的过程,凝聚无数先人的智慧,甚至连计算机的发展都可以说是源于计算器的发展。
计算器与计算机一样都能够实现数据的输入、处理、存储与输出这些基本的功能,但计算器区别于计算机的地方就是,它不能自动的进行计算,必须要求由人来操作完成计算;
而计算机通过提前编写好的程序就能够自动的按照程序进行处理。
所以计算器与计算机的一个显著的区别就在于是否需要人为地操作来完成运行。
这二者还有另一个本质性的区别。
计算器的处理数据的方法是生产时就已经固化在系统中了,所以计算器只能按照系统中规定的处理方法来处理用户要求的计算任务;
而计算机由于可以自行安装操作系统与各种的相关软件与硬件,理论上计算机拥有的可扩展性是无穷的。
所以简单的说,计算器与计算机的本质性区别就在于该系统是否存在可扩展性。
在我所了解到的知识中,最早的计算工具可以追溯到中国古代一种叫做筹策(又叫算筹)的东西上。
这种计算工具在计算的时候摆成纵式与横式两种数字,按照纵式相间的原则表示任何自然数,从而进行加、减、乘、除、开方以及其它的代数计算。
负数出现后,算筹分为红与两种,红筹表示正数,黑筹表示负数。
虽然我对于这种计算的原理不是很了解,但是不得不说,这种运算工具与运算方法确实是当时世界上独一无二的。
直到今天仍有一些人在使用的珠算或者叫算盘,是中国古代计算工具中的另一项伟大发明,而从明朝开始使用的算盘就已经与现代的算盘几乎完全相同了。
以上介绍完了中国关于计算工具的发展,下面我们来看看西方社会中计算工具的发展情况。
我通过查询资料得知,17世纪初这个时期,西方国家的计算工具开始有了一个较大的发展,英国数学家纳皮尔发明的"
纳皮尔算筹"
,英国牧师奥却德发明了圆柱型对数计算尺,这种计算尺的功能不仅仅能做加减乘除、乘方、开方运算,甚至可以计算三角函数,指数函数与对数函数,这些计算工具的产生不单单是带动了计算器的发展,更是为现代计算器的发展奠定了一个坚实的基础。
虽然当时的技术水平有限,这些工具使用的不是机械或者电子作为载体,但是这些计算工具却为了后世的计算器提供了一个良好的思路。
1642年,伟大的法国科学家帕斯卡在年仅19岁的时候就利用了算盘的计算原理发明了世界上第一部机械式的计算器,在这个计算器中有一些互相咬合的齿轮,一个转过十位的齿轮会使另一个齿轮转过一位,靠这样来实现十进制的算法,人们可以转动齿轮,把想要输入的数据输入进去,计算结果就会出现在另一个窗口中,但是这个计算器只能做一些加减计算。
1694年,莱布尼兹在德国将其改进,使这种计算器成为可以进行加减乘除计算的计算器。
此后,一直要到20世纪50年代末才有电子计算器的出现。
2基于Android平台计算器相关技术概述
本章介绍了基于Android平台计算器相关技术。
首先介绍了各种智能手机平台系统,并进行分析。
重点介绍了Android平台系统,对Android体系结构及平台功能进行了介绍。
同时还对本文界面开发实现要用的XML技术进行了简单的介绍,具体如下。
2.1Android手机平台
2.1.1Android起源及优势
Android平台自发布以来就一直吸引着广大开发者的目光,Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面与应用软件组成,号称是首个为移动终端打造的真正开放与完整的移动软件[14]。
Android平台具有以下优点:
(1)平台的开放性允许任何厂商加入,使其拥有更多的开发者,新颖的应用功能及创意可以不断地出现。
(2)脱离了运营商的束缚,让手机更加贴近互联网。
(3)应用程序都是基于java开发的,java具有一次编写、到处运行的跨平台性。
能够实现在所有的Android设备中运行,真正做到了硬件的无关性,降低了开发者的负担。
(4)提供了标准的API与SDK开发包,手机厂商可以根据需要自行开发或者使用已有的程序,从而打造出富有特色的Android平台。
2.1.2Android体系结构
Android平台架构[15]从上至下包含五部分:
应用程序(Application)、应用框架(ApplicationFramework)、开发库(Libraries),运行时环境(AndroidRuntime)以及Linux内核,如图2-1所示.
(1).应用程序
Android同一系列核心应用程序包一起发布,该程序包包括email客户端、SMS短消息程序、日历、联系人管理程序等。
所有的应用程序都是用Java语言编写的。
(2).应用框架
应用框架式进行Android开发的基础。
应用程序框架层包含了视图系统、内容提供器、窗口管理器、活动管理器、通知管理器、资源管理器、电话管理器与包管管理器9大部分。
图2-1Android架构图
在Android中,任何一个应用程序都可以发布自身的功能块,而其他应用程序则可以使用已发布的功能块。
基于这样的重用机制,用户就可以方便地替换平台自身的各种应用程序组件,这在Symbian与WindowsMobile平台中都是无法实现的。
虽然Android本身已在框架中提供了许多软件组件,不过这并不表示所有的应用程序一定要调用Android本身已在框架中提供了许多软件组件,不过这并不表示所有的应用程序一定调用Android所提供的组件,开发人员在开发Android平台上的应用程序时,也可以开发新的软件组件,并将该软件组件放入Android的应用程序框架中。
(3)开发库(Libraries)
Android包含一套C/C++开发库,主要包括:
libc、MediaFramework、WebKit、SGL、OpenGLES、FreeType、SQlite等。
这些库被应用于Android系统的各种组件中,开发人员可以通过Android应用框架调用它们。
(4)运行环境(AndroidRuntime)
Android虽然采用Java程序语言来编写应用程序,但并不使用J2ME执行Java程序,而是用Android本身自带的Android运行时环境。
Android运行时包括核心库与Dalvik虚拟机两部分,如图2-2所示,这两部分具体功能如下:
核心库包含两部分内容:
一部分为绝大多数Java程序语言所需要调用的功能函数,另外一部分为Android的核心库,如、android.os、android.media等。
与标准Java语言不一样的是,每个Android应用程序都有一个自用的进程,即Android不是用一个Dalvik虚拟机来同时执行多个Android应用程序,而是每个Android应用程序都有一个自身的Dalvik虚拟机来执行。
图2-2Android运行时
Dalvik是一种基于寄存器的Java虚拟机。
Dalvik虚拟机是专门为移动设备而设计的,它在开发时就考虑到了用最少的内存资源来执行,以及支持前面提到的同时执行多个虚拟机的特性。
Dalvik虚拟机有许多地方参考了Java虚拟机的设计,不过Dalvik虚拟机所执行的中间码并非是Java虚拟机所执行的Java字节码,但也不直接执行Java的类文件,而是依靠转换工具dx将Java字节码转换为dex格式。
(5)Linux内核(LinuxKernel)
Android的内核系统服务依赖于Linux2.6内核(如图2-3所示),如内存管理、进程管理、安全性、网络协议栈与驱动模型。
Linux内核也同时作为硬件与软件栈之间的抽象层,这样应用程序开发人员就无需关心硬件实现细节。
图2-3linux内核
整体架构上,Android相比其他平台显示出了自身的特点,例如集成了WebKit浏览器、Dalvik虚拟机等模块、提供了开源的代码、可重用与可替换组件的程序应用框架、SQLite结构化的数据存储的数据库等特点。
2.1.3Android平台功能特征
Android平台具有很多独特的功能特征,具体如下。
应用程序架构:
在应用程序架构内已经具备了多种不同的基础组件,在开发应用程序时,可以直接调用这些组件,极大地节省了程序开发人员的时间与精力。
Dalvik虚拟机器:
在Android平台上使用的java虚拟机,不是Sun公司的标准java虚拟机,而是Google自主开发的代码为Dalvik的虚拟机,它不但保证了JavaAPI的兼容性,同时针对移动手机进行了大幅优化,占用资源更少,运行效率更高。
集成的浏览器:
集成的浏览器是Android内建的浏览器,是以WebKit的浏览殷勤为基础开发的。
WebKit是一个开源浏览器网页排版引擎,目前使用了WebKit引擎的浏览器主要有:
Safari,Midori,Epiphany等。
配合Android手机的功能,可以再浏览网页时,达到更好的效果,例如:
局部缩放网页上的咨讯、触控式的操作等效果。
优化的绘图能力:
在程序里可以用到的绘图功能分为2D与3D两个方面。
在2D方面,Android提供了一套特有的类库(SQL);
而在3D方面则是使用OpenGLES1.0(OpenGLforEmbeddedSystems)规范的类库。
它们是一种非常快的图形引擎,并且支持硬件加速。
SQlite数据库:
SQlite提供结构化的数据存取。
SQlite[16]是一款轻型的数据库,它的书记目标是嵌入式的,目前已经有很多嵌入式产品使用了它,它占用的资源非常低。
它能够支持windows、linux、unix等主流的操作系统,同时能够与很多程序语言相结合,比如PHP,Java等,还有ODBC接口,与Mysql,PostgreSQL相比,它的处理速度更快,无需安装与管理配置。
它是一个储存在单一磁盘文件中的完整数据库,体积很小只有250KB,但所支持数据库大至ZTB。
它虽然很小巧,但是支持的SQL语句毫不逊色于其他开源数据库。
同时它还支持事务功能与并发处理等。
SQlite也是一套开发性的关联式资料库,其特点在于轻量性方面的设计结构,更适合在手机上使用。
多媒体的支持能力:
主要用于播放媒体文件。
包括对音频(如播放MP3或其他音乐文件等)与视频(如播放从网上下载的视频)的支持,并支持“播放URI地址”模式——在网络上直接播放的流媒体。
另外支持各种通用的静态图像格式,例如:
JPG、PNG、GIF等格式。
GMS技术:
GlobalSystemforMobileCommunications,即全球移动通讯系统,俗称“全球通”,是一种起源于欧洲的移动通信技术标准,是第二代移动通信技术,其开发目的是让全球各地可以共同使用一个移动电话网络标准,让用户使用一部手机就能行遍全球[17]。
GSM技术是属于手机硬件方面的展现,也是在开发Android应用程序时可以突出的特点之一。
蓝牙、EDGE、3G及Wi.Fi:
蓝牙技术是一种新型、开放、低成本、短距离的无线连接技术,可取代短距离的电缆,实现话音与数据的无线传输。
EDGE(EnhancedDataRateforGSMEvolution),即增强型数据速率GSM演进技术。
EDGE是一种从GSM到3G的过渡技术,它主要是在GSM系统中采用了一种新的调制方法,即最先进的多时隙操作与8PSK调制技术[18]。
由于8PSK可将现有GSM网络采用的8GMSK可将现有GSM网络采用的GMSK调制技术的信号空间从2扩展到8,从而使每个符号所包含的信息是原来的4倍。
Wi.Fi(WireleddFidelity),即无线保真技术,与蓝牙技术一样,都属于在办公室与家庭中使用的短距离无线技术。
该技术使用的是2.4GHz附近的频段,该频段目前尚属没用许可的而无线频段。
其目前可使用的标准有两个,分别是IEEE802.11a与IEEE802.11b。
这些通讯能力是属于手机硬件方面的展现,也是在开发android应用程序时可以突出的特点之一。
GPS:
GlobalPositioningSystem,即全球定位系统,它是一个由覆盖全球的24颗卫星组成的卫星系统[19]。
这个系统可以保证在任意的时刻