安卓计算器小程序资料

安卓计算器小程序资料
安卓计算器小程序资料

武汉轻工大学数学与计算机学院《Android》大作业

班级:软件工程1404

学号:1405130039

姓名:李涛

指导教师:丁月华

目录

第1章开发工具与环境 (1)

1.1 Android平台 (1)

1.2 Java开发环境 (1)

1.3 Eclipse (2)

1.4 Android程序基础—Android应用程序的构成 (2)

第2章系统分析与设计 (3)

2.1系统的可行性分析 (3)

2.2 系统的需求分析 (3)

2.3 系统的优势 (3)

2.4 系统的流程图 (4)

第3章系统详细设计 (5)

3.1 动作Activity (5)

3.2 布局文件XML (5)

3.3 Activity的详细设计 (5)

3.4 布局文件XML的详细设计 (12)

3.5 运行结果 (17)

结论 (18)

第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

Eclipse采用的技术是IBM公司开发的SWT,这是一种基于Java的窗口组件,

类似Java本身提供的AWT和Swing窗口组件:不过IBM声称SWT比其他Java

窗口组件更有效率。Eclipse的用户界面还使用了GUI中间层JFace,从而简化了基于SWT的应用程序的构建。Eclipse的设计思想是:一切皆插件。Eclipse核心很小,其他所有功能都以插件的形式附加于Eclipse核心之上。Eclipse基于内核包括:图形API(SWT/JFace),Java开发环境插件(JDT),插件开发环境(PDE)等。Eclipse的插件机制是轻型软件组件化架构。在富客户机平台上,Eclipse使用插件来提供所有的附加功能,例如支持Java以外的其他语言。已有的分离的插件已经能够支持C/C++(CDT)、Perl、Ruby、Python、telnet和数据库开发。插件架构能够支持将任意的扩展加入到现有环境中,例如配置管理,而决不仅仅限于支持各种编程语言。

1.4 Android程序基础—Android应用程序的构成

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章系统分析与设计

2.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 语言进行系统的开发。

2.2 系统的需求分析

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

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

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

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

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

2.3 系统的优势

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

Activity的创建和Intent的使用。Intent不仅可以连接两个Activity。而且可以传递数据。下面是整个程序的设计流程。

2.4 系统的流程图

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

第一

Activity

第二个Activity

加减除乘法

图程序流程图2.1

第3章系统详细设计

3.1 动作Activity

参照程序的流程图,设计Activity。分别为进入页面的Activity,和选择运算方式的Activity。在这里应该注意的是每当创建一个新的class,就要继承Activity如图3.1所示。

Activity

程序所需的图3.1

XML

布局文件3.2

进行布局,ActivityXML文件来对上述的十个相应的,需要在res/layout文件夹中建立3.2所示。如图

布局文件3.2 3个XML图

布局文件已经建立完毕,下面开始对进入计算器的Activity和XML总体上所需要的 Activity进行编写,

Activity的详细设计3.3

CalculatorActivity.java动作模块中的详细代码如下:package

com.android.xiong.gridlayoutTest;

import java.math.BigDecimal;

import java.util.regex.Pattern;

import com.android.xiong.gridlayoutTest.R.id;

import android.os.Bundle;

import android.app.Activity;

import android.view.Menu;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.EditText;

import android.widget.GridLayout;

import android.widget.TextView;

