基于Android计算器的开发与测试.docx

上传人:b****7 文档编号:10632454 上传时间:2023-02-22 格式:DOCX 页数:26 大小:464.53KB
下载 相关 举报
基于Android计算器的开发与测试.docx_第1页
第1页 / 共26页
基于Android计算器的开发与测试.docx_第2页
第2页 / 共26页
基于Android计算器的开发与测试.docx_第3页
第3页 / 共26页
基于Android计算器的开发与测试.docx_第4页
第4页 / 共26页
基于Android计算器的开发与测试.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

基于Android计算器的开发与测试.docx

《基于Android计算器的开发与测试.docx》由会员分享,可在线阅读,更多相关《基于Android计算器的开发与测试.docx(26页珍藏版)》请在冰豆网上搜索。

基于Android计算器的开发与测试.docx

基于Android计算器的开发与测试

 

实训报告

 

实训项目名称基于Android计算器的开发与测试

二级学院信息工程学院

专业班级11级

姓名

学号

日期2014-11-19

项目

名称

基于安卓计算器的开发与测试

地点

教13603

报告内容

在本报告中,我们主要介绍了国内目前手机系统和软件的现状和发展,针对这方面我们设计了基于Android计算器。

报告内容大致分为三个部分。

第一部分首先介绍了需求分析,其中介绍了计算器最基本的功能。

之后还有一些按键的设置以及计算器的基本功能。

第二部分我们介绍了关于计算器的总体设计和详细设计其中我们用了两个流程图来表示,分别是程序设计流程图和软件设计流程图。

然后还包含了计算器模块的设计。

第三部分为计算器的测试部分,其中我们对计算器进行了多方的测试。

此外还有测试用例图。

教师评语

 

成绩:

教师签名:

 

摘要

Android是当今最重要的手机开发平台之一,它是建立在Java基础之上的,能够迅速建立手机软件的解决方案。

Android的功能十分强大,成为当今软件行业的一股新兴力量。

Android基于Linux平台,由操作系统、中间件、用户界面和应用软件组成,具有以下5个特点:

开放性、应用程序无界限、应用程序是在平等条件下创建的,应用程序可以轻松的嵌入网络、应用程序可以并行运行。

而简单计算器又是手机上必备的小程序,所以此次创新实践很有意义。

并且具有很强的使用性。

关键字:

计算器,Android,移动设备

1绪论

1.1研究背景

(1)计算器背景

目前手机可以说是普及率非常高的电子设备了,由于其便于携带,使用方便,资费适中等等原因,现在手机已经在一定程度开始代替固定电话的通话功能,以及一些原来电脑软件上的功能了。

手机上的软件也随着手机的发展变得丰富起来了,时至今日已经出现了很多专门制作手机软件的公司,虽然制作的多是游戏软件,但是一些辅助性的工具软件也有了很多.我们在此次系统中所做的工作主要是设计整个系统以及利用编程语言实现整个系统,使系统能够正确的运行计算功能。

(2)Android系统简介

Android系统构架简介:

  Android是一个基于Linux®V2.6内核的交互性操作环境,同时它也是一个分层系统,Android系统架构显示如下图1.1。

图1.1系统架构图

应用层由所有的Android应用程序组成。

其中包括电子邮件客户端,SMS程序,地图,浏览器,联系人及其他。

所有的应用程序都是用Java编程语言编写的。

1.Activity顾名思义,Activity就是活动。

应用程序必须至少包含一个Activity。

Activity提供了一个虚拟的用户接口,每一个Activity都有一个默认的窗口可以用来显示用户界面,一般情况下,它是全屏的窗口。

例如,影音播放软件的每个用户界面就是Activity。

2.ServiceService与Activity的主要区别在于,Service是在后台活动的,它没有用户界面。

典型的应用场景是,用户选择了一个播放列表开始播放后,离开了该用户界面(Activity),如果仍然希望歌曲不会暂停,就可以用Service去调用播放器,而不是在Activity中调用播放器。

3.Intent在Android中,每一个行为都可以抽象为一个Intent。

可以简单地把Intent理解为一个包含了数据的消息。

Intent可以用于启动一个Act-ivity或者Service,可以用于进程间的通信。

事实上,应用程序的启动也是通过Intent实现的。

