文档库 最新最全的文档下载
当前位置:文档库 › Android平台上的计算器设计

Android平台上的计算器设计

Android平台上的计算器设计
Android平台上的计算器设计

重庆邮电大学

《移动计算》实验报告

设计题目:Android平台上的计算器设计学生班级:

专业姓名:

学生学号:

学生成绩:

指导教师(职称):

目录

摘要........................................................................................................................................................ - 1 -ABSTRACT ............................................................................................................................................... - 2 -第一章引言.............................................................................................................................................. - 3 -

1.1课题背景及意义 (3)

1.1.1课题背景................................................................................................................................ - 3 -

1.1.2课题相关的技术知识.............................................................................................................. - 4 -

1.2智能手机平台系统 (7)

1.3课题来源 (8)

第二章系统分析...................................................................................................................................... - 9 -

2.1系统可行性分析 (9)

2.2系统的开发语言的选择 (9)

2.3系统的开发工具简介 (9)

2.3.1 JDK .......................................................................................................................................... - 9 -

2.3.2 WTK ....................................................................................................................................... - 10 -

2.3.3 Eclipse .................................................................................................................................... - 10 -

2.3.4 EclipseMe ................................................................................................................................- 11 -第三章基于ANDROID平台计算器相关技术概述............................................................................ - 12 -

3.1A NDROID手机平台 (12)

3.1.1Android起源及优势 .............................................................................................................. - 12 -

3.1.2Android体系结构 .................................................................................................................. - 12 -

3.1.3Android平台功能特征 .......................................................................................................... - 14 -

3.2A NDROID SDK介绍 (15)

3.3XML技术 (16)

3.4JNI技术 (16)

第四章基于ANDROID平台计算器设计............................................................................................ - 18 -

4.1系统的总体设计 (18)

4.2程序流程和系统功能设计 (18)

4.2.1 程序流程设计....................................................................................................................... - 18 -

4.2.2 系统功能设计....................................................................................................................... - 19 -

4.3基于A NDROID平台系统具体设计 (20)

4.3.1 总体模块详细设计............................................................................................................... - 20 -

4.3.2 输入模块详细设计............................................................................................................... - 20 -

4.3.3 显示模块详细设计............................................................................................................... - 21 -

4.3.4 计算模块详细设计............................................................................................................... - 21 -第五章计算器系统实现........................................................................................................................ - 23 -

5.1A NDROID应用程序构成 (23)

5.2A NDROID应用系统文件结构 (23)

5.3构建A NDROID应用程序用户界面 (25)

5.3.1 Android应用程序界面组件.................................................................................................. - 25 -

5.3.2 Android应用系统界面组件.................................................................................................. - 26 -

5.3.3 Android用户界面的实现...................................................................................................... - 27 -

5.4计算模块的实现 (30)

5.5计算器演示 (33)

总结...................................................................................................................................................... - 35 -致谢...................................................................................................................................................... - 36 -参考文献.................................................................................................................................................. - 37 -附录............................................................................................................................... 错误!未定义书签。

摘要

目前手机可以说是普及率非常高的电子设备了,由于其便于携带,使用方便,资费适中等等原因,现在手机已经在一定程度开始代替固定电话的通话功能,以及一些原来电脑软件上的功能了。手机上的软件也随着手机的发展变得丰富起来了,时至今日已经出现了很多专门制作手机软件的公司,虽然制作的多是游戏软件,但是一些辅助性的工具软件也有了很多。

虽然Android系统是现今比较流行的手机系统,但是在Android上开发手机软件只能在Android的手机上使用,而如果使用Java ME开发软件的话,该软件基本就可以在除了iOS的各大手机平台上运行,大大提高了使用率,减少了关于跨系统平台所带来的种种问题,所以本系统选择了基于java的Java ME语言来作为开发语言。从手机市场的份额占有率来看,现在市面上占有绝对优势的还是塞班系统,虽然因为一些原因该系统正在走下坡路,但是不管什么系统以后会成为主流的手机操作系统,触屏手机都已经成为了流行的趋势,无论是塞班的后期系统,还是微软开发的WM系列,苹果的iOS系统,以及google开发的Android系统,都是支持甚至完全基于触屏开发的系统。可以说现在市面上的主流手机无论品牌都是触屏手机,触屏手机必将代替传统的键盘手机成为新一代手机使用者的宠儿。也是因此本系统在开发中就选择了触屏的作为开发模式,强调触屏的使用,以期可以跟上时代的发展。

综上所述,本系统是一个基于现有手机计算器开发的在触屏手机上运行的简单科学计算器。拥有简单计算器中没有的科学计算功能。使用户可以更加简单便捷的使用一些科学计算器的功能,同时还不用学习科学计算器那复杂的使用方法。本人在此次系统中所做的工作主要是设计整个系统以及利用编程语言实现整个系统,使系统能够正确的运行计算功能。

关键词:手机,Android,用户界面,计算器

Abstract

Current mobile phones can be said is very high penetration rate of electronic equipment, because of its easy to carry, easy to use, and tariff moderate reason, and now the phone has been to some extent instead of the fixed telephone calling features, as well as the function of the number of original computer software a. The software on the phone with the development of mobile phones become richer, and today there have been a lot of companies specialized in the production of mobile phone software, although the production of multi-game software, but a number of complementary tools also have a lot.

Although the Android system is now more popular mobile phone system, but in the development of mobile software on Android in the Android phone, if you are using Java ME development software, the software basically in addition to iOS major mobile platforms operation, greatly improving the utilization, to reduce the problems brought about by the cross-platform, so the system selected as a java-based Java ME language development language. From the revenue share of the mobile phone market, the market has an absolute advantage or Symbian system, because for some reason the system is going downhill, but whatever system later will become the mainstream mobile phone operating system, touch screen phones become a popular trend of late Saipan system, Microsoft developed the WM series, Apple's iOS system, and google the development of the Android system, are supported or touch screen-based systems developed. It can be said that the mainstream mobile phone market regardless of brand touch screen mobile phone touch screen mobile phone will replace the traditional keyboard phones to become the darling of the new generation of mobile phone users. Therefore this system in the development of selected touch screen as a development model, emphasizing the use of the touch screen, in order to keep up with the development of the times.

In summary, the system is based on the existing mobile phone calculator developed a simple scientific calculator running on a touch screen mobile phone. Has a simple calculator, scientific computing capabilities. Allows the user to a more simple and convenient to use scientific calculator functions, and also without having to learn the complex use of scientific calculators. I have done in the system is designed for the entire system and programming language to implement the entire system, enabling the system to correct operation of computing capabilities.

Key words: mobile phone, Android, UI, calculator

第一章引言

1.1课题背景及意义

1.1.1课题背景

随着21世纪的到来,我们已经步入了信息化时代,这个时代的最重要的标志就是信息技术的广泛应用。而手机正是信息技术的一个重要体现。如今社会上手机的应用已经达到了非常普及的程度,基本随处都可以见到手机的身影。我们也熟悉了在社会各处遇见它们,家里,办公室里,学校,马路上,基本可以说是有人的地方就用手机的存在。手机发展到今天,已经和最初的手机有了天差地别。智能手机[2]具有独立的操作系统,像个人电脑一样支持用户自行安装软件、游戏等第三方服务商提供的程序,并通过此类程序不断对手机的功能进行扩充,同时可通过移动通讯网络来实现无线网络接入。

智能手机同传统手机外观和操作方式类似,不仅包含触摸屏也包含非触摸屏、数字键盘手机和全尺寸键盘操作的手机。但是传统手机都使用的是生产厂商自行开发的封闭式操作系统,所能实现的功能非常有限,不具备智能手机的扩展性。

从广义上讲,智能手机除了具备手机的通话功能外,还具备个人信息管理以及基于无线数据通信的浏览器、GPS(Global Positioning System)和电子邮件功能。智能手机为用户提供了足够的屏幕尺寸和带宽,既方便随身携带,又为软件运行和内容服务提供个广阔的舞台,很多增值业务可以就此展开,如:股票、新闻、天气、交通、商品、应用程序下载、音乐图片下载等等。结合3G通信网络的支持,智能手机的发展,势必将成为一个功能强大,集通话、短信、网络接入、影视娱乐为一体的综合性个人手持终端设备。

第一代手机(1G)是指模拟的移动电话,也就是在我们小时候活跃在各种影视作品中的“大哥大”。最先研制出这种手机的是美国摩托罗拉公司的Cooper博士。由于当时的电池、天线和集成电路的规模等等技术水平的制约,这种手机体积很大,只能称的上时可移动,严格来说都算不上便携。

这种手机有多种制式,AMPS(北美蜂窝系统)、NMT(北欧移动电话)和TACS(全向通信系统)都是主要的模拟标准,但是无论是什么制式的工作方式基本上是频分复用,而且这种手机只能进行简单语音通信,通话的效果也不稳定,同时保密性也很不足,基本可以说是没有保密性。由于当时这种手机的通话频率是固定的,只需要使用双工的无线电台就能监听到用户通话的内容。另外这种手机对于无线带宽利用也是十分不充分的。

