当前位置:文档之家› android开发计算器设计开发报告..

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

android开发计算器设计开发报告..
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技术开发,出总体模块外主要分为输入模块、显示模块以及计算模块(包括一些其她功能)这三大部分。在整个系统中总体模块控制系统的生命周期,输入模块部分负责读取用户输入的数据,显示模块部分负责显示用户之前输入的数据以及显示最终的计算结果,计算模块部分负责进行数据的运算以及一些其她的功能。

总体模块的作用主要是生成应用程序的主类,控制应用程序的生命周期。输入模块主

要描述了计算器键盘以及键盘的监听即主要负责读取用户的键盘输入以及响应触屏的按键,需要监听手机按键动作以及用指针事件处理方法处理触屏的单击动作(以松开按键为准)。同时提供了较为直观的键盘图形用户界面。

显示模块描述了计算器的显示区,即该区域用于显示用户输入的数据以及最终的计算结果,同时还负责显示一些其她的信息。

计算模块则主要描述了计算器的整体,实现了计算器的界面,负责计算用户输入数据,包括加、减、乘、除、等各种计算功能,记忆数据的相关功能,退格以及清零的功能。

四、程序流程和系统功能设计

4.1程序流程设计

知道了系统的功能以后,我们通过main.xml来建立显示界面,完成后系统开始监听用户的按键输入,每次输入系统都会判断一次用户输入的类型,是数字还是运算符号或者是清除,判断完后分成不同类型如数字,符号,基本运算等等进行进一步的处理,根据用户的要求继续进行下一步的操作,最后计算出最终结果并显示在显示区。

系统流程图如图4-1所示:

4.2.系统功能设计

整个系统的功能比较多,比较复杂,如上所说,可以分为十多个功能模块,但是逻辑上理解其实不算困难,系统包括普通计算功能,包括加减乘除,退格以及清零功能。下面就让我们用图4-2来表示:

4.3基于Android平台系统具体设计

系统除了总体模块以外主要由三大模块来组成,即输入模块,显示模块和计算模块。用系统框图来表示即如图4-3。

4.3.1 总体模块详细设计

总体模块需要完成的任务主要就是系统的程序启动类,需要负责整个系统的生命周期。同时在还要在模块中完成菜单栏的所有功能,即退出程序,记忆数据,显示数据,清除记忆数据这四个功能。

总体模块的功能图如图4-4:

4.3.2 输入模块详细设计

系统如果想完成计算器中的各种功能,首先用户要能进行数据输入,由于是在触屏手机上开发计算器程序,所以要求输入可以直接使用触屏进行,所以在设计的时候就要充分的考虑要这一点。正是由于考虑到这个特殊的地方,所以在进行模块设计中,选择编写输入模块

类的时候会特意选取使用了可以支持触屏输入的特殊增强型图形用户界面类。

输入模块主要的任务是描述计算器键盘以及实现键盘的监听,即当用户点击按键或者屏幕的时候监听器会去调用相应的处理办法,本模块还需要为系统提供了一个较为直观的键盘图形用户界面。

输入模块的功能图如图4-5:

4.3.3 显示模块详细设计

显示模块主要要完成的任务是描述计算器的显示区,该区域用于显示用户输入的数据以及最终的计算结果和一些其她信息。同时本模块还将提供调用和设置显示的具体方法。

显示模块的功能图如图3-6:

4.3.4 计算模块详细设计

系统想要能在屏幕上显示出计算器的样子要有整体的布局,在本模块中要完成布局的具

体设计,使用户能够看到整个计算器的画面。同时系统想完成计算功能必须要处理用户的输入,当输入模块的监听传到计算模块中时,计算模块就要根据相应的方法进行进一步的处理。这部分主要是对输入进行的逻辑判断,基本会通过if else来实现逻辑判断。计算模块的功能图如图3-7:

五、计算器系统实现

5.1 Android应用程序构成

Android应用程序一般是由Activity、Serviece、Content Provider、Intent、Intent Receiver、Notification六个组件构成。但并非每一个Android应用程序都包含这六个组件。

(1)Activity(活动):应用程序的表示层。Activity是Android的基本组件。

(2)(2)Service(服务):Android应用程序的后台运行组件。

(3)Content Provider(内容提供器):用来管理和分享应用程序数据库。

(4)(4)Intent(意向):Activity之间的粘合剂。使用Intent,可以在系统范围内向目标活动或者服务广播消息,说明希望执行某个动作的意图。

(5)Intent Receiver(意向接收器):通过Intent Receiver实现应用能够对一个外部的事件作出响应,Intent Receiver在AndroidManifest.xml中注册,但也可以在代码中使用Context.registerReceiver()进行注册。

六、截图说明

1、图标

2界面

3运算界面

4错误输入

5设计平台界面

6签名导出apk

七、总结

课程设计终于在我的努力下做完了。这个时候我更加深入的了解了Java的特点以及一些相关知识。与其临渊羡鱼,不如退而结网。这次Android课程设计给我的最大的印象就是如果自己有了兴趣,就动手去做,困难在你的勇气和毅力下是抬不了头的。如果你连失败都不怕了,那你还怕什么,拾起懒惰的心,勤奋着就会走向成功斩。这次的课程设计在我未来的时日里,是一个标杆,因为它告诉了我,只要我努力没有什么事我做不好的。安卓开发是个很有意思的事情,以后可以在自己手机上安装自己开发的一些小程序,也是个非常不错的事情,目前还没有个安卓机子,而在其他同学手机测试过后,还是比较不错的。

注:因为有源文件了,并且程序代码也还是比较长,就不在报告里面放代码了。package ymq.demo03;