4.ContentprovidersAndroid平台内置了一套SQLite数据储存机制,并包含一系列管理SQLiteDatabase的相关方法。

在应用程序中,可以通过Contentprov-iders访问数据库。

每个Contentprovider都定义了一系列的方法用于访问它对应的数据库。

应用程序在新建数据库时也可以定义相应的Con-tentprovider用于向其他应用程序共享数据。

一般情况下,应用程序不直接调用Contentprovider定义的函数,而是通过ContentResolver间接调用。

2游戏系统开发平台

采用Eclipse开发工具,在Windows7下进行,基于Android4.2.2操作系统,使用的语言是Java语言。

环境搭建:

1)JDK安装

2)Eclipse安装

3)AndroidSDK安装

4)ADT安装创建AVD

JDK(JavaDevelopmentKit)是SunMicrosystems针对Java开发员的产品。

自从Java诞生以来,JDK已经成为最广泛的JavaSDK。

JDK是整个Java的核心内容,包括了Java运行环境、Java工具和Java基础类库三部分。

从Sun的JDK1.5开始,提供了一些非常使用的功能,其版本也不断更新,运行效率得到了非常大的提高。

Eclipse是一个开放源代码的、基于Java的可扩展开发平台。

就其本身而言,它只是一个框架和一组服务,用于通过插件组建构建开发环境。

Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentKit,JDK)。

AndroidSDK即软件开发工具包(softwaredevelopmentkit)。

被软件开发工程师用于为特定的软件包、软件架构、硬件平台、操作系统等建立应用软件工具的集合。

因此AndroidSDK是Android专属的开发工具包。

其授权协议为Apache,开发语言为Java、需要Android操作系统的支持。

[2]

 

3系统分析与设计

3.1可行性研究

可行性研究是为了弄清楚系统开发的项目是不是可以实现和值得进行研究的过程,实际上是一次大大简化系统分析和系统设计的过程,所以,进行可执行性的分析是非常必要的,也是很重要的,经过最初的设计目标和进行的实时调查得出以下四点的可行性分析:

(1)技术可行性:

Eclipse+AndroidADT的技术已经较为成熟,通过SUN公司(现被ORCEL公司收购)推出的跨平台、动态的JAVA语言进行开发。

(2)运行可行性:

该系统需要Android虚拟机环境,Eclipse中安装ADT,DDMS等GoogleAndroid相关插件。

其运行环境已经相当稳定,它功能丰富,包括了完备的Android程序的编码、调试、测试和发布功能,其中支持所有Android应用开发相关技术,包括SQLite,Skia,3D制作,AndroidXML,能够很好的发布Android的应用程序APK包。

(3)法律可行性:

因为是自主开发设计,所以不会构成侵权,在法律上是可行的。

通过以上的可行性分析,将采用Eclipse+AndroidADT+DDMS技术,运用JAVA语言进行系统的开发。

3.2系统的需求分析

根据分析需求,这个系统必须实现以下的功能:

(1)实现简单的数字计算功能。

作为计算器,其核心就是加减乘除。

(2)能够在手机里面以良好的界面。

简单计算器能够给予用户良好的人机互动界面。

3.3系统的优势

Android是以Linux为核心的手机操作平台,作为一款开放式的操作系统,随着Android的快速发展,如今已允许开发者使用多种编程语言来开发Android应用程序,而不再是以前只能使用Java开发Android应用程序的单一局面,因而受到众多开发者的欢迎,成为真正意义上的开放式操作系统。

3.4系统的流程

本程序的流程是一个开机画面,开机画面之后就是计算机的主页面了所有这个简单程序的流程图如图3.1所示。

 

 

图3.1流程图

 

4.模板设计与实现

4.1计算模块详细设计

系统要完成整个的计算器的计算功能,那么计算模块就是整个系统的重点模块。

没有计算模块系统就不能顺利的完成计算,就无法达到用户的要求。

所以计算模块的设计也是本次系统设计中的重点。

系统想要能在屏幕上显示出计算器的样子要有整体的布局,在本模块中要完成布局的具体设计,使用户能够看到整个计算器的画面。

同时系统想完成计算功能必须要处理用户的输入,当输入模块的监听传到计算模块中时,计算模块就要根据相应的方法进行进一步的处理。