第二代手机(2G)也是手机发展过程中最常见的手机。通常这些手机使用GSM或者CDMA这些成熟的标准制式,通过了一段时间的发展电池、天线和集成电路规模已经有了突破性的进展了,不会再成为第二代手机发展的制约,而手机也在这些技术的促进中发展的越来越快。通话质量和待机时间都得到了很大的发展。第二代手机为了适应用户对于数据通讯的需求,一些在现在普遍使用的技术也在手机上得到了发展,例如GPRS彩信业务和WAP上网业务,也是在这个时期各式各样的Java程序开始登上历史舞台,从此Java程序的拓展也成为了手机一个重要的部分。

下面我们来说说我们现在常常会提起的3G吧。3G是英文3rdGeneration的缩写,即指第三代移动通信技术。相对第一代手机(1G)和第二代手机(2G),第三代手机更

加强调的是网络的部分,利用3G技术,手机能够更好的进行数据业务。它能够随时随地的来处理图像、音乐、视频等等多媒体业务,服务的范围提供包括比第二代手机更加快速的网页浏览、视频通话、电子商务等等多种信息服务。而为了确保能够给用户提供以上这些服务,第三代手机就需要更高的数据传输速度,据本人了解,现在的3G手机在室内、室外和行车的环境中能够分别支持2Mbps、384kbps以及144kbps以上的传输速度。

最后我们来说说现在国际上承认的3G手机的标准,现在国际上3G手机(3G handsets)有3种制式标准,这三种标准分别是欧洲的WCDMA标准、美国的CDMA2000标准和我国自主研发的TD-SCDMA标准。

手机发展到今天,科技水平已经越来越高,而3G手机也已经开始进入我们的生活了,手机应用的扩展更是从第二代手机开始就已经变得具有极其重要的意义了,而本文正是在这样的背景下开展研究的。

1.1.2课题相关的技术知识

近年来,随着手机使用的一些技术的迅速发展,基于J2ME编写的手机应用,因其具有易用性、通用性和良好的可扩展性等优点而发展迅速,正逐渐成为一种流行的热门技术。那么到底什么是JV A V?什么是J2ME呢?下面让我们先来介绍一下。

随着通信技术的发展,3G从制定出到现在越来越被人们关注。“3 G”(英语

3rd-generation)或“三代”是第三代移动通信技术的简称,是指支持高速数据传输的蜂窝移动通信技术[4]。目前3G存在四种标准:CDMA2000、WCDMATD-SCDMA、WiMAX。其中TD-SCDMA(全称Time Division-Synchronous CDMA)是由中国大陆独自制定的

3G标准。

为了推动我国的智能手机的发展,实现多功能的智能手机,方便人们丰富多彩而又快节奏的生活。本文正是基于Android平台开发的计算机器。论文主要阐述以面向对象的程序开发语言eclipse为开发工具, 基于智能手机Android之上设计一个计算器。本文的目标就是设计并实现基于Android的计算器,论文首先介绍了Android开发平台和环境以及Android 工程的重要部分,然后着重针对计算器的系统设计和系统设计的具体实现,最后实现计算器的各种功能并得到了很多好的验证。

1.JA V A技术

首先要说,Java是一门现在使用很普遍编程语言,但是也是一个平台,它基于Java 虚拟机技术,并且借助虚拟机技术实现了跨平台的优势。Java平台由Java虚拟机(Java Virtual Machine)和Java 应用编程接口(Application Programming Interface、简称API)构成。Java 应用编程接口为Java应用提供了一个独立于操作系统的标准接口,再进一步则可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。由于Java技术本身的优势,现在Java平台已经嵌入了几乎所有的操作系统。这样Java程序的优势就更加明显了,甚至可以做到只编译一次,就可以在各种系统中运行的地步。Java技术的重要性就不讲了,从我了解接触过的编程语言来看,接触的最多的编程语言分别是Java 、C 、VB、C++,我对于编程语言的接触程度虽然本身不能不说明什么,但至少在一定程度上可以反映出编程语言的使用率和普及率。

总体的了解了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是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言。下面我们就来详细的介绍一下这些特点。

Java语言是简单的。由于Java语言的语法与C语言和C++语言很相近,这就使得大多数的程序员可以只通过很容易学习就能使用Java。另一方面,Java语言祛除了一些C++语言中令人迷惑或者难以理解的特性,比如操作符重载、多继承、自动的强制类型转换等等。另外,在Java语言种不使用指针,并提供了自动的废料收集的功能,从此使用Java的程序员再也不用为了内存管理而担忧了。

Java语言是面向对象的。Java语言中提供了类、接口和继承等等,其中只支持类之间的单继承,想要进行多继承就要使用接口,支持类与接口之间的实现机制的关键字为implements。与C++ 语言只对虚函数使用动态绑定相比,Java语言全面支持动态绑定。总之,Java语言可以说是一个纯粹面向对象的程序设计语言。

Java语言是分布式的。Java语言支持Internet应用的开发,所以在基本的Java应用编程接口中会有一个网络应用编程接口(java net),这个编程接口提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的远程方法激活机制也是开发分布式应用的一个重要手段。

Java语言是健壮的。Java的强类型机制、异常处理、废料的自动收集等是Java程序健壮性的重要保证。而不再使用指针更是Java的明智选择。Java的安全检查机制使得Java更具健壮性。

Java语言是安全的。由于Java通常被用在网络环境中,因此,Java特意提供了一个安全机制以防恶意代码的攻击。除了Java语言具有的许多安全特性以外,Java对通过网络下载的类还具有一个安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager)让Java 应用更加安全。

Java语言是体系结构中立的。Java程序(后缀为java的文件)在Java平台上被编

译为体系结构中立的字节码格式(后缀为class的文件), 然后可以在实现这个Java平台的任何系统中运行。这种适应性使得Java的应用变的更加的广泛。

Java语言是可移植的。由于Java语言的结构中立的特性,这种语言同时也具备了很强的可移植性,另外,Java语言中还规定了各个基本数据类型的长度。而Java系统的本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSI C实现的。

Java语言是解释型的。Java程序在Java平台上被编译为一种特殊的字节码格式,然后该程序就可以在任何系统中装有Java平台的实现运行。在运行时,Java平台中的Java 解释器对这些特殊的字节码再进行解释,而在整个过程中所需要的类在联接阶段就会被载入到运行环境中。

Java是高性能的。我了解到的Java语言与解释型的高级脚本语言相比Java的性能确实是占优势的。Java的运行速度更是随着JIT(Just-In-Time)编译器技术的发展变得越来越快了。

Java语言是多线程的。Java语言支持多个线程在同一时间一同执行,并且专门的提供了多线程之间的同步机制(关键字为synchronized)。

Java语言是动态的。在Java语言的设计之初就有要求语言能够适应于动态变化的环境这个目标。Java程序需要的类,既可以动态地被载入到运行环境,又可以通过网络来载入所需要的类。这样的设计有利于软件的升级。另外,我还了解到Java中的类存在一个运行时刻的表示,能进行运行时刻的类型检查。

由于Java语言编写的Java应用具有很强的健壮性和可靠性,这样就能减少很多应用系统的维护费用。Java对面向对象的技术的全面支持和Java平台内嵌的API能极大的缩短应用系统的开发时间同时还能降低开发成本。Java的编译一次,可以在任意装有Java平台的系统运行的特性使得它成为能够直接在多个平台之间传递信息的简单便利的方式。有必要一说的是Java企业应用编程接口还为企业计算及电子商务应用系统提供了有关技术和丰富的类库。

Java编程语言最与众不同之处在于:Java程序既是编译型的又是解释型的。编译型是指,程序会转换为一种称为Java字节码的中间语言,解释型则是指,运行程序的时候JVM 会对字节码进行解析和运行。这个过程中,编译只进行一次,而解释在每次运行程序时都会进行。

Java平台是一种纯软件平台,它有三个版本Java SE、JavaEE、Java ME。下面就来着重介绍一下Java ME。

2.Java ME

Java ME(Java Platform,Micro Edition)。这个版本以前称为J2ME。Java ME的目的是为了在移动设备或者嵌入式设备(比如手机、PDA、电视机顶盒和打印机)上运行的应用程序提供一个健壮且灵活的环境。Java ME包括用户界面、安全模型、内置的网络协议以及对可以动态下载的应用程序的支持。由于Java ME使用的是基于Java平台的规范,所以使用Java ME开发的应用程序也只需编写一次,就可以用于许多设备,而且可以充分的利用每个设备的本机功能。

从近几年的发展趋势来看,Java ME流行的应用是手机应用软件。Java ME程序可以直接在电脑上开发并且可以在电脑端进行仿真运行,程序开发完成后又可以很容易的安装到手机上并且运行,这样的开发过程使得Java ME程序无论是开发、测试和发布的变得十分容易而且成本低廉。当然Java ME的用途和前景远比手机应用软件这方面要广

泛得多。

与J2SE和J2EE相比,J2ME的运行环境和平台更加多样化,但其中具体产品的用途却更为单一,而且对于的资源限制也更加严格。为了在能够达到标准化和兼容性的同时还可以尽量满足不同方面的需求,J2ME的架构分为Configuration、Profile和Optional Packages(可选包)。它们之间的不同组合形成了具体的运行环境。

1.2智能手机平台系统