public class MainActivity extends Activity {

private EditText print;

private static String fistNumber = 第一次输入的值

private static String secondNumber = 第二次输入的值

private static String num = 显示的结果

private static int flg = 0;// 结果累加一次

public Counts take = null;

private int[] btidTake = { R.id.txtdivide, R.id.txtx, R.id.txtmin,

R.id.txttakesum };

private Button[] buttonTake = new Button[btidTake.length];

private int[] btidNum = { R.id.txt0, R.id.txt1, R.id.txt2, R.id.txt3, R.id.txt4, R.id.txt5, R.id.txt6, R.id.txt7, R.id.txt8, R.id.txt9, R.id.txtspl };

private Button[] buttons = new Button[btidNum.length];

private int[] btcl = { R.id.chars, R.id.charx, R.id.txtb, R.id.txtv }; private Button[] btcls = new Button[btcl.length];

private GridLayout gly;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(https://www.360docs.net/doc/845505394.html,yout.activity_main);

gly=(GridLayout)findViewById(R.id.gly);

print = (EditText) findViewById(R.id.print);

print.setText(

print.setEnabled(false);

GetNumber get = new GetNumber();

for (int i = 0; i < btidNum.length; i++) {

buttons[i] = (Button) findViewById(btidNum[i]);

buttons[i].setOnClickListener(get);

}

Compute cm = new Compute();

for (int i = 0; i < btidTake.length; i++) {

buttonTake[i] = (Button) findViewById(btidTake[i]); buttonTake[i].setOnClickListener(cm);

}

Button eq = (Button) findViewById(R.id.txteq);

eq.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

if (flg == 0) {

secondNumber = print.getText().toString();

if (take == Counts.DIVIDE && secondNumber.equals(

print.setText( 不能为被除数);

} else {

num = take.Values(fistNumber, secondNumber);

fistNumber = num;

secondNumber =

print.setText(num);

flg = 1;

gly.setBackgroundResource(R.drawable.jz);

}

}

});

Button cleargo = (Button) findViewById(R.id.cleargo); cleargo.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

if (num.length() > 1) {

num = num.substring(0, num.length() - 1);

} else {

num =

}

print.setText(num);

}

});

Button clear = (Button) findViewById(R.id.clear);

clear.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

num =

fistNumber = secondNumber = num;

print.setText(num);

flg = 0;

}

});

for (int i = 0; i < btcl.length; i++) {

btcls[i] = (Button) findViewById(btcl[i]);

btcls[i].setOnClickListener(new OnTake());

}

}

// 给 EditText赋值

class GetNumber implements OnClickListener {

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

if (flg == 1)

num =

if (num.equals(

print.setText(\);

num = v.getId() == R.id.txtspl ? }

String txt = ((Button) v).getText().toString();

boolean s = Pattern.matches(-*(\\d+).?(\\d)*, num + txt);

num = s ? (num + txt) : num;

gly.setBackgroundResource(R.drawable.js);

print.setText(num);

}

}

// 根据条件计算

class Compute implements OnClickListener {

@Override

public void onClick(View arg0) {

fistNumber = print.getText().toString();

// TODO Auto-generated method stub

switch (arg0.getId()) {

case R.id.txttakesum:

take = Counts.ADD;

break;

case R.id.txtmin:

take = Counts.MINUS;

break;

case R.id.txtx:

take = Counts.MULTIPLY;

break;

case R.id.txtdivide:

take = Counts.DIVIDE;

break;

}

num =

flg = 0;

gly.setBackgroundResource(R.drawable.js);

}

}

class OnTake implements OnClickListener {

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

switch (v.getId()) {

case R.id.chars:

num = - + num;

break;

case R.id.charx:

if(!num.equals(

num = BigDecimal.valueOf(1).divide(new

BigDecimal(num),12,BigDecimal.ROUND_UP).stripTrailingZeros()

.toString();

break;

case R.id.txtb:

num = new

BigDecimal(num).divide(BigDecimal.valueOf(100),12,BigDecimal.ROUND_UP).stripTrailin gZeros()

.toString();

break;

case R.id.txtv:

Double numss = Math.sqrt(new BigDecimal(num).doubleValue());

int

stratindex=numss.toString().contains(.)?numss.toString().indexOf(.):0;

num = numss.toString().length()>13?numss.toString().substring(0,

12+stratindex):numss.toString();

}

print.setText(num);

flg=0;

num =

}

}

@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;

}

}

的详细设计布局文件XML3.4

编写布局代码如下:布局文件main.xml

