当前位置:文档之家› 基于Android计算器的开发与测试

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

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

实训报告

实训项目名称基于Android计算器的开发与测试二级学院信息工程学院

专业班级 11级

姓名

学号

日期 2014-11-19

项目

名称

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

教13 603

报告内容

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

第一部分首先介绍了需求分析,其中介绍了计算器最基本的功能。之后还有一些按键的设置以及计算器的基本功能。

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

第三部分为计算器的测试部分,其中我们对计算器进行了多方的测试。此外还有测试用例图。

教师评语

成绩:教师签名:

摘要

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

关键字:计算器,Android,移动设备

目录

1 绪论 (5)

1.1 研究背景 (5)

2 游戏系统开发平台 (6)

3 系统分析与设计 (7)

3.1 可行性研究 (7)

3.2 系统的需求分析 (7)

3.3 系统的优势 (8)

3.4系统的流程 (8)

4.模板设计与实现 (9)

5 测试用列和结果 (12)

5.1测试用列 (12)

5.2测试用列展示图 (12)

6 小结 (15)

参考文献 (16)

附录: (17)

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.Service Service与Activity的主要区别在于,Service是在后台活动的,它没有用户界面。典型的应用场景是,用户选择了一个播放列表开始播放后,离开了该用户界面(Activity),如果仍然希望歌曲不会暂停,就可以用Service 去调用播放器,而不是在Activity中调用播放器。

3.Intent 在Android中,每一个行为都可以抽象为一个Intent。可以简单地把Intent理解为一个包含了数据的消息。Intent可以用于启动一个Act-ivity或者Service,可以用于进程间的通信。事实上,应用程序的启动也是通过Intent实现的。

4.Content providers Android平台内置了一套SQLite数据储存机制,并包含一系列管理SQLite Database的相关方法。在应用程序中,可以通过Content prov-iders访问数据库。每个Content provider都定义了一系列的方法用于访问它对应的数据库。应用程序在新建数据库时也可以定义相应的Con-tent provider用于向其他应用程序共享数据。一般情况下,应用程序不直接调用Content provider 定义的函数,而是通过ContentResolver间接调用。

2游戏系统开发平台

采用Eclipse开发工具,在Windows 7下进行,基于Android 4.2.2操作系统,使用的语言是Java语言。

环境搭建:

1)JDK安装

2)Eclipse安装

3)Android SDK安装

4)ADT安装创建AVD

JDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品。自从Java诞生以来,JDK已经成为最广泛的Java SDK。JDK是整个Java的核心内容,包括了Java运行环境、Java工具和Java基础类库三部分。从Sun 的JDK1.5开始,提供了一些非常使用的功能,其版本也不断更新,运行效率得

到了非常大的提高。

Eclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组建构建开发环境。Eclipse附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Android SDK即软件开发工具包(software development kit)。被软件开发工程师用于为特定的软件包、软件架构、硬件平台、操作系统等建立应用软件工具的集合。因此Android SDK是Android专属的开发工具包。其授权协议为Apache,开发语言为Java、需要Android操作系统的支持。[2]

3 系统分析与设计

3.1可行性研究

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

(1)技术可行性:Eclipse + Android ADT的技术已经较为成熟,通过SUN 公司(现被ORCEL公司收购)推出的跨平台、动态的JA V A语言进行开发。

(2)运行可行性:该系统需要Android虚拟机环境,Eclipse中安装ADT,DDMS等Google Android相关插件。其运行环境已经相当稳定,它功能丰富,包括了完备的Android程序的编码、调试、测试和发布功能,其中支持所有Android 应用开发相关技术,包括SQLite,Skia,3D制作,Android XML,能够很好的发布Android的应用程序APK包。

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

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

3.2系统的需求分析

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

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

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

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

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

3.3系统的优势

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

3.4系统的流程

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

开始

显示计算机界面

输入数值

选择功能键

判断选项

加减乘除clear

结束

图 3.1 流程图

4.模板设计与实现

4.1计算模块详细设计

系统要完成整个的计算器的计算功能,那么计算模块就是整个系统的重点模块。没有计算模块系统就不能顺利的完成计算,就无法达到用户的要求。所以计算模块的设计也是本次系统设计中的重点。

系统想要能在屏幕上显示出计算器的样子要有整体的布局,在本模块中要完成布局的具体设计,使用户能够看到整个计算器的画面。同时系统想完成计算功能必须要处理用户的输入,当输入模块的监听传到计算模块中时,计算模块就要根据相应的方法进行进一步的处理。这部分主要是对输入进行的逻辑判断,基本会通过if else来实现逻辑判断。

4.2用户界面设计

界面设计应该尽量简洁而美观,应该具有良好的交互性。当然,我们每个人可以根据自己的喜好来进行设计,根据我个人的喜好,我最终设计出来的计算器界面如图4.1所示。

图4.1 界面图

部分代码:

android:layout_width="fill_parent"android:layout_height="wrap_content"

android:textSize="42sp"android:stretchColumns="1">

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计算模块设计的实现

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

部分代码:

private class CommandAction implements OnClickListener {

@Override

public void onClick(View view) {

Button btn = (Button) view;

String inputCommand = (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;// 因为我这里已经输入过运算符, }

}

}

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

private void jsp(double x) {

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

result += x;

} else if (lastCommand.equals("-")) {

result -= x;

} else if (lastCommand.equals("*")) {

result *= x;

} else if (lastCommand.equals("/")) {

result /= x;

} else if (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] 王康. Android RIL研究及其在无线通讯模块上的实现[D]. 太原科技大学2012

附录:

android:layout_width="fill_parent"android:layout_height="wrap_content"

android:textSize="42sp"android:stretchColumns="1">

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">

相关文档 最新文档