智能手机(Smartphone),是指―像个人电脑一样,具有独立的操作系统,可以由用户自行安装软件、游戏等第三方服务商提供的程序,通过此类程序来不断对手机的功能进行扩充,并可以通过移动通讯网络来实现无线网络接入的这样一类手机的总称‖。目前全球主要的只能手机操作系统依次是iPhone OS、Symbian、BlackBerry OS和Android,其中Android最年轻,市场份额正迅速增加。下面简单介绍Android以外的几款常用的智能手机系统。

IPhone OS是苹果公司专门为iPhone开发的智能手机系统[5]。iPhone手机具有硬件与软件一一绑定的特性,Apple公司采用与运营商分成的策略。iPhone虽然开放了SDK,可是却不能在PC上使用,这对于中国的应用开发市场是个不晓得阻碍。但它将创新的移动电话、可触摸宽屏iPod以及具有桌面级电子邮件、网页浏览、搜索和地图功能的突破性因特网通信设备这三种产品完美的融合为一体的特性,也吸引了无数的用户。

Symbian(中文名:塞班)[6]是一个实时性、多任务的纯32位操作系统,具有功耗低、内存占用少等特点,非常适合手机等移动设备使用,经过不断完善,虽然在智能型手机市场取得了无比的成功,并长期居于首位,但是Symbian S60、Symbian3,UIQ等(尤其是S60)系统近两年亦遭遇到显著的发展瓶颈。最近12个月欧洲手机公司诺基亚(Nokia)在智能手机市场市占率的滑落是不争的事实。需要注意的是,并不是所有的Symbian系统都是智能系统,比如S40系统,就不属于智能手机系统。

BlackBerry OS[7]是RIM专用的智能手机操作系统。BlackBerry,在美国市场占有率相对较高,BlackBerry的比较具有个性的设计就是宽大的屏幕和便于输入的QWERTY 全键盘,所以BlackBerry在移动电子邮件方面非常方便,由于我国手机用户发送短信对于发送邮件,所以BlackBerry系统的邮件优势在中国不存在,目前BlackBerry OS在智能手机操作系统的市场份额占据第三位i,BlackBerry手机市场主要在美国[8]。

windows mobile是微软由于Pocket PC和Smartphone的软件平台[9]。windows mobile 系统将大家熟悉的Windows桌面延伸到了移动设备中。windows mobile是Microsoft为手持设备推出的“Windows移动版”。受Android的冲击,目前Windows Mobile在智能手机操作系统的市场下降到4%左右。

Linux凭借其开放源代码、免费的优势,经过来自全球程序员的努力,再加上google、IBM等计算机巨头的支持。Linux在手机操作系统市场中成为了衣服新生的力量,尤其是在许多知名厂商如摩托罗拉宣布支持Linux手机操作系统之后,Linux的市场份额有增加的趋势。目前基于Linux的智能手机占有7.3%的市场份额。

Palm OS由Palm公司研发,是一种32位的嵌入式操作系统,它的操作界面采用触控式,几乎所有的控制选项都排列在屏幕上,使用触控笔进行所有操作。目前基于Palm OS的智能手机占有2.3%的市场份额[12]。

1.3课题来源

计算器作为现在人们日常生活中常用的一种工具已经可以说是人们日常生活中必

不可少的工具了。但是计算器的发展经历了漫长的过程,凝聚无数先人的智慧,甚至连计算机的发展都可以说是源于计算器的发展。计算器和计算机一样都能够实现数据的输入、处理、存储和输出这些基本的功能,但计算器区别于计算机的地方就是,它不能自动的进行计算,必须要求由人来操作完成计算;而计算机通过提前编写好的程序就能够自动的按照程序进行处理。所以计算器和计算机的一个显著的区别就在于是否需要人为地操作来完成运行。这二者还有另一个本质性的区别。计算器的处理数据的方法是生产时就已经固化在系统中了,所以计算器只能按照系统中规定的处理方法来处理用户要求的计算任务;而计算机由于可以自行安装操作系统和各种的相关软件和硬件,理论上计算机拥有的可扩展性是无穷的。所以简单的说,计算器和计算机的本质性区别就在于该系统是否存在可扩展性。

在我所了解到的知识中,最早的计算工具可以追溯到中国古代一种叫做筹策(又叫算筹)的东西上。这种计算工具在计算的时候摆成纵式和横式两种数字,按照纵式相间的原则表示任何自然数,从而进行加、减、乘、除、开方以及其它的代数计算。负数出现后,算筹分为红和两种,红筹表示正数,黑筹表示负数。虽然我对于这种计算的原理不是很了解,但是不得不说,这种运算工具和运算方法确实是当时世界上独一无二的。

直到今天仍有一些人在使用的珠算或者叫算盘,是中国古代计算工具中的另一项伟大发明,而从明朝开始使用的算盘就已经与现代的算盘几乎完全相同了。

以上介绍完了中国关于计算工具的发展,下面我们来看看西方社会中计算工具的发展情况。我通过查询资料得知,17世纪初这个时期,西方国家的计算工具开始有了一个较大的发展,英国数学家纳皮尔发明的"纳皮尔算筹",英国牧师奥却德发明了圆柱型对数计算尺,这种计算尺的功能不仅仅能做加减乘除、乘方、开方运算,甚至可以计算三角函数,指数函数和对数函数,这些计算工具的产生不单单是带动了计算器的发展,更是为现代计算器的发展奠定了一个坚实的基础。虽然当时的技术水平有限,这些工具使用的不是机械或者电子作为载体,但是这些计算工具却为了后世的计算器提供了一个良好的思路。

1642年,伟大的法国科学家帕斯卡在年仅19岁的时候就利用了算盘的计算原理发明了世界上第一部机械式的计算器,在这个计算器中有一些互相咬合的齿轮,一个转过十位的齿轮会使另一个齿轮转过一位,靠这样来实现十进制的算法,人们可以转动齿轮,把想要输入的数据输入进去,计算结果就会出现在另一个窗口中,但是这个计算器只能做一些加减计算。1694年,莱布尼兹在德国将其改进,使这种计算器成为可以进行加减乘除计算的计算器。此后,一直要到20世纪50年代末才有电子计算器的出现。

第二章系统分析

2.1 系统可行性分析

手机计算器系统的功能定义为,为用户提供便捷的计算功能。即在使用方便的前提下为用户提供尽量多的计算以及相关功能。意旨将计算器和手机进行有机的结合,使计算器的使用变得更加简便。

随着手机应用软件的不断发展,实用的手机计算器可以算是手机中必不可少的软件之一,使用手机计算器可以方便的对复杂的数据进行计算,为工作生活中带来了很多方便。

1经济可行性分析

本系统由个人开发,完全开源,在本系统开发的过程中考虑了用户可能需要的计算功能,对于基本计算的功能和记忆功能都有开发,还另行开发了一些其她的计算功能,功能基本比较完善,同时可以免费使用,很实惠,有很强的实用性。

2技术可行性分析

本系统从技术上来讲是完全可行的,利用J2ME可以相对容易的实现基于触屏的手机软件开发,同时利用了Java的特点,使系统能够在更多的不同操作系统中安装运行。现在手机本身的CPU和存储空间完全可以支持系统的运算以及记忆的储存等等所需要的速度和存储空间。

2.2 系统的开发语言的选择

本次开发的系统为基于触屏手机的手机计算器,手机计算器的实用性相当强,在手机上安装计算器既可以方便计算,又可以解决携带等等问题。需要使用基于触屏的开发模式是因为现在的触屏手机大行其道,基本新上市的主流手机都使用的触屏技术,为了能够使系统跟谁时代的脚步不会过早的被淘汰等等方面的考虑,本系统使用了基于触屏的开发模式。基于触屏的开发模式可以分为好几种,比如入前文提到的微软开发的WM 系列,苹果的iOS系统,以及google开发的Android系统等等,那么为什么要选择J2ME 作为开发语言呢?选择J2ME语言作为开发语言的原因很简单,因为这些系统基本每种触屏手机的操作系统都有自己的对应的软件格式,由于考虑到了Java的通用性,所以本系统使用了Java这种通用的技术进行开发,使用的是适合于移动平台J2ME语言编写。

2.3 系统的开发工具简介

本系统是采用Eclipse+EclipseMe+JDK+WTK作为开发平台,使用J2ME这种语言进行程序的编写的。上文中已经介绍了J2ME了,下面我们来介绍一下开发平台。

2.3.1 JDK

JDK(Java Development Kit)是Sun Microsystems针对Java语言程序开发的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK。JDK 是整个Java的核心组件,其中包括了Java的运行环境,Java工具和Java基础的类库。可以说JDK是学好Java

的第一步。从SUN的JDK5.0开始提供了泛型等等一些非常实用的功能,而且版本还在不断更新,到本论文写作时已经更新到了JDK6.0了。运行效率也随着版本的不断更新而得到了很大的提高。

2.3.2 WTK

WTK 的全称是Sun J2ME Wireless Toolkit —— Sun的无线开发工具包。这一工具包的设计目的就是为了帮助开发人员简化Java ME程序的开发过程。使用其中的工具可以开发与Java Technology for the Wireless Industry (JTWI, JSR 185) 规范兼容的设备上运行的Java ME应用程序。并且在工具箱包含了完整的生成工具、实用程序以及设备仿真器,这就是上文中所提到的可以在电脑上进行仿真测试的关键工具包。每个版本都包括英语,日语,简体中文,繁体中文4个语种包。值得一提的是WTK默认是不支持触屏的,需要进行人为的修改以后才会支持触屏。