xmlns:tools=桜瑴???捳敨慭?湡牤楯?潣屭琯潯獬

android:layout_width=浜瑡档灟牡湥屴

android:layout_height=睜慲彰潣瑮湥屴

android:layout_marginTop=?瀰屸

android:columnCount=?

android:rowCount=?

android:background=?牤睡扡敬?獪

android:id=?椫層术祬

tools:context=?慍湩捁楴楶祴>

android:id=?椫層瀯楲瑮

android:layout_width=浜瑡档灟牡湥屴

android:layout_height=?瀰屸

android:layout_columnSpan=?

android:layout_marginLeft=?硰

android:layout_marginRight=?硰

android:layout_row=ぜ

android:textColor=?晦??

android:textSize=?瀵屸

android:gravity=牜杩瑨

android:background=?敥履/>

android:id=?椫層振敬牡潧

android:layout_width=睜慲彰潣瑮湥屴

android:layout_height=??硰

android:layout_column=ぜ

android:layout_gravity=瑜灯

android:layout_row=?

《?/>android:text=

android:id=?椫層振敬牡

android:layout_width=睜慲彰潣瑮湥屴

android:layout_height=??硰

android:layout_column=?

android:layout_columnSpan=?

android:layout_row=?

android:layout_gravity=晜汩彬潨楲潺瑮污清屏/>android:text=

android:id=?椫層振慨獲

android:layout_width=睜慲彰潣瑮湥屴

android:layout_height=??硰

android:layout_column=?

android:layout_row=?

android:text=??尫/>

android:id=?椫層振慨硲

android:layout_width=睜慲彰潣瑮湥屴

android:layout_height=??硰

android:layout_column=?

android:layout_row=?

android:text=??屸/>

android:id=?椫層琯瑸尷

android:layout_width=睜慲彰潣瑮湥屴

android:layout_height=??硰

android:layout_column=ぜ

android:layout_row=?

android:text=?/>

android:id=?椫層琯瑸尸

android:layout_width=睜慲彰潣瑮湥屴

android:layout_height=??硰

android:layout_column=?

android:layout_row=?

android:text=?/>

android:id=?椫層琯瑸尹

android:layout_width=睜慲彰潣瑮湥屴

android:layout_height=??硰

android:layout_column=?

android:layout_row=?

android:text=?/>

android:id=?椫層琯瑸楤楶敤

android:layout_width=睜慲彰潣瑮湥屴android:layout_height=??硰

android:layout_column=?

android:layout_row=?

android:text=╜ふ昰尷/>

android:id=?椫層琯瑸屢

android:layout_width=睜慲彰潣瑮湥屴android:layout_height=??硰

android:layout_column=?

android:layout_row=?

android:text=╜/>

android:id=?椫層琯瑸尴

android:layout_width=睜慲彰潣瑮湥屴android:layout_height=??硰

android:layout_column=ぜ

android:layout_row=?

android:text=?/>

android:id=?椫層琯瑸尵

android:layout_width=睜慲彰潣瑮湥屴android:layout_height=??硰

android:layout_column=?

android:layout_row=?

android:text=?/>

android:id=?椫層琯瑸尶

android:layout_width=睜慲彰潣瑮湥屴android:layout_height=??硰

android:layout_column=?

android:layout_row=?

android:text=?/>

android:id=?椫層琯瑸屸

android:layout_width=睜慲彰潣瑮湥屴android:layout_height=??硰

android:layout_column=?

android:layout_row=?

android:text=塜/>

android:id=?椫層琯瑸屶

android:layout_width=睜慲彰潣瑮湥屴android:layout_height=??硰

android:layout_column=?

android:layout_row=?

android:text=╜??屡/>

android:id=?椫層琯瑸就

android:layout_width=睜慲彰潣瑮湥屴android:layout_height=??硰

android:layout_column=ぜ

android:layout_row=?

android:text=?/>

android:id=?椫層琯瑸尲