import android.app.Activity;

import android.os.Bundle;

import android.view.*;

import android.widget.*;

public class demo03 extends Activity {

/** Called when the activity is first created. */

String str="";

EditText et;

int c=0,flag=0;

double b=0.0,g=0.0,f=0.0;

View vi;

public boolean onCreateOptionsMenu(Menu menu) { // TODO Auto-generated method stub

menu.add(0, 1, 1, "退出");

return super.onCreateOptionsMenu(menu);

}

@Override

public boolean onOptionsItemSelected(MenuItem item) { // TODO Auto-generated method stub

if(item.getItemId()==1){finish();}

return super.onOptionsItemSelected(item);

}

//计算方法

public double calculater(){

switch(c){

case 0:f=g;break;

case 1:f=b+g;break;

case 2:f=b-g;break;

case 3:f=b*g;break;

case 4:f=b/g;break;

}

b=f;

c=0;

return f;

}

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(https://www.doczj.com/doc/6815548724.html,yout.main);

//获得按键

final Button number[]=new Button[10];

final Button fuhao[]=new Button[11];

fuhao[0]=(Button)findViewById(R.id.button01);

fuhao[1]=(Button)findViewById(R.id.button02);

fuhao[2]=(Button)findViewById(R.id.button03);

fuhao[3]=(Button)findViewById(R.id.button04);

fuhao[4]=(Button)findViewById(R.id.button05);

fuhao[5]=(Button)findViewById(R.id.button06);

fuhao[6]=(Button)findViewById(R.id.buttonce);

fuhao[7]=(Button)findViewById(R.id.buttonc);

fuhao[8]=(Button)findViewById(R.id.zheng);

fuhao[9]=(Button)findViewById(R.id.kaifang);

fuhao[10]=(Button)findViewById(R.id.pingfang);

number[0]=(Button)findViewById(R.id.button0);

number[1]=(Button)findViewById(R.id.button1);

number[2]=(Button)findViewById(R.id.button2);

number[3]=(Button)findViewById(R.id.button3);

number[4]=(Button)findViewById(R.id.button4);

number[5]=(Button)findViewById(R.id.button5);

number[6]=(Button)findViewById(R.id.button6);

number[7]=(Button)findViewById(R.id.button7);

number[8]=(Button)findViewById(R.id.button8);

number[9]=(Button)findViewById(R.id.button9);

et=(EditText) findViewById(R.id.textView1);

et.setText(str);

fuhao[6].setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

// TODO Auto-generated method stub

str="";

et.setText(str);

vi=v;

}

});

fuhao[7].setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

// TODO Auto-generated method stub

b=0.0;c=0;g=0.0;

str="";

et.setText(str);

}

});

fuhao[8].setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

// TODO Auto-generated method stub

if(vi!=fuhao[5]&&str!=""){

char ch=str.charAt(0);

if(ch=='-')

str=str.replace("-","");

else

str="-"+str;

et.setText(str);

}

}

});

fuhao[9].setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

// TODO Auto-generated method stub

if(str!=""){

double a=Double.parseDouble(str);

str=Math.sqrt(a)+"";

et.setText(str);

}}

});

fuhao[10].setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

// TODO Auto-generated method stub

if(str!=""){

double a=Double.parseDouble(str);

str=""+a*a;

et.setText(str);

}}

});

//设定数字按键

number[0].setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

// TODO Auto-generated method stub

if(flag==1){

str="";

str+=0;

et.setText(str);

flag=0;

}

else{

char ch1[];

ch1=str.toCharArray();

if(!(ch1.length==1&&ch1[0]=='0'))

{str+=0;

et.setText(str);}

}

vi=v;

}

});

number[1].setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

// TODO Auto-generated method stub

if(flag==1){

str="";

str+=1;

et.setText(str);

flag=0;

}

else{

str+=1;

et.setText(str);

}

vi=v;

}

});

number[2].setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

// TODO Auto-generated method stub

if(flag==1){

str="";

str+=2;

et.setText(str);

flag=0;

}

else{

str+=2;

et.setText(str);

}

vi=v;

}

});

number[3].setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

// TODO Auto-generated method stub

if(flag==1){

str="";

str+=3;

et.setText(str);

flag=0;

}

else{

str+=3;

et.setText(str);

}

vi=v;

}

});

number[4].setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

// TODO Auto-generated method stub

if(flag==1){

str="";

str+=4;

et.setText(str);

flag=0;

}

else{

str+=4;

et.setText(str);

}

vi=v;

}

});

number[5].setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

// TODO Auto-generated method stub

if(flag==1){

str="";

str+=5;

et.setText(str);

flag=0;

}

else{

str+=5;

et.setText(str);

}

vi=v;

}

});

number[6].setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

// TODO Auto-generated method stub

if(flag==1){

str="";

str+=6;

et.setText(str);

flag=0;

}

else{

str+=6;

et.setText(str);

}

vi=v;

}

});

number[7].setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

// TODO Auto-generated method stub

if(flag==1){

str="";

str+=7;

et.setText(str);

flag=0;

}

else{

str+=7;

et.setText(str);

}

vi=v;

}

});

number[8].setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

// TODO Auto-generated method stub

if(flag==1){

str="";

str+=8;

et.setText(str);

flag=0;

}

else{

str+=8;

et.setText(str);

}

vi=v;

}

});

number[9].setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

// TODO Auto-generated method stub

if(flag==1){

str="";

str+=9;

et.setText(str);

flag=0;

}

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.doczj.com/doc/6815548724.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.doczj.com/doc/6815548724.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"/>

相关文档 最新文档