这部分主要是对输入进行的逻辑判断,基本会通过ifelse来实现逻辑判断。

4.2用户界面设计

界面设计应该尽量简洁而美观,应该具有良好的交互性。

当然,我们每个人可以根据自己的喜好来进行设计,根据我个人的喜好,我最终设计出来的计算器界面如图4.1所示。

图4.1界面图

部分代码:

android="

android:

layout_width="fill_parent"android:

layout_height="wrap_content"

android:

textSize="42sp"android:

stretchColumns="1">

id="@+id/result"android:

layout_width="fill_parent"

android:

layout_height="wrap_content"

android:

background="@android:

drawable/editbox_background"

android:

layout_span="4"android:

textSize="48sp"android:

gravity="right|center_vertical"

android:

cursorVisible="false"android:

editable="false"

android:

lines="1"/>

 

4.3计算模块设计的实现

计算模块则主要描述了计算器的整体,实现了计算器的界面,定义了用户单击的处理办法,通过定义的处理办法来完成用户的操作命令,实现用户的计算要求,这些计算要求包括了数值的输入,小数点的输入,正负号的输入,记忆相关功能的完成,加、减、乘、除等各种计算功能的完成,运算符的替换,初始化系统等等。

部分代码:

privateclassCommandActionimplementsOnClickListener{

@Override

publicvoidonClick(Viewview){

Buttonbtn=(Button)view;

StringinputCommand=(String)btn.getText();

if(firstFlag){//首次输入"-"的情况

if(inputCommand.equals("-")){

editText.setText("-");//显示区域的内容设置为"-"

firstFlag=false;//改变首次输入的标记

}

}else{

if(!

clearFlag){//如果flag=false不需要清空显示区的值,就调用方法计算

jsp(Double.parseDouble(editText.getText().toString()));//保存显示区域的值,并计算

}

//保存你点击的运算符

lastCommand=inputCommand;

clearFlag=true;//因为我这里已经输入过运算符,

}

}

}

加、减、乘、除等各种计算功能的实现:

privatevoidjsp(doublex){

if(lastCommand.equals("+")){

result+=x;

}elseif(lastCommand.equals("-")){

result-=x;

}elseif(lastCommand.equals("*")){

result*=x;

}elseif(lastCommand.equals("/")){

result/=x;

}elseif(lastCommand.equals("=")){

result=x;

}

editText.setText(""+result);

}

}

 

5测试用列和结果

5.1测试用列

通过以下的测试用例进行对游戏各功能模块的测试并加以修改,如表5.1所示。

测试编号

测试输入

期望结果

实际结果

1

1+2

3.0

3.0

2

1*2

2.0

2.0

3

1/2

0.5

0.5

4

1/0

无结果

错误

5

1-(-3)

4.0

-2.0

6

--2

程序错误

程序错误

表5.1测试用例表

5.2测试用列展示图

1.测试1+2时的状态如图5.2所示:

图5.2测试结果图

 

2.测试1*2时如图5.3所示:

图5.3测试结果图

3.测试1/2时如图5.4所示:

图5.4测试结果图

4.测试1/0时如图5.5所示:

图5.5测试结果图

 

5.测试1-(-3)如图5.6所示:

图5.6测试结果图

6.测试输入--2时如图5.7所示:

图5.7测试结果图

 

6小结

这次项目android计算器项目设计是在eclipse平台下设计,到现在为止,该系统的功能基本符合了普通计算器的要求,整个系统界面简单明了,使用起来十分方便,具有普通计算器的基本功能,同时拓展了一些普通计算器上没有的部分科学计算功能。

在整个开发过程中,从需求分析到总体架构的构思,到最后代码的编写我投入了大量的时间和精力,对系统中的每个功能都进行了反复的调试,修改。

因为这是我是第一次系统性的进行软件的开发,不论是在知识层面、开发平台的使用层面还是经验方面都有着很大的欠缺和不足,因此本软件难免会有一些功能不完善、界面不美观等一些不尽如人意的地方,但是再短短一个星期的时间内,我已经进行了很大的努力。

通过这个android计算器项目设计,我不经巩固了我们在书本上学到和平时老师传授的知识,而且还学到了许多书本上学不到的知识,并运用了网络这个平台查询一些不明白的知识点。