android:layout_width=睜慲彰潣瑮湥屴android:layout_height=??硰

android:layout_column=?

android:layout_row=?

android:text=?/>

android:id=?椫層琯瑸尳

android:layout_width=睜慲彰潣瑮湥屴android:layout_height=??硰

android:layout_column=?

android:layout_row=?

android:text=?/>

android:id=?椫層琯瑸業屮

android:layout_width=睜慲彰潣瑮湥屴

android:layout_height=??硰

android:layout_column=?

android:layout_row=?

android:text=?/>

android:id=?椫層琯瑸煥

android:layout_width=睜慲彰潣瑮湥屴

android:layout_height=睜慲彰潣瑮湥屴

android:layout_column=?

android:layout_gravity=晜汩彬敶瑲捩污

android:layout_row=?

android:layout_rowSpan=?

android:text=?/>

android:id=?椫層琯瑸尰

android:layout_width=睜慲彰潣瑮湥屴

android:layout_height=??硰

android:layout_column=ぜ

android:layout_columnSpan=?

android:layout_gravity=晜汩彬潨楲潺瑮污

android:layout_row=?

android:text=ぜ/>

Button

android:layout_width= ??硰android:layout_height=

?android:layout_column=

?android:layout_row=

/>android:text=?

=?椫層琯瑸慴敫畳屭android:id睜慲彰潣瑮湥屴android:layout_width= ??硰android:layout_height= ?android:layout_column=

=?android:layout_row/>?android:text=

3.5 运行结果

计算机运行的欢迎界面如图3.1所示:

图3.1 计算器进入欢迎界面

计算机的主页面如图3.2所示:

图3.2 计算机主界面

结论

这次课程设计需要注意的地方很多,比如Activity的注册的问题,还有每个class创建要继承Activity,到后来计算的问题,然后开始找相关的资料才知道需要将字符串进行转换才能进行运算。这次课程设计真正的锻炼了我的的耐心和细心,这样可以在过程中才能更好地锻炼自己的能力,认识到自己的不足。通过这次课设认识到自己在编程中的缺陷,我查了不少的资料获益匪浅需要好好学习更深入的理解。

简易计算器面板小程序

[java語言與程序設計]简易计算器面板小程序 歸真我发表于:2011/8/1822:49:17标签(TAG):简易计算器面板java小程序 /**C1.java简易计算器面板小程序*/ import java.applet.*;//引入Java系统标准类库中java.applet包 import java.awt.*;//引入Java系统标准类库中java.awt包 import java.awt.event.*;//引入Java系统标准类库中java.awt.event包 public class C1extends Applet{ Label b;//标题标签对象 TextField t1,t2,t3;//三个文本框对象 Button btn1,btn2;//两个按钮对象 CheckboxGroup se;//单选按钮组,它由四个互斥的按钮组成,用来选择计算类型。 Checkbox a,s,m,d;//四个单选按钮,分别代表加、减、乘、除四种运算。 public void init(){ b=new Label("简易计算器面板设计");//创建标题标签对象 t1=new TextField(13);//创建文本框1,用来输入操作数1 t2=new TextField(13);//创建文本框2,用来输入操作数2 t3=new TextField(13);//创建文本框3,用来输出运算结果 btn1=new Button("等于");//创建按钮1“等于”,用来对输入的两操作数进行运算btn2=new Button("重置");//创建按钮2“重置”,用来清空三个文本框,并将计算类型置为初始状态(选中加法)。 se=new CheckboxGroup();//创建单选按钮组 a=new Checkbox("加",true,se);//创建单选按钮:加 s=new Checkbox("减",false,se);//创建单选按钮:减 m=new Checkbox("乘",false,se);//创建单选按钮:乘 d=new Checkbox("除",false,se);//创建单选按钮:除

简易加减计算器小程序

