当前位置:文档之家› Android简单计算器课程设计

Android简单计算器课程设计

Android简单计算器课程设计广东工业大学华立学院课程名称手机游戏开发题目名称简单计算器学生学部,系, 机电与信息工程学部专业班级 12计算机科学与技术2班学号学生姓名任课教师2015年 6月 20日一、课程考试,设计,的内容基于Android平台的简单计算器二、课程考试,设计,的要求清晰描述应用的策略和基本框架~并设计相关的类~描述各个类的作用和关系~画出类图关系~叙述使用到的技术点。

目录1课程综述 .............................................. 错误~未定义书签。

2 手机应用设计.......................................... 错误~未定义书签。

2.1 开发背景...................................................................... ........................................................................ 错误~未定义书签。

2.2 设计思想...................................................................... ........................................................................ 错误~未定义书签。

2.3 策略描述.............................................................................................................................................. 错误~未定义书签。

2.4 设计将达到的目标 ..................................................................... ....................................................... 错误~未定义书签。

3概要设计 .............................................. 错误~未定义书签。

3.1 需求分析...................................................................... ........................................................................ 错误~未定义书签。

3.2 基本框架...................................................................... ........................................................................ 错误~未定义书签。

3.3 类设计 ..................................................................... ........................................................................ ..... 错误~未定义书签。

4 详细设计 ............................................. 错误~未定义书签。

4.1 运行过程...................................................................... ........................................................................ 错误~未定义书签。

4.2 类实现 ..................................................................... ........................................................................ ..... 错误~未定义书签。

4.2.1 .............................................................. ........................................................................ .. (6)4.2.2 .............................................................. ........................................................................ ........................................................ 7 4.3 运行描述...................................................................... ........................................................................ ...................................... 8 5 测试 ............................................................... 9 5.1 运行效果 ..................................................................... ........................................................................ ..................................... 9 5.2 测试用例 ..................................................................... ........................................................................ ..................................... 9 总结 (11)参考文献 (12)1 课程综述Android是一种基于Linux内核、开放源代码的操作系统,主要使用于移动设备,如智能手机、平板电脑、电视等。

根据Gartner对智能手机操作系统占有市场份额的预期,到2015年Android操作系统的占有份额将达到50%左右,远高于其他操作系统。

开发程序的第一步便是开发环境的配置,首先是Java SDK的安装、配置和测试,然后是Eclipse的安装与测试,最后是搭建Android开发环境,也就是下载SDK和安装ADT,完成以上步骤便可以开始开发程序了。

本课程主要使用了赋值运算符和算术运算符。

赋值运算符,由于Java语言是强类型的语言,所以赋值时要求类型必须匹配,如果类型不匹配需要能自动转换为对应的类型,否则将报语法错误。

Java的算术运算符有加号(+)、减号(-)、乘号(*)、除号(/)以及模数(%,从整数除法中获得余数)。

整数除法会直接去掉小数,而不是进位。

Button控件主要用于单击操作,处理相应事件。

按钮的事件处理方式有两种,一种是直接给按钮注册监听器,另一种是直接指定处理单击事件的方法。

定义buttonClick方法时,注意两点,一是此类方法必须是public修饰,二是参数列表只能有一个View类型参数,当指定按钮被单击时,作为View传入此方法。

基本流程控制语句主要用到了分支控制语句中的if语句,通过判断输入的值来选择使用语句,使程序按正确顺序逐步执行,为程序提供了执行方向。

12 手机应用设计2.1 开发背景算术涉及人们生活方方面面,计算器能使人们快捷,准确的算账,提高工作效率。

2.2 设计思想本应用程序采用yout下的main布局文件进行布局,将单行文本加入相应区域,将数字按钮和运算符按钮及控制按钮添加到相应区域,同时注册按钮事件监听器。

2.3策略描述计算器的程序设计,必然有数据输入,其中数据包括运算符和数字,均要通过计算器上的button按钮选项输入进去,里面录入的必然是字符型的数据如果进行运算要将输入的数据转化成Double型,以防出错。