2.3.3 Eclipse

Eclipse是一个开放源代码的、基于Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。换句话说就是Eclipse只是提供了一个界面,所有的开发环境都要通过安装相关的插件来完成。不过Eclipse 附带了一个标准的插件集合,在这个集合中包括了Java的开发工具(Java Development Tools,JDT)。

首先我们来介绍一下Eclipse历史和版本。

Eclipse最初是由OTI和IBM公司开发的替代商业软件Visual Age for Java的下一代IDE开发环境,在2001年11月贡献给开源社区,现在它由非营利软件供应商联盟Eclipse 基金会(Eclipse Foundation)管理。2003年,Eclipse 3.0选择OSGi服务平台规范为运行时架构。2007年6月,稳定版3.3发布。2008年6月发布代号为Ganymede的3.4版。2009年7月发布代号为GALILEO的3.5版。2010年6月发布代号为Helios的3.6版。本系统开发使用的是3.6的版本。

此外我们再来谈谈Eclips语言拓展能力。

Eclipse基本已经成为世界最著名的跨平台自由集成开发环境(IDE)。最初主要用来Java语言开发,但是由于其开源的特性,也有人通过为其安装插件使其作为其她编程语言(比如C++和Python)的开发工具。如上文所说,Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有了其她功能固定的IDE软件很难拥有的灵活性。现在许多的软件开发商以Eclipse为框架开发出了自己的IDE。Eclipse由OTI和IBM 两家公司的IDE产品开发组创建,起始于1999年4月。IBM提供了最初的Eclipse代码基础,包括Platform、JDT 和PDE。目前也是由IBM牵头,围绕着Eclipse已经发展成为了一个庞大的Eclipse联盟,这个联盟中已经有150多家软件公司参与到Eclipse项目中,其中不乏知名的厂商例如Borland、Rational Software、Red Hat及Sybase等。Eclipse 是一个开发源码项目,其界面跟先前的Visual Age for Java差不多,但由于它是个开源的系统,任何人都可以免费得到其码源,并可以在此基础上开发各自的插件,正是因此,它越来越受人们关注。近几年更有包括Oracle在内的许多大公司也纷纷加入了该项目,这标志着Eclipse将来能会成为可进行任何语言开发的IDE大集合,使用者只需根据自己的需要下载各种语言的插件即可。

接着说说Eclipse 插件开发环境。

虽然大多数用户很乐于将Eclipse 当作Java IDE 来使用,但Eclipse 的目标不仅限于此,如上文所说,Eclipse的最终目标是成为可以进行任何语言开发的IDE大集合。所以在Eclipse中还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要是针对希望扩展Eclipse功能的软件开发人员,因为这个组件允许开发者构建与Eclipse环境无缝集成的工具。由于Eclipse中可以说是每样东西都是插件,所以说对

于想给Eclipse提供插件,以及给用户提供一致和统一的集成开发环境的开发人员来说,所有人都具有了一个同等的发挥机会。我在网上找到的基于Eclipse的应用程序的突出例子是IBM 的WebSphere Studio Workbench,它构成了IBM 关于Java开发工具系列的基础。例如,WebSphere Studio Application Developer 添加了对JSP、servlet、EJB、XML、Web 服务和数据库访问的支持。

Eclipse都有哪些的主要组成部分呢?

Eclipse作为一个开放源代码的软件开发项目,目标是成为可进行任何语言开发的IDE大集合。它主要是由Eclipse项目、Eclipse工具项目和Eclipse技术项目三个项目组成,其中具体的又包括四个部分,分别是Eclipse Platform、JDT、CDT和PDE。JDT是支持Java开发的、CDT是支持C开发的、PDE是用来支持Eclipse插件开发的,Eclipse Platform则是一个开放的可扩展IDE,为使用者提供了一个通用的开发平台。

Eclipse SDK(软件开发者包)是一个Eclipse Platform、JDT和PDE所生产的组件合并,它们可以一次性打包下载。这些部分一起提供了一个具有性能可靠,特性丰富的开发环境,在这个环境中允许开发者有效地建造可以无缝连接到Eclipse Platform中的工具。Eclipse SDK由Eclipse项目生产的工具和来自其它开放源代码的第三方软件组合而成。Eclipse项目生产的软件以GPL发布,第三方组件有各自自身的使用许可协议。2.3.4 EclipseMe

EclipseME是一个用来开发J2ME应用程序的Eclipse插件。EclipseME集成了Eclipse 现有的java editor功能,可以提高代码的编写效率。

第三章基于Android平台计算器相关技术概述

本章介绍了基于Android平台计算器相关技术。首先介绍了各种智能手机平台系统,并进行分析。重点介绍了Android平台系统,对Android体系结构及平台功能进行了介绍。同时还对本文界面开发实现要用的XML技术进行了简单的介绍,具体如下。

3.1 Android手机平台

3.1.1Android起源及优势

Android平台自发布以来就一直吸引着广大开发者的目光,Android一词的本义指―机器人‖,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件[14]。Android平台具有以下优点:(1)平台的开放性允许任何厂商加入,使其拥有更多的开发者,新颖的应用功能及创意可以不断地出现。

(2)脱离了运营商的束缚,让手机更加贴近互联网。

(3)应用程序都是基于java开发的,java具有一次编写、到处运行的跨平台性。能够实现在所有的Android设备中运行,真正做到了硬件的无关性,降低了开发者的负担。

(4)提供了标准的API和SDK开发包,手机厂商可以根据需要自行开发或者使用已有的程序,从而打造出富有特色的Android平台。

3.1.2Android体系结构

Android平台架构[15]从上至下包含五部分:应用程序(Application)、应用框架(Application Framework)、开发库(Libraries),运行时环境(Android Runtime)以及Linux内核,如图2-1所示.

(1).应用程序

Android同一系列核心应用程序包一起发布,该程序包包括email客户端、SMS短消息程序、日历、联系人管理程序等。所有的应用程序都是用Java语言编写的。

(2).应用框架

应用框架式进行Android开发的基础。应用程序框架层包含了视图系统、内容提供器、窗口管理器、活动管理器、通知管理器、资源管理器、电话管理器和包管管理器9大部分。

图 3-1 Android架构图

在Android中,任何一个应用程序都可以发布自身的功能块,而其她应用程序则可以使用已发布的功能块。基于这样的重用机制,用户就可以方便地替换平台自身的各种应用程序组件,这在Symbian和Windows Mobile平台中都是无法实现的。虽然Android 本身已在框架中提供了许多软件组件,不过这并不表示所有的应用程序一定要调用Android本身已在框架中提供了许多软件组件,不过这并不表示所有的应用程序一定调用Android所提供的组件,开发人员在开发Android平台上的应用程序时,也可以开发新的软件组件,并将该软件组件放入Android的应用程序框架中。

(3)开发库(Libraries)

Android包含一套C/C++开发库,主要包括:libc、Media Framework、WebKit、SGL、OpenGL ES、FreeType、SQlite等。这些库被应用于Android系统的各种组件中,开发人员可以通过Android应用框架调用它们。

(4)运行环境(Android Runtime)

Android虽然采用Java程序语言来编写应用程序,但并不使用J2ME执行Java程序,而是用Android本身自带的Android运行时环境。Android运行时包括核心库和Dalvik 虚拟机两部分,如图2-2所示,这两部分具体功能如下:

核心库包含两部分内容:一部分为绝大多数Java程序语言所需要调用的功能函数,另外一部分为Android的核心库,如https://www.wendangku.net/doc/009543480.html,、android.os、android.media等。与标准Java语言不一样的是,每个Android应用程序都有一个自用的进程,即Android不是用一个Dalvik虚拟机来同时执行多个Android应用程序,而是每个Android应用程序都有一个自身的Dalvik虚拟机来执行。

图3-2 Android 运行时

Dalvik是一种基于寄存器的Java虚拟机。Dalvik虚拟机是专门为移动设备而设计的,它在开发时就考虑到了用最少的内存资源来执行,以及支持前面提到的同时执行多个虚拟机的特性。Dalvik虚拟机有许多地方参考了Java虚拟机的设计,不过Dalvik虚拟机所执行的中间码并非是Java虚拟机所执行的Java字节码,但也不直接执行Java的类文件,而是依靠转换工具dx将Java字节码转换为dex格式。

(5)Linux内核(Linux Kernel)

Android的内核系统服务依赖于Linux2.6内核(如图2-3所示),如内存管理、进程管理、安全性、网络协议栈和驱动模型。Linux内核也同时作为硬件和软件栈之间的抽象层,这样应用程序开发人员就无需关心硬件实现细节。

图 3-3 linux 内核

整体架构上,Android相比其她平台显示出了自身的特点,例如集成了WebKit浏览器、Dalvik虚拟机等模块、提供了开源的代码、可重用和可替换组件的程序应用框架、SQLite结构化的数据存储的数据库等特点。

3.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(OpenGL for Embedded Systems)规范的类库。它们是一种非常快的图形引擎,并且支持硬件加速。