指导老师在我软件代码编写和后期软件调试期间,给我很大的帮助。

要谢谢各位帮过我的老师和同学。

这次的实验让我对我的学过的知识有了深一步的了解。

参考文献

[1]刘敏.  移动终端的Android移植与应用程序设计[D].西安电子科技大学2011

[2]王蕾.  哈尔滨招行Android手机银行汇率换算模块的设计与实现[D].吉林大学2011

[3]施金兰.  基于Android平台的网络共享研究与实现[D].华东师范大学2011

[4]赵建勋.  基于Android平台的移动位置服务的开发与实现[J].现代商贸工业.2010(20)

[5]李林涛,朱珊虹.基于Android系统的手机游戏黑白棋的设计与实现[J].新乡学院学报(自然科学版).2011(03)

[6]丛秋波.用于Android手机操作系统的视频引擎[J].电子设计技术.2010(07)

[7]王丰,付明栋,冯海亮,施玉海.智能终端图形用户界面设计与实现[J].广播电视信息.2011(08)

[8]温敏,艾丽蓉,王志国.Android智能手机系统中文件实时监控的研究与实现[J].科学技术与工程.2009(07)

[9]刘牛.  基于Android平台的数字电视机顶盒模拟器的研究与开发[D].兰州大学2012

[10]王康.  AndroidRIL研究及其在无线通讯模块上的实现[D].太原科技大学2012

 

附录:

xmlversion="1.0"encoding="utf-8"?

>

android="

android:

layout_width="fill_parent"android:

layout_height="wrap_content"

android:

textSize="42sp"android:

stretchColumns="1">

id="@+id/result"android:

layout_width="fill_parent"

android:

layout_height="wrap_content"

android:

background="@android:

drawable/editbox_background"

android:

layout_span="4"android:

textSize="48sp"android:

gravity="right|center_vertical"

android:

cursorVisible="false"android:

editable="false"

android:

lines="1"/>

android:

orientation="horizontal"

android:

layout_width="fill_parent"android:

layout_height="wrap_content"

android:

textSize="42sp"android:

layout_weight="1">

id="@+id/num7"android:

layout_width="fill_parent"

android:

layout_height="wrap_content"android:

textSize="42sp"

android:

text="@string/setText"android:

layout_weight="1"/>

id="@+id/num8"android:

layout_width="fill_parent"

android:

layout_height="wrap_content"android:

textSize="42sp"

android:

text="@string/a"android:

layout_weight="1"/>

id="@+id/num9"android:

layout_width="fill_parent"

android:

layout_height="wrap_content"android:

textSize="42sp"

android:

text="@string/b"android:

layout_weight="1"/>

id="@+id/divide"android:

layout_width="fill_parent"

android:

layout_height="wrap_content"android:

textSize="42sp"

android:

text="@string/n"android:

layout_weight="1"/>

android:

orientation="horizontal"

android:

layout_width="fill_parent"android:

layout_height="wrap_content"

android:

textSize="42sp"android:

layout_weight="1">

id="@+id/num4"android:

layout_width="fill_parent"

android:

layout_height="wrap_content"android:

textSize="42sp"

android:

text="@string/c"android:

layout_weight="1"/>

id="@+id/num5"android:

layout_width="fill_parent"

android:

layout_height="wrap_content"android:

textSize="42sp"

android:

text="@string/d"android:

layout_weight="1"/>

id="@+id/num6"android:

layout_width="fill_parent"

android:

layout_height="wrap_content"android:

textSize="42sp"

android:

text="@string/e"android:

layout_weight="1"/>

id="@+id/multiply"android:

layout_width="fill_parent"

android:

layout_height="wrap_content"android:

textSize="42sp"

android:

text="@string/m"android:

layout_weight="1"/>

android:

orientation="horizontal"

android:

layout_width="fill_parent"android:

layout_height="wrap_content"

android:

textSize="42sp"android:

layout_weight="1">

id="@+id/num1"android:

layout_width="fill_parent"

android:

layout_height="wrap_content"android:

textSize="42sp"

android:

text="@string/f"android:

layout_weight="1"/>

id="@+id/num2"android:

layout_width="fill_parent"

android:

layout_height="wrap_content"android:

textSize="42s

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 学科竞赛

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1