[java語言與程序設計]简易加减计算器小程序 歸真我发表于:2011/8/1922:51:21标签(TAG): 简易加减计算器小程序 在上一篇《简易计算器面板小程序》中,我已对面板部分的程序作了详细的注释,并对程序的运行过程及结果作了完整的介绍,并且是上机调试过了得到的结果。但是,那只是面板,不能运算。要想让它具有运算的功能,还得在此基础上作一些修改,加进有关按钮动作响应部分的程序。为了便于理解,便于调试,便于学习,掌握其要点,我想应该遵循循序渐进的原则,所以,先从加减运算开始,看看这个功能是怎么实现的。请看下面的小程序。从程序中可以看出,它是利用内部类ButtonAct来处理按钮的动作响应的。从总体上讲是两个按钮“运算”和“重置”,但“运算”又区分为“加”和“减”。所以,用负责实现双分支的if语句来编程。 /**C2.java简易加减计算器小程序*/ import java.applet.*; import java.awt.*; import java.awt.event.*; public class C2extends Applet{ TextField t1,t2,t3; Button btn1,btn2; CheckboxGroup select; Checkbox a,s;//分别代表加、减 Label b; public void init(){ t1=new TextField(13); t2=new TextField(13); t3=new TextField(13); btn1=new Button("等于");

btn2=new Button("重置"); select=new CheckboxGroup(); a=new Checkbox("加",true,select); s=new Checkbox("减",false,select); b=new Label("简易加法/减法计算器"); add(b); add(t1); add(a); add(s); add(t2); add(btn1); add(t3); add(btn2); btn1.addActionListener(new ButtonAct());//注册给ButtonAct对象btn2.addActionListener(new ButtonAct());//注册给ButtonAct对象} class ButtonAct implements ActionListener{//内部类,按钮处理public void actionPerformed(ActionEvent e){ int op1,op2,op3; if(e.getSource()==btn1){//等于按钮 op1=Integer.parseInt(t1.getText()); op2=Integer.parseInt(t2.getText()); if(a.getState())//以下判断计算类型并实现相应的计算 op3=op1+op2; else op3=op1-op2; t3.setText(Integer.toString(op3)); } else{//重置按钮 t1.setText(""); t2.setText(""); t3.setText(""); a.setState(true); } } }//end of ButtonAct }//*~ 运行结果为:

安卓计算器开发实验报告

上海电力学院 嵌入式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文件,计算器的按钮

自己编的c#小程序—计算器

实验内容 1.仿照windows自带的计算机用C#语言做一个能简单加减乘除的计算器 using System; using System.Collections.Generic; using https://www.360docs.net/doc/845505394.html,ponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace WindowsFormsApplication1 { public partial class Form1 : Form { private bool ClearDisplay = true; private string Op; private double Op1; private double Op2; private double result; public Form1() { InitializeComponent(); } private void textBox1_TextChanged(object sender, EventArgs e) { } private void Form1_Load() { } private void ce_Click(object sender, EventArgs e) { tb.Text = ""; Op = ""; Op1 = 0; Op2 = 0; result = 0; } private void num0_Click(object sender, EventArgs e) { tb.Text = tb.Text+ "0"; Op1 = System.Convert.ToDouble(tb.Text);

VB6.0的小程序计算器

VB6.0的小程序计算器 对于刚入门学习VB6的朋友来说肯定会做些小程序吧,这里就是给大家演示个简单的计算器程序,仅供参考啦。 界面上加减乘除四个按钮分别是cmdAdd、cmdPlus、cmdMultiple、cmdDevide,小数点按钮是cmdDot,负号按钮是cmdMinuse,数字0~9为了偷懒,用了控件数组cmdNumber(0)~ cmdNumber(9),上面txtShow是显示数字和结果用的,txtOperate是显示中间步骤的。 思路大致是这样,点加减乘除这类操作符的时候,把当前txtShow的值保存在模块变量mstrParam1里,同时把操作符保存到mstrOperate里,按等于号时把先把当前txtShow的值保存在模块变量mstrParam2里,然后对mstrParam1和mstrParam2进行运算,当然要记得设法把String转换成数值进行运算。 转换的过程要注意,这里是用的Variant数据类型,vParam1和vParam2都是Variant 类型,保存的是mstrParam1和mstrParam2的数值。之所以不用integer、long、double 这些标准类型,是因为这些类型都有大小限制,做出来用着不方便,VB最大的整型long才到 2147483647,这意味着计算器的计算结果只能限制在9位到10位。而Variant类型可以支持非常大的数,具体多大不清楚,但起码几十位是能够支持的。另外,最后算完的结果也要做格式化,因为如果数值非常大的话,VB会自动转成科学计数法,所以要用Format函数进行调整。 如果需要源代码的话在我百度空间里留言。https://www.360docs.net/doc/845505394.html,/zhaozhigang517

安卓计算器开发实验报告

嵌入式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开发计算器设计开发报告

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个特点:开放性、应用程序无界限、应用程序是在平等条件下创建的,应用程序可以轻松的嵌入网络、应用程序可以并行运行。而简单计算器又是手机上必备的小程序,所以此次创新实践很有意义。并且具有很强的使用性。 关键字: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

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

安卓应用程序设计 ——简易计算器的实现院(系)名称 专业名称 学生姓名 学生学号 课程名称 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功能的操作流程 首先用户根据自己的实际需要选择计算,得出程序结果,输入数据,选择运算符号,再输入数据,选择等号,即可以得出结果。

安卓开发的自制计算器源代码

这是本人自己用安卓编写的计算器,代码的优化可能有所问题,不过大家都在学习阶段,欢迎大家批评指正,还是上源码吧。 先来运行图 package com.example.nanchen.exam_1_1; import android.content.DialogInterface; import android.support.v7.app.AlertDialog; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.TextView; public class MainActivity extends AppCompatActivity implements View.OnClickListener{ private Button btn0; private Button btn1;

private Button btn2; private Button btn3; private Button btn4; private Button btn5; private Button btn6; private Button btn7; private Button btn8; private Button btn9; private Button btnAdd; private Button btnSub; private Button btnMul; private Button btnDiv; private Button btnDec; private Button btnEqual; private Button btnClear; private Button btnBackSpace; private TextView textView_result; double num1 = 0,num2 = 0,result = 0;//定义存储结果和两个操作数boolean isCheckEqu = false;//检测是否点击了等于 int op = 0;//定义运算符 boolean hasDec = false; boolean hasOp = false; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(https://www.360docs.net/doc/845505394.html,yout.activity_main); textView_result = (TextView) findViewById(R.id.result); btn0 = (Button) findViewById(R.id.btn0); btn1 = (Button) findViewById(R.id.btn1); btn2 = (Button) findViewById(R.id.btn2); btn3 = (Button) findViewById(R.id.btn3); btn4 = (Button) findViewById(R.id.btn4); btn5 = (Button) findViewById(R.id.btn5); btn6 = (Button) findViewById(R.id.btn6); btn7 = (Button) findViewById(R.id.btn7); btn8 = (Button) findViewById(R.id.btn8); btn9 = (Button) findViewById(R.id.btn9); btnAdd = (Button) findViewById(R.id.btn10); btnSub = (Button) findViewById(R.id.btn11);

VB6.0的小程序计算器

的小程序计算器 对于刚入门学习VB6 的朋友来说肯定会做些小程序吧,这里就是给大家演示个简单的计算器程序,仅供参考啦。 界面上加减乘除四个按钮分别是cmdAdd cmdPlus、cmdMultiple、cmdDevide,小数点按钮是cmdDot,负号按钮是cmdMinuse,数字0?9为了偷懒,用了控件数组cmdNumber(O)~ cmdNumber(9),上面txtShow 是显示数字和结果用的,txtOperate 是显示中间步骤的。 思路大致是这样, 点加减乘除这类操作符的时候, 把当前txtShow 的值保存在模块变量mstrParam1 里,同时把操作符保存到mstrOperate 里,按等于号时把先把当前txtShow 的值保存在模块变量mstrParam2 里,然后对mstrParam1 和mstrParam2 进行运算,当然要记得设法把String 转换成数值进行运算。 转换的过程要注意,这里是用的Variant 数据类型, vParam1 和vParam2 都是Variant 类型,保存的是mstrParam1 和mstrParam2 的数值。之所以不用integer 、long 、double 这些标准类型,是因为这些类型都有大小限制,做出来用着不方便,VB最大的整型long才 到47 ,这意味着计算器的计算结果只能限制在9位到10位。而Variant类型可以支持非常 大的数,具体多大不清楚,但起码几十位是能够支持的。另外,最后算完的结果也要做格式化,因为如果数值非常大的话,VB会自动转成科学计数法,所以要用Format函数进行调整。 如果需要源代码的话在我百度空间里留言。Explicit Private Const mstrFORMATDEFAULT As String = "#.##" Private mstrParam1 As String, mstrParam2 As String Private mstrOperate As String Private Sub cmdAdd_Click() mstrParam1 = Trim mstrOperate = "+" ___ nil = & mstrParam1 & vbCrLf = & mstrOperate & vbCrLf End Sub Private Sub cmdPlus_Click() mstrParam1 = Trim mstrOperate = "-" ____ Illi

安卓简单计算器

安卓简单计算器 开发工具:adt bundle、AIDE 算法思路:先对用户输入数据进行解析,然后按照运算法则进行计算结果 注意:以下只是主要代码,功能包括非括号加减乘除混合运算,但是以此基础可进行扩展,还有就是自行添加 标签到 Android Manifest.xml Java文件:MainActivity.java history.java Xml文件:main.xml History.xml MainActivity.java: package com.mycompany.myapp2; import android.app.*; import android.content.*; import android.os.*; import android.view.*; import android.view.View.*; import android.widget.*; public class MainActivity extends Activity { int h=1,k,i=1,j,n,u; int I=1;

public static int L=0; public static int z=0,t=1; public static double m=0; public static String C="",temp="Null"; public static float c; public static double x=1; public static double[] b=new double[510];//长度可自行修改 public static double[] a=new double[510]; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(https://www.360docs.net/doc/845505394.html,yout.main); Button buttonhistory=(Button)findViewById(R.id.mainButtonhistory); Button buttonadd=(Button)findViewById(R.id.mainButtonadd); Button buttoncheng=(Button)findViewById(R.id.mainButtoncheng); Button buttonsub=(Button)findViewById(R.id.mainButtonsub); Button buttonelim=(Button)findViewById(R.id.mainButtonelim); Button buttonclean=(Button)findViewById(R.id.mainButtonclean); Button button1=(Button)findViewById(R.id.mainButton1); Button button2=(Button)findViewById(R.id.mainButton2); Button button3=(Button)findViewById(R.id.mainButton3); Button button4=(Button)findViewById(R.id.mainButton4); Button button5=(Button)findViewById(R.id.mainButton5); Button button6=(Button)findViewById(R.id.mainButton6); Button button7=(Button)findViewById(R.id.mainButton7);

安卓计算器小程序资料

武汉轻工大学数学与计算机学院《Android》大作业

班级:软件工程1404 学号:1405130039 姓名:李涛 指导教师:丁月华 目录 第1章开发工具与环境 (1) 1.1 Android平台 (1) 1.2 Java开发环境 (1) 1.3 Eclipse (2) 1.4 Android程序基础—Android应用程序的构成 (2) 第2章系统分析与设计 (3) 2.1系统的可行性分析 (3) 2.2 系统的需求分析 (3) 2.3 系统的优势 (3) 2.4 系统的流程图 (4) 第3章系统详细设计 (5) 3.1 动作Activity (5) 3.2 布局文件XML (5) 3.3 Activity的详细设计 (5)

3.4 布局文件XML的详细设计 (12) 3.5 运行结果 (17) 结论 (18) 第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 Eclipse采用的技术是IBM公司开发的SWT,这是一种基于Java的窗口组件, 类似Java本身提供的AWT和Swing窗口组件:不过IBM声称SWT比其他Java

android简单计算器课程设计要点

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

目录 第1章开发工具与环境...................................................................... 错误!未定义书签。 1.1 Android平台....................................................................... 错误!未定义书签。 1.2Java开发环境.................................................................... 错误!未定义书签。 1.3 Eclipse?错误!未定义书签。 1.4Android程序基础—Android应用程序的构成?错误!未定义书签。 第2章系统分析与设计?错误!未定义书签。 2.1系统的可行性分析?错误!未定义书签。 2.2 系统的需求分析?错误!未定义书签。 2.3 系统的优势?错误!未定义书签。 2.4 系统的流程图?错误!未定义书签。 第3章系统详细设计.......................................................................... 错误!未定义书签。 3.1 动作Activity .................................................................. 错误!未定义书签。 3.2布局文件XML ............................................................ 错误!未定义书签。 3.3 Activity的详细设计........................................................... 错误!未定义书签。 3.2 布局文件XML的详细设计 ............................................. 错误!未定义书签。 3.2 系统的运行结果?错误!未定义书签。 结论?错误!未定义书签。 参考文献................................................................................................ 错误!未定义书签。

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

安卓应用程序设计 ——简易计算器的实现院(系)名称 专业名称 学生姓名 学生学号 课程名称 2016年6月日 1.系统需求分析 Android就是以Linux为核心的手机操作平台,作为一款开放式的操作系统,随着Android 的快速发展,如今已允许开发者使用多种编程语言来开发Android应用程序,而不再就是以前只能使用Java开发Android应用程序的单一局面,因而受到众多开发者的欢迎,成为真正意义上的开放式操作系统。计算器通过算法实行简单的数学计算从而提高了数学计算的效率,实现计算器的界面优化,使界面更加友好,操作更加方便。基于android的计算器的设计,系统具有良好的界面;必要的交互信息;简约美观的效果。使用人员能快捷简单地进行操作,即可单机按钮进行操作,即时准确地获得需要的计算的结果,充分降低了数字计算的难度与节约了时间。

2. 系统概要设计 2、1计算器功能概要设计 根据需求,符合用户的实际要求,系统应实现以下功能:计算器界面友好,方便使用,,具有基本的加、减、乘、除功能,能够判断用户输入运算数就是否正确,支持小数运算,具有清除功能。 图2、1系统功能图 整个程序基于Android 技术开发,除总体模块外主要分为输入模块、显示模块以及计算模块这三大部分。在整个系统中总体模块控制系统的生命周期,输入模块部分负责读取用户输入的数据,显示模块部分负责显示用户之前输入的数据以及显示最终的计算结果,计算模块部分负责进行数据的运算以及一些其她的功能。具体的说,总体模块的作用主要就是生成应用程序的主类,控制应用程序的生命周期。 输入模块主要描述了计算器键盘以及键盘的监听即主要负责读取用户的键盘输入以及响应触屏的按键,需要监听手机动作以及用指针事件处理方法处理触屏的单击动作。同时提供了较为直观的键盘图形用户界面。 显示模块描述了计算器的显示区,即该区域用于显示用户输入的数据以及最终的计算结果,同时负责显示一些其她的信息。 计算模块则主要描述了计算器的整体,实现了计算器的界面,负责计算用户输入数据,包括加、减、乘、除等各种功能,记忆数据的相关功能,清零的功能。 图2、2三大模块 2、2 输入模块设计 系统如果想完成计算器中各种功能,首先用户要能进行数据输入,由于就是在触屏手机上开发计算器程序,所以要求输入可以直接使用触屏进行,所以在设计的时候就要充分的考虑这 总体系统 显示模块 计算模块 输入模块

相关文档
最新文档