主要是通过将数字键和其他符号区别开来进行监听。

2.4 设计将要到达的目标解决日常生活中简单的算数问题,例如9*9=81(如下图)23 概要设计3.1 需求分析日常生活中经常需要用到计算器,比如科学计算,数值计算,会计业务等等,在Applet中实现一个精巧的计算器,可以让用户的操作也更加方便和快捷。

本项目需要实现一个具有四则运算的计算器,能够实现基本的加、减、乘、除运算,界面简洁适用。

3.2 基本框架该计算器是由一个显示输入数据和结果的显示区域,10个数字按钮,4个运算符按钮,一个等号按钮,,一个小数点按钮和一个清屏按钮组成的。

清屏按钮的作用是清除输入数据和结果。

3.3 类设计ActivityNumberAction CommandAction calculator34 详细设计4.1 运行过程4.2 类实现public class calculator extends Activity {private Button[] btnNum = new Button[11];private Button[] btnCommand = new Button[5];private EditText editText = null;private Button btnClear = null;private String lastCommand;private boolean clearFlag;private boolean firstFlag;private double result;public calculator() {result = 0;firstFlag = true;clearFlag = false;4lastCommand = "="; }@Overridepublic void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);setContentView(yout.activity_main);btnCommand[0] = (Button) findViewById(R.id.plus); btnCommand[1] = (Button) findViewById(R.id.minus); btnCommand[2] = (Button) findViewById(R.id.multiply); btnCommand[3] = (Button) findViewById(R.id.divide); btnCommand[4] = (Button) findViewById(R.id.equal);btnNum[0] = (Button) findViewById(R.id.num0); btnNum[1] = (Button) findViewById(R.id.num1); btnNum[2] = (Button) findViewById(R.id.num2); btnNum[3] = (Button) findViewById(R.id.num3); btnNum[4] = (Button) findViewById(R.id.num4); btnNum[5] = (Button) findViewById(R.id.num5); btnNum[6] = (Button) findViewById(R.id.num6); btnNum[7] = (Button) findViewById(R.id.num7); btnNum[8] = (Button) findViewById(R.id.num8); btnNum[9] = (Button) findViewById(R.id.num9); btnNum[10] = (Button) findViewById(R.id.point); editText = (EditText) findViewById(R.id.print); editText.setText("0.0");// 实例化监听器对象NumberAction na = new NumberAction(); CommandAction ca = new CommandAction();for (Button bc : btnCommand) {bc.setOnClickListener(ca);}5for (Button bc : btnNum) {bc.setOnClickListener(na);}// clear按钮的动作btnClear = (Button) findViewById(R.id.clear); btnClear.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View view) {editText.setText("0.0");// 初始化各项值result = 0; // x的值firstFlag = true; // 是首次运算clearFlag = false; // 不需要清空lastCommand = "="; // 运算符}});}4.2.1private class NumberAction implements OnClickListener { @Overridepublic void onClick(View view) {Button btn = (Button) view;String input = btn.getText().toString();if (firstFlag) {if (input.equals(".")) {return;}if (editText.getText().toString().equals("0.0")) {editText.setText("");6}firstFlag = false;} else {String editTextStr = editText.getText().toString();if (editTextStr.indexOf(".") != -1 && input.equals(".")) { return;}if (editTextStr.equals("-") && input.equals(".")) { return;}if (editTextStr.equals("0") && !input.equals(".")) { return;}}if (clearFlag) {editText.setText("");clearFlag = false;}editText.setText(editText.getText().toString() + input); }}4.2.2private class CommandAction implements OnClickListener {@Overridepublic void onClick(View view) {Button btn = (Button) view;String inputCommand = (String) btn.getText();7if (firstFlag) {if (inputCommand.equals("-")) {editText.setText("-");firstFlag = false;}} else {if (!clearFlag) {calculater(Double.parseDouble(editText.getText().toString()));}lastCommand = inputCommand;clearFlag = true;}}}4.3 运行描述先输入一个数字,再输入一个运算符,再输入另一个数字,然后按等号按钮,得到结果。

相关主题