SQlite数据库:SQlite提供结构化的数据存取。SQlite[16]是一款轻型的数据库,它的书记目标是嵌入式的,目前已经有很多嵌入式产品使用了它,它占用的资源非常低。它能够支持windows、linux、unix等主流的操作系统,同时能够和很多程序语言相结合,比如PHP,Java等,还有ODBC接口,与Mysql,PostgreSQL相比,它的处理速度更快,无需安装和管理配置。它是一个储存在单一磁盘文件中的完整数据库,体积很小只

有250KB,但所支持数据库大至ZTB。它虽然很小巧,但是支持的SQL语句毫不逊色于其她开源数据库。同时它还支持事务功能和并发处理等。SQlite也是一套开发性的关联式资料库,其特点在于轻量性方面的设计结构,更适合在手机上使用。

多媒体的支持能力:主要用于播放媒体文件。包括对音频(如播放MP3或其她音乐文件等)和视频(如播放从网上下载的视频)的支持,并支持“播放URI地址”模式——在网络上直接播放的流媒体。另外支持各种通用的静态图像格式,例如:JPG、PNG、GIF等格式。

GMS技术:Global System for Mobile Communications,即全球移动通讯系统,俗称“全球通”,是一种起源于欧洲的移动通信技术标准,是第二代移动通信技术,其开发目的是让全球各地可以共同使用一个移动电话网络标准,让用户使用一部手机就能行遍全球[17]。GSM技术是属于手机硬件方面的展现,也是在开发Android应用程序时可以突出的特点之一。

蓝牙、EDGE、3G及Wi.Fi:蓝牙技术是一种新型、开放、低成本、短距离的无线连接技术,可取代短距离的电缆,实现话音和数据的无线传输。EDGE(Enhanced Data Rate for GSM Evolution),即增强型数据速率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:Global Positioning System,即全球定位系统,它是一个由覆盖全球的24颗卫星组成的卫星系统[19]。这个系统可以保证在任意的时刻和任何地点都可以同时观测到4颗卫星,以保证卫星可以采集到该观测点的经纬度和高度,以便实现导航、定位、授时等功能。这项技术可以用来引导飞机、船舶、车辆以及个人。这个同样也是属于手机硬件方面的展现,也是在开发Android应用程序时可以突出的特点之一。

丰富的开发环境:在Android SDK提供相当完善的程序开发环境,其开发环境包括设备模拟器、调试工具、内存和性能检测等方面的评估功能,另外也可提供用于Eclipse IDE的开发插件界面。

3.2 Android SDK介绍

Android SDK是Android手机操作系统运行的平台支撑,它由开发文档、实例、编程API、开发工具集等组成[20]。Dosc包含了的Android开发文档,Samples包含了Notepad、APIDemos、Snake等示例程序,Tools包括全部开发、编译和调试工具。

Emulator.exe:能启动Android模拟器。Android模拟器用来在虚拟的Android环境下,运行应用程序。

Adb.exe(Android debugging bridge):是Android的一个调试工具,ddms是一个在adb基础上的一个图形化工具。Adb的工作方式比较特殊,采用监听TCP5554等端口的方式让IDE和Qemu通讯,默认情况下adb会监听daemon相关的网络端口,所以当运行Eclipse时adb进程就会自动运行。

Android是一个操作系统平台,启动一个模拟器就启动了一个操作系统。可以使用Android adb连接到这个操作系统,并运行一些系统命令,就像平时大家用终端访问一个远程linux、unix服务器,可以使用adb shell。如下进行shell后进行ls命令,在该shell 下可运行linux下一些常用的命令。注意:adb shell默认只启动一个模拟器(emulator),如果需要启动多个模拟器,则需要添加相应的参数。如刚才使用的adb devices命令返回了两个模拟器,如果要连续其中一个则加参数-s;使用加:adb –是emulator-5544 shell。

3.3 XML技术

XML(Extensible Markup Language)即可扩展标记语言,它与HTML一样,都是SGML(Standard Generalized Markup Language,标准通用标记语言)。XML是Internet 环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具。扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记易于建立,虽然XML占用的空间比二进制数据所占用的空间多,但XML极其简单易于掌握和使用。

XML作为一种广泛且被各大厂商接收的语言,具有自己的优点,其优点主要体现在以下几方面。

(1)开放性

XML成功的主要因素之一是它的基于规范和标准的开放性。XML技术根据标准规范,允许在任何平台上取得和处理数据。更重要的是XML允许通过HTTP和其她传输协议交换XML数据。

(2)可扩展性

可扩展性是指,使用XML可以按照自己的需要制定语言。XML继承了SGML的许多关键特性,首先是良好而可扩展性。XML允许使用者创建和使用自己的标记而不是HTML的有限词汇表,用户可以根据应用需要定义自己的标记语言,也可以建立一套特定行业标记语言,作为信息共享和数据交换的基础。使用XML作为表单的描述格式,可以满足用户对表单定制的需求。

(3)XML文档的内容和结构完全分离

XML的形式和内容是分离的,这样可以让数据的收集者专注于数据处理,相同的数据无需改动即可在不同的XSL(XML Style language)页面呈现不同的风格。同时,内容和形式的分离使XML文档在不同应用系统之间的转换变得非常简单,用户只需要将两个不同XML文档的DTD(Document Type Definition)或XML Schema进行映射。

3.4 JNI技术

JNI是Java Native Interface的缩写,中文为JA V A本地调用。从Java1.1开始,Java Native Interface(JNI)标准成为java平台的一部分,它允许java代码和其她语言编写的代码进行交互。JNI的初衷是为了本地已编译语言,尤其是为C和C++而设计的,但是它并不妨碍使用其她语言,只要符合约定且被支持就可以了。JNI设计的目的是在java 应用程序中调用其它语言编写的功能模块。其结构如图2-4所示。

图 3-4 JNI 调用关系图

标准的java类库可能完成不了所需要的功能特性,或许已经有了用其她语言写成的库或者程序,而希望在本java程序中使用它,则可通过JNI调用。如果需要用底层语言实现一个小型的时间敏感代码,比如汇编,然后在java程序中调用这些功能。实现JNI 的步骤如图2-5所示。

(1)编写带有native声明的方法的java类,native所声明的方法既是java调用但其实现过程是由别的语言完成的。

(2)使用javac命令编译所编写的java类,生成可以再JVM运行的字节码。使用javah?jni java类名生成扩展名为.h的头文件。在自动生成的头文件中将声明有待实现的C函数。

(3)使用C/C++实现.h文件中所声明的方法。

(4)将C/C++程序文件编译成动态链接库文件,然后将动态库加载到系统中,然后应用程序通过native接口调用即可。

图3-5 JNI 开发流程

android开发计算器设计开发报告

《安卓开发》程序设计报告 题目简单计算器开发 专业(班级)网工111班 姓名张波波 学号5(qq) 指导教师赵(老师) 日期 目录 一、设计说明:2 1.设计内容:Android简单应用程序开发,简单计算器。2 2程序说明:2 二、开发环境:3 三、概要设计:3 系统的总体3 四、程序流程和系统功能设计3 程序流程设计3 .系统功能设计4 基于Android平台系统具体设计4 总体模块详细设计5 输入模块详细设计 5

显示模块详细设计6 计算模块详细设计 6 五、计算器系统实现7 Android应用程序构成7 六、截图说明 8 1、图标8 2界面8 3运算界面9 4错误输入9 5设计平台界面10 6签名导出apk 10 七、总结 11 课程设计任务书 一、设计说明: 1.设计内容:Android简单应用程序开发,简单计算器。 2程序说明: 1、计算器界面友好,方便使用。 2、具有基本的加、减、乘、除功能,还有+—、开方、平方功能。能够判断用户输入运算数是否正确。4、 支持小数运算。 具有退格功能,能够删除最后一个输入,ce。 具有清除功能,删除所有,c。 具有结果存储功能,能够显示存储器状态,支持触屏手机。 支持最低版本,最高版本。开发时为

二、开发环境: 开发环境:本系统是采用Eclipse+EclipseMe+JDK+ADT作为开发平台。事实上为了节约时间就直接用Google公司安给的直接绑定好的adt-bundle-windows-x86_64开发,只需要配置下环境变量,无需要关联等操作。 三、概要设计: 系统的总体 整个程序基于android技术开发,出总体模块外主要分为输入模块、显示模块以及计算模块(包括一些其她功能)这三大部分。在整个系统中总体模块控制系统的生命周期,输入模块部分负责读取用户输入的数据,显示模块部分负责显示用户之前输入的数据以及显示最终的计算结果,计算模块部分负责进行数据的运算以及一些其她的功能。 总体模块的作用主要是生成应用程序的主类,控制应用程序的生命周期。输入模块主要描述了计算器键盘以及键盘的监听即主要负责读取用户的键盘输入以及响应触屏的按键,需要监听手机按键动作以及用指针事件处理方法处理触屏的单击动作(以松开按键为准)。同时提供了较为直观的键盘图形用户界面。 显示模块描述了计算器的显示区,即该区域用于显示用户输入的数据以及最终的计算结果,同时还负责显示一些其她的信息。 计算模块则主要描述了计算器的整体,实现了计算器的界面,负责计算用户输入数据,包括加、减、乘、除、等各种计算功能,记忆数据的相关功能,退格以及清零的功能。 四、程序流程和系统功能设计 程序流程设计 知道了系统的功能以后,我们通过来建立显示界面,完成后系统开始监听用户的按键输入,每次输入系统都会判断一次用户输入的类型,是数字还是运算符号或者是清除,判断完后分成不同类型如数字,符号,基本运算等等进行进一步的处理,根据用户的要求继续进行下一步的操作,最后计算出最终结果并显示在显示区。 系统流程图如图4-1所示:

android开发计算器课程设计

Android应用程序开发 实验报告 学号:131006105 学生姓名: 冯会会 指导教师:齐兵辉 提交时间:2015.11.10

目录 第一章系统分析与设计 (3) 1.1系统的可行性分析 (3) 1.2系统的需求分析 (3) 第二章系统详细设计 (3) 2.1 ACTIVITY的详细设计 (3) 2.2 XML文件的详细设计 (14) 第三章测试运行及总结 (20) 3.1界面截图 (20) 3.2运行界面截图 (21) 3.3运行结果截图 (22) 3.4总结 (22)

第一章系统分析与设计 1.1系统的可行性分析 可行性研究是为了弄清楚系统开发的项目是不是可以实现和值得进行研究的过程,实际上是一次大大简化系统分析和系统设计的过程,所以,进行可执行性的分析是非常必要的,也是很重要的,经过最初的设计目标和进行的实时调查得出以下四点的可行性分析: (1)技术可行性:Eclipse + Android ADT的技术已经较为成熟,通过SUN 公司(现被ORCEL公司收购)推出的跨平台、动态的JAVA语言进行开发。 (2)运行可行性:该系统需要Android虚拟机环境,Eclipse中安装ADT,DDMS等Google Android相关插件。其运行环境已经相当稳定,它功能丰富,包括了完备的Android程序的编码、调试、测试和发布功能,其中支持所有Android应用开发相关技术,包括SQLite,Skia,3D制作,Android XML,能够很好的发布Android的应用程序APK包。 (3)法律可行性:因为是自主开发设计,所以不会构成侵权,在法律上是可行的。 通过以上的可行性分析,将采用Eclipse+Android ADT + DDMS技术,运用JAVA语言进行系统的开发。 1.2 系统的需求分析 根据分析需求,这个系统必须实现以下的功能:

安卓计算器开发实验报告

上海电力学院 嵌入式WebOS应用开发 实验报告 实验名称:使用Android Developer SDK开发应用程序 专业: 姓名: 班级: 学号:

一、作品的运行环境及安卓SDK基础操作 SDK Android Developer是一款在windows系统上运行的针对Android应用开发的谷歌官方软件(需要JAVA环境支持)。 1、导入工程 2、建立虚拟机 在运行虚拟机是为保证机器的顺畅运行建议选择分辨率较低的虚拟机,但是其RAM最好设为512MB,因为部分程序如果调用资源过大会导致虚拟机无法运行。

3、虚拟机界面 二、作品介绍 我的应用是一个计算器。能实现包括小数的加减乘除运算,结果过大会自动用科学记数法表示,另外还有退格跟清屏功能键。

三、编程以及运行调试 (一)、在MyDesktop主界面中添加应用图标 1. 首先在我的桌面上添加你应用的图标以及文字,双击 图标后就可以看见对应的代码,可直接在代码中进行修改图片文字的大小颜色等等。 以下是对应图像图标的代码

图片可以在左侧的选 项中自行进行挑选; 也可以添加自己的图片, 只要将图片放到对应的 文件夹之下在刷新就可 以,但不建议放分辨率 过高图片可能会出现超 出界面的等错误。 (二)、在res/layout目录下新建.xml文件,由于计算器的按钮很多,要在xml界面中添加排版: xml代码首末的格式较为自由可以直接在界面中拖动图标位置以及修改大小,而其他layout则更会自动排列,各有优劣。 (三)、在src/weibo.test.ui目录下新建.java文件,计算器的按钮

android开发计算器设计开发报告

Xx大学计算机与电子 信息学院《移动编程 技术》安卓程序开发 设计报告---简单计算 器 《安卓开发》程序设计报告 题目简单计算器开发 专业(班级) 网工111班 姓名张波波 学号952937885(qq) 指导教师赵(老师) 日期2014.5.7

目录 一、设计说明: (3) 1.设计内容:Android简单应用程序开发,简单计算器。 (3) 2程序说明: (3) 二、开发环境: (3) 三、概要设计: (3) 3.1 系统的总体 (3) 四、程序流程和系统功能设计 (4) 4.1程序流程设计 (4) 4.2.系统功能设计 (5) 4.3基于Android平台系统具体设计 (6) 4.3.1 总体模块详细设计 (6) 4.3.2 输入模块详细设计 (6) 4.3.3 显示模块详细设计 (7) 4.3.4 计算模块详细设计 (7) 五、计算器系统实现 (8) 5.1 Android应用程序构成 (8) 六、截图说明 (9) 1、图标 (9) 2界面 (10) 3运算界面 (11) 4错误输入 (11) 5设计平台界面 (12) 6签名导出apk (12) 七、总结 (13)

课程设计任务书 一、设计说明: 1.设计内容:Android简单应用程序开发,简单计算器。 2程序说明: 1、计算器界面友好,方便使用。 2、具有基本的加、减、乘、除功能,还有+—、开方、平方功能。 3、能够判断用户输入运算数是否正确。 4、 4、支持小数运算。 5、具有退格功能,能够删除最后一个输入,ce。 6、具有清除功能,删除所有,c。 7、具有结果存储功能,能够显示存储器状态,支持触屏手机。 8、支持最低版本2.0,最高版本4.4。开发时为4.2 二、开发环境: 开发环境:本系统是采用Eclipse+EclipseMe+JDK+ADT作为开发平台。事实上为了节约时间就直接用Google公司安给的直接绑定好的adt-bundle-windows-x86_64开发,只需要配置下环境变量,无需要关联等操作。 三、概要设计: 3.1 系统的总体 整个程序基于android技术开发,出总体模块外主要分为输入模块、显示模块以及计算模块(包括一些其她功能)这三大部分。在整个系统中总体模块控制系统的生命周期,输入模块部分负责读取用户输入的数据,显示模块部分负责显示用户之前输入的数据以及显示最

android开发——简易计算器的设计报告

简易计算机的设计 摘要:Android是当今最重要的手机开发平台之一,它是建立在Java基础之上的,能够迅速建立手机软件的解决方案。Android的功能十分强大,成为当今软件行业的一股新兴力量。Android基于Linux平台,由操作系统、中间件、用户界面和应用软件组成,具有以下5个特点:开放性、应用程序无界限、应用程序是在平等条件下创建的、应用程序可以轻松的嵌入网络、应用程序可以并行运行。 一、实训目的 1、了解Android系统,学会Android开发环境的搭建。 2、了解E clipse,学会用E clipse和Java 开发一个Android程序。 3、进一步巩固课堂上所学到的知识,深刻把握Java语言的重要概念及其面向对象的特性,能够熟练的应用面向对象的思想和设计方法解决实际问题的能力。 4、巩固所学Java语言基本知识,增进Java语言编辑基本功,掌握JDK、Editplus、Eclipse、JCreator等开发工具的运用,拓宽常用类库的应用。 二、实训任务 1、Activity的相关知识 简单理解Activity 代表一个用户所能看到的屏幕,Activity 主要是处理一个应用的整体性工作。Activity是最基本的Android 应用程序组件,应用程序中,一个活动通常就是一个单独的屏幕。每一个活动都被实现为一个独立的类,并且从活动基类中继承而来,活动类将会显示由视图控件组成的用户接口,并对事件做出响应。大多数的应用是由多个屏幕显示组成,因而要用到多个Activity。 (1)Activity的相关方法及相关函数:void onCreate(Bundle)首次启动时调用,接受参数:Null or savedInstanceState(保存的以前某些状态信息);void onStart() 说明了将要显示给用户的活动;void onRestart()将处于停止状态的活动重新显示给用户;void onResume()用户可以开始与活动进行交互时

android简单计算器课程设计

摘要 Android是当今最重要的手机开发平台之一,它是建立在Java基础之上的,能够迅速建立手机软件的解决方案。Android的功能十分强大,成为当今软件行业的一股新兴力量。Android基于Linux平台,由操作系统、中间件、用户界面和应用软件组成,具有以下5个特点:开放性、应用程序无界限、应用程序是在平等条件下创建的,应用程序可以轻松的嵌入网络、应用程序可以并行运行。而简单计算器又是手机上必备的小程序,所以此次创新实践很有意义。并且具有很强的使用性。 关键字:Android Java基础计算器

目录 第1章开发工具与环境 (1) 1.1 Android平台 (1) 1.2 Java开发环境 (1) 1.3 Eclipse (1) 1.4 Android程序基础—Android应用程序的构成 (2) 第2章系统分析与设计 (4) 2.1系统的可行性分析 (4) 2.2 系统的需求分析 (4) 2.3 系统的优势 (4) 2.4 系统的流程图 (5) 第3章系统详细设计 (6) 3.1 动作Activity (6) 3.2 布局文件XML (6) 3.3 Activity的详细设计 (7) 3.2 布局文件XML的详细设计 (21) 3.2 系统的运行结果 (24) 结论 (25) 参考文献 (26)

第1章开发工具与环境 1.1 Android平台 1.谷歌与开放手机联盟合作开发了Android, 这个联盟由包括中国移动、摩托罗拉、高通、宏达和T-Mobile在内的30多家技术和无线应用的领军企业组成。 2.Android是一个真正意义上的开放性移动设备综合平台。通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,来建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统,这样应用之间的通用性和互联性将在最大程度上得到保持。 3.所有的Android应用之间是完全平等的。 4.所有的应用都运行在一个核心的引擎上面,这个核心引擎其实就是一个虚拟机,它提供了一系列用于应用和硬件资源间进行通讯的API。撇开这个核心引擎,Android的所有其他的东西都是“应用”。 5.Android打破了应用之间的界限,比如开发人员可以把Web上的数据与本地的联系人,日历,位置信息结合起来,为用户创造全新的用户体验。 1.2 Java开发环境 Java技术包含了一个编程语言及一个平台。Java编程语言具有很多特性,如面向对象、跨平台、分布式、多线程、解释性等等。Java编程语言起源于Sun公司的一个叫“Green”的项目,目的是开发嵌入式家用电器的分布式系统,使电气更加智能化。1996年1月发布了JDK1.1版本,一门新语言自此走向世界。之后,1998年12月发布了1.2版本,2002年2月发布1.4版本,2004年10月发布1.5版本(5.0),2006年12月发布1.6(6.0)版本,这是目前的最新版本。Java1.2版本是一个重要的版本,基于该版本,Sun将Java技术分为J2SE、J2ME、J2EE,其中J2SE为创建和运行Java程序提供了最基本的环境,J2ME与J2EE 建立在J2SE的基础上,J2ME为嵌入式应用(如运行在手机里的Java程序)提供开发与运行环境,J2EE为分布式的企业应用提供开发与运行环境。 1.3 Eclipse

安卓计算器开发实验报告

嵌入式WebOS应用开发 实验报告 实验名称:使用An droid Developer SDK开发应用程序 专业:_________________________ 姓名:__________________________________ 班级:_______________________________ 学号:______________________________ 一、作品的运行环境及安卓SDK基础操作 SDK An droid Developer 是一款在windows系统上运行的针对 An droid应用开发的谷歌官方软件(需要JAVA环境支持)。 1、导入工程 2、建立虚拟机 在运行虚拟机是为保证机器的顺畅运行建议选择分辨率较低的虚拟机,但是其RAM最好设为512MB因为部分程序如果调用资源过大会导致虚拟机无法运行。 3、虚拟机界面 二、作品介绍 我的应用是一个计算器。能实现包括小数的加减乘除运算,结果过大会自动用科学记数法表示,另外还有退格跟清屏功能键。

加应用图标 1.首先在我的桌面上添加你应 用的图标以及文字,双击图标后 项中自行进行挑选; 也可以添加自己的图片, 只要将图片放到对应的 文件夹之下在刷新就可 以,但不建议放分辨率 过高图片可能会出现超 出界面的等错误。 要在xml 界面中添加排版: xml 代码首末的 格式较为自由可以直接在 界面中拖动图标位置以及修改大小,而其他layout 则更会自动排列, 各有优劣。 三、 编程以及运行调试 (一)、在MyDesktop 主界面中添 fin^_ok,prig 世IF it launchiWipng 32E img'O.png jdE im^il.png] 3E img?.pHg 血 imql.pngi 32E img4.png 血 im^S.pngi Tn? imgg.png JJL -mgT.pngj ..1. imy^.png ..1. uiHiprxg 就可以看见对应的代码, 可直接 在代码中进行修改图片文字的 大小颜色等等。 以下是对应图像图标的代码 图片可以在左侧的选 (二)、在 res/layout 目录下新建.xml 文件,由于计算器的按钮很多, TIF charfrc 起 ch^tfrorn_bg_ipTW5&d !S'.pflg ~l <+i?,kbnif^M 口 .股 ch?kbojco#f bsckgrourid^na SE chfkb rn (」]n.hewlcgin 口unci 岱n 评 弧 tlwr^na TTF de^ r o 1 .pnq

Android计算器设计报告

《Android课程实践》报告 课设题目Android计算器程序设计 学院 班级 学生姓名 学号 序号 指导教师 时间2019.11.21

一、设计分析 1.1 实现功能 本次实验进行设计可保存计算过程的计算器,实现功能如下: 1.仿照真实的计算器实现其功能。 2.在左上方的文本框中显示当前的计算过程,在右边的文本区中显示以往的计算过程。 3.单击“保存”按钮可以将文本区中的全部计算过程保存到文件;单击“复制”按钮可以将文本区中选中的文本复制到剪贴本;单击“清除”按钮可以清除文本区的全部内容。 1.2 设计思路 考虑到计算器的美观和易用性,可以把计算器做在 Android 端,Android 系统的 App 的底层功能由 Java 实现,所有工作主要分为两部分: 1.设计计算器界面 (activity_main.xml) 计算器界面用xml文件编写,包括手机竖屏和横屏两个布局文件: 竖屏:activity_main.xml 布局为 portrait 横屏:activity_main_land.xml 布局为 landscape 竖屏模式可以完成基本的四则运算,不涉及科学计算 横屏模式除了完成基本的四则运算,还添加了科学运算 2.编写计算接口 (ScienceCalculator.java) ScienceCalculator 可以完成包含科学运算函数的 math,先实现可以完成基本四则运算的 BaseCalculator,在此基础上,实现 ScienceCalculator。 运算的思路是先通过 ScienceCalculator 完成math中需要科学计算函 数的部分,再用这些部分计算的结果替换原 math 中的这些部分,使包含科学计算函数的 math 转变成可用 BaseCalculator 计算的 math。

基于安卓的计算器的设计与实现

安卓应用程序设计 ——简易计算器的实现院(系)名称 专业名称 学生姓名 学生学号 课程名称 2016年6月日

1.系统需求分析 Android是以Linux为核心的手机操作平台,作为一款开放式的操作系统,随着Android 的快速发展,如今已允许开发者使用多种编程语言来开发Android应用程序,而不再是以前只能使用Java开发Android应用程序的单一局面,因而受到众多开发者的欢迎,成为真正意义上的开放式操作系统。计算器通过算法实行简单的数学计算从而提高了数学计算的效率,实现计算器的界面优化,使界面更加友好,操作更加方便。基于android的计算器的设计,系统具有良好的界面;必要的交互信息;简约美观的效果。使用人员能快捷简单地进行操作,即可单机按钮进行操作,即时准确地获得需要的计算的结果,充分降低了数字计算的难度和节约了时间。 2.系统概要设计 2.1计算器功能概要设计 根据需求,符合用户的实际要求,系统应实现以下功能:计算器界面友好,方便使用,,具有基本的加、减、乘、除功能,能够判断用户输入运算数是否正确,支持小数运算,具有清除功能。 图2.1系统功能图 整个程序基于Android技术开发,除总体模块外主要分为输入模块、显示模块以及计算模块这三大部分。在整个系统中总体模块控制系统的生命周期,输入模块部分负责读取用户输入的数据,显示模块部分负责显示用户之前输入的数据以及显示最终的计算结果,计算模块部分负责进行数据的运算以及一些其他的功能。具体的说,总体模块的作用主要是生成应用程序的主类,控制应用程序的生命周期。 输入模块主要描述了计算器键盘以及键盘的监听即主要负责读取用户的键盘输入以及 响应触屏的按键,需要监听手机动作以及用指针事件处理方法处理触屏的单击动作。同时提供了较为直观的键盘图形用户界面。 显示模块描述了计算器的显示区,即该区域用于显示用户输入的数据以及最终的计算结

android简单计算器代码

package hua.xing.demo; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; public class CalculatordemoActivity extends Activity implements OnClickListener { /** Called when the activity is first created. */ private Button but0 = null; private Button but1 = null; private Button but2 = null; private Button but3 = null; private Button but4 = null; private Button but5 = null; private Button but6 = null; private Button but7 = null; private Button but8 = null; private Button but9 = null; private Button dim = null; private Button add = null; private Button sub = null; private Button mult = null; private Button div = null; private Button equ = null; private EditText etext = null; private double value = 0;

Android项目-计算器(DOC)

学校代码: 10128 学号: 课程设计说明书 题目:移动版计算器 学生姓名: 学院:信息工程学院 班级:计12-1班 指导教师:庄旭菲 2015 年 7 月

目录 第一章总体功能介绍 0 1.1功能介绍 0 1.2软件设计 0 1.2.1系统软件的结构图 0 1.2.2功能的操作流程 0 1.2.3计算器模块 (1) 第二章各功能模块的具体实现 (2) 2.1系统主界面 (2) 2.2基本加减乘除界面 (9) 2.3其他运算界面 (1) 第三章调试及运算结果 (7) 3.1加法运算结果 (7) 3.2减法运算结果 (8) 3.3乘法运算结果 (8) 3.4除法运算结果 (8) 3.5带括号运算结果 (9) 3.6复合运算结果 (9) 第四章总结 (9)

摘要:Android是当今最重要的手机开发的平台之一,它是建立在Java基础上的,能够迅速建立手机软件的解决方案。Android的功能十分强大。成为当今软件行业的一股新兴力量。Android基于Linux平台,由操作系统、用户界面和应用软件组成,具有以下特点:开放性、应用程序无界限、应用程序是在平等条件下创建的、应用程序可以轻松的嵌入网络、应用程序可以并行运行。

第一章总体功能介绍 1.1功能介绍 计算器软件的系统功能介绍: (1)实现简单的要实现基本的加、减、乘、除四则运算。 (2)可以实现在前一步计算结果上继续作加、减、乘、除,即连加、减、乘、除。 (3)有清空功能,即清除所有数据,重新开始计算。 (4)拥有后退按键,可以实现清除单个错误数据。 (5)可以实现复合运算。 1.2软件设计 1.2.2功能的操作流程 首先用户根据自己的实际需要选择计算,得出程序结果,输入数据,选择运算符号,再输入数据,选择等号,即可以得出结果。

基于Android计算器功能的实现

基于Android计算器功能的实现 摘要 随着移动通信技术和网络技术的迅速发展,手机系统发生了巨大的变化,从进行简单通话功能的非智能手机到现在集上网、聊天、收发邮件、视屏电话会议等各种服务于娱乐为一身的智能手机系统。由Google公司牵头众多实力雄厚的软硬件厂商加盟成立了OMS联盟,并推出的Android平台手机系统。作为时代的新生儿,Android手机操作平台有着得天独厚的优势广阔的发展前景。本文正是基于Android平台开发的计算器。论文主要阐述以面向对象的程序开发语言eclipse为开发工具, 设计并实现基于Android的计算器。论文首先介绍了Android开发平台和环境以及Android 工程的重要部分,其次对计算器系统和程序进行了分析和设计,再次对计算器进行了系统的实现,并对系统进行了严格的验证,最后本文对所做工作进行了总结。 关键词:手机,Android,用户界面,计算器

THE CALCULATOR FUNCTION REALIZATION BASED ON ANDROID ABSTRACT With the development of mobile communication technology and network technology, great changes have taken place on the mobile phone system. The original mobile phone only has the functions of communication and Smartphone has the functions of internet, chat, video conferencing and other services and entertainment. Android mobile phone platform which was developed by Google Company and many equipment manufacturers of hardware and software vendors, as the era of neonatal has a unique advantage and prospects for development. This article is based on the Android platform calculator. The thesis describes object-oriented programming language eclipse development tools, design and implement a calculator based on the Android. The paper first introduces the Android development platform and environment as well as an important part of the Android project, followed by the calculator systems and procedures analysis and design, the realization of the system once again the calculator, and strict verification, Finally, a summary of the work done. Key words: mobile phone, Android, UI, calculator

基于安卓开发的计算器课程设计报告

基于安卓开发的计算器 课程设计报告 Company Document number:WUUT-WUUY-WBBGB-BWYTT-1982GT

大庆师范学院《ANDROID应用设计》 课程设计报告 题目:简易计算器 专业班级:计算机科学与技术一班 设计者: \\\\\\\\\\\\\\\\\\\\\\\\\\\\ 指导老师: P’P’P’P’ 设计时间:2016-2017(1) 报告完成日期 2016 年12月30日 1 设计任务及要求 设计一款基于Android系统下的计算器,实现一般计算器可以进行的加减乘除算法,以及清零操作。本人学习Android有近半年的时间。由于不同的Android手机有着不同的分辨率,将不同分辨率的图标图片放置在相应位置。Drawable-hdpi中放置分辨率最高的图标,drawable--ldpi中放置分辨率中等的图标,drawable-mdpi中放置在分辨率最低的图标。界面设计应该就尽量简洁而美观,应该具有良好的交互性。在整个过程中,首先应该对输入进行容错处理,这样有利于提高用户体验。对于用户的按键输入,

需要及时的现实在第一个EditView中。用户在输入过程中,肯定会存在一定的错误,程序设计过程中需要对应用程序进行容错处理。容错设计比如:在输入过程中小数的话只能有一个小数点,操作符不能连续输入,整数数据的开头不能出现0等等。在程序设计过程中,需要设计数据结构来存储数字、操作符和容错标记,在本文中使用了栈,对这些数据进行了存储。 2设计原理及总体框图 将表达式转为字符串类进行存储。 将表达式的字符串进行处理,将数字和运算符分别存放在两个栈中(也可以使用队列,理论上使用队列更为合理,在这我使用栈来实现)。 由于栈是后进先出的,所以先将两个栈进行逆序。 设计方法来处理两个栈从而得到相应的计算结果。 原理:将操作符设计优先级,乘除优先级设置为2,加减优先级设置为1。 一、从操作符栈中弹出两个操作符,假设为symbol1和symbol2,比较两个操作付的优先级,如果symbol1的优先级大于等于symbol2的则执行二,否则执行三。 二、从数字栈中弹出两个数字,计算这两个数字在操作符symbol1下的运算结果,结束后将结果压入数字栈,将symbol2压入操作符栈,最后返回一。 三、从数字栈中弹出三个数字,计算后两个数字在操作符symbol2下的运算结果,结束后将运算结果压入栈,将剩下的第一个数字压入栈,将操作符symbol1压入站,最后返回一。 结构框图如下所示:

android简单计算器说课材料

a n d r o i d简单计算器

欢迎大家补充 package com.example.zzz; //此文使用了fragment的模块。 //此文使用了fragment的模块。 //此文使用了fragment的模块。 //此文使用了fragment的模块。 import android.support.v7.app.ActionBarActivity; import android.support.v7.app.ActionBar; import android.support.v4.app.Fragment; import android.os.Bundle; import https://www.wendangku.net/doc/009543480.html,youtInflater; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; import android.os.Build; public class MainActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(https://www.wendangku.net/doc/009543480.html,yout.activity_main); if (savedInstanceState == null) { getSupportFragmentManager().beginTransaction() .add(R.id.container, new PlaceholderFragment()).commit(); } } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } @Override

移动应用开发实验---简单计算器

“移动应用开发”实验报告 1

而受至到众多开发者的欢迎,成为真正意义上的开放式操作系统。计算器通 过算法实行简单的或学计算从而提高了数学计算的效率,实现计算器的界面 优化,使界面更加友好,操作更加方便。基于android的计算器的设计系统具 有良好的界面;必要的英互信息:简约美观的效票,使用人员能快捷简单地 进行操作,即可单机按钮进行操作,即时准确地获得需要的计算的结果,充 分降低了数字计算的难度和节约了时间。 2.系统概要设计 2.1计算器功能概要设计 根据需求,符合用户的实际需求,系统应实现以下功能:计算器界面友好, 方便使用,具有基本的加,减,乘,除功能。能够判断用户输入运算数是否 正确,支持小数运算,具有清除功能。 整个程序基于Android 技术开发,除总体模块外主要分为输入模块、显 示模块以及计算模块这三大部分。在整个系统中总体模块控制系统的生命周期,输入模块部分负责读取用户输入的数据,显示模块部分负责显示用户之 前输入的数据以及显示最终的计算结果,计算模块部分负责进行数据的运算 以及一些其他的功能。具体的说,总体模块的作用主要是生成应用程序的主类,控制应用程序的生命周期。 输入模块主要描述了计算器键盘以及键盘的监听即主要负责读取用户的 键盘输入以及响应触屏的按键,需要监听手机动作以及用指针事件处理方法 处理触屏的单击动作。同时提供了较为直观的键盘图形用户界面。 显示模块描述了计算器的显示区,即该区域用于显示用户输入的数据以 及最终的计算结果,同时负责显示一些其他的信息。 计算器模块主要描述了计算器的整体,实现了计算器的界面,负责用户 2

输入数据,计算,显示,清零等功能。 2.2输入模块设计 系统如果想完成计算器中各种功能,首先用户要能进行数据输入,由于 是在触屏手机上开发计算器程序,所以要求输入可以直接使用触屏进行,所 以在设计的时候就要充分的考虑这一点。正是由于考虑到这个特殊的地方, 所以在进行模块设计中,选择编写输入模块类的时候会特意选取使用可以支 持触屏输入的特殊增强型图形用户界面类。 输入模块主要的任务是描述计算器键盘以及实现键盘的监听,即当用户 点击按键或者屏幕的时候监听会去调用相应的处理办法,本模块还需要为系 统提供一个较为直观的键盘图形用户界面。输入模块的功能图如图 2.3显示模块设计 作为手机计算器系统,显示部分也是必不可少的一部分。没有显示部分 就没有办法显示用户输入的数字是否正确,甚至不能显示计算出的结果,由 此可见显示模块即包括输入的部分(因个人技术原因不能显示表达式的形式)也包括输出的部分。 显示模块主要完成的任务是描述计算器的显示区,该区域用于显示用户 输入的数据以及最终的计算结果和一些其他信息。同时本模块还将提供调用 和设置显示的具体方法。 3

简单的android计算器

基于android的简单计算器 1、界面截图 2、布局文件 总体是一个LinearLayout布局,每一行的按钮也使用了此布局。当然,每一行也可以在TableLayout里使用TableRow。虽然使用其他布局可能会简洁点,不过我个人喜欢使用LinearLayout布局。

android:gravity="right" android:text="0"/>

相关文档
相关文档 最新文档