android简单计算器课程设计要点
更新时间:2024-03-03 18:53:01 阅读量: 综合文库 文档下载
沈阳理工大学课程设计专用纸
摘要
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
沈阳理工大学课程设计专用纸 No1
第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
沈阳理工大学
沈阳理工大学课程设计专用纸 No2
Eclipse的基础是富客户机平台(Rich Client Platform,即RCP)。 RCP包括下列组件:
? 核心平台(Eclipse,运行插件)
? 标准集束框架(OSGi : Open Service Gateway initiative) ? 可移植构件工具包(SWT : Eclipse's Standard Widget Toolkit) ? JFace(文件缓冲,文本处理,文本编辑器)
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应用程序的构成
沈阳理工大学
沈阳理工大学课程设计专用纸 No3
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间接调用。
沈阳理工大学
沈阳理工大学课程设计专用纸 No4
第2章 系统分析与设计
2.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语言进行系统的开发。
2.2 系统的需求分析
根据分析需求,这个系统必须实现以下的功能: (1) 实现简单的数字计算功能。 作为计算器,其核心就是加减乘除。 (2) 能够在手机里面以良好的界面。
简单计算器能够给予用户良好的人机互动界面。
2.3 系统的优势
Android是以Linux为核心的手机操作平台,作为一款开放式的操作系统,随着Android的快速发展,如今已允许开发者使用多种编程语言来开发Android应用程序,而不再是以前只能使用Java开发Android应用程序的单一局面,因而受到众多开发者的欢
沈阳理工大学
沈阳理工大学课程设计专用纸 No5
迎,成为真正意义上的开放式操作系统。本次课程设计一个简易的计算器。主要了解Activity的创建和Intent的使用。Intent不仅可以连接两个Activity。而且可以传递数据。下面是整个程序的设计流程。
2.4 系统的流程图
本程序的流程是一个开机画面,开机画面之后就是计算机的主页面了所有这个简单程序的流程图如图2.1所示。
图2.1 程序流程图
加法 减法 除法 乘法 第二个 Activity 第一个 Activity
沈阳理工大学
沈阳理工大学课程设计专用纸 No6
第3章 系统详细设计
3.1 动作Activity
参照程序的流程图,设计五个Activity。分别为进入页面的Activity,和选择运算方式的Activity。在这里应该注意的是每当创建一个新的class,就要继承Activity如图3.1所示。
图3.1 程序所需的Activity
3.2 布局文件XML
相应的,需要在res/layout文件夹中建立3个XML文件来对上述的十个Activity进行布局,如图3.2所示。
图3.2 3个XML布局文件
总体上所需要的Activity和XML布局文件已经建立完毕,下面开始对进入计算器的Activity进行编写,
沈阳理工大学
沈阳理工大学课程设计专用纸 No7
3.3 Activity的详细设计
动作模块中CalculatorActivity.java的详细代码如下:
package com.calculator.apk; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View;
import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.TextView;
public class CalculatorActivity extends Activity { /**
* 对layout中各组件进行定义 */
Button btn1,btn2,btn3,btn4,btn5,btn6,btn7,btn8,btn9,btn0,btnPoint; Button btnJia,btnJian,btnCheng,btnChu; Button btnC,btnE,btnA,btnB; Button btnJieGuo; TextView textView01; EditText et;
//定义一个float类型,用于数字的运算 float num1;
//定义一个float类型,用于数字的运算 float num2; @Override
protected void onCreate(Bundle savedInstanceState) {
沈阳理工大学
沈阳理工大学课程设计专用纸 No8
super.onCreate(savedInstanceState); setContentView(R.layout.calculator); //定义一个方法,完成对个组件的初始化 init();
//设置btn1的监听事件
btn1.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) { }
//获取EditText中的值
String num1 = et.getText().toString(); //将num1后面连接1,然后再将值赋给EditText et.setText(num1+1);
});
//设置btn2的监听事件
btn2.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) { }
//获取EditText中的值
String num1 = et.getText().toString(); //将num1后面连接2,然后再将值赋给EditText et.setText(num1+2);
});
//设置btn3的监听事件
btn3.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
//获取EditText中的值
String num1 = et.getText().toString();
沈阳理工大学
沈阳理工大学课程设计专用纸 No9
}
//将num1后面连接3,然后再将值赋给EditText et.setText(num1+3);
});
//设置btn4的监听事件
btn4.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) { }
//获取EditText中的值
String num1 = et.getText().toString(); //将num1后面连接4,然后再将值赋给EditText et.setText(num1+4);
});
//设置btn5的监听事件
btn5.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
//获取EditText中的值
String num1 = et.getText().toString(); //将num1后面连接5,然后再将值赋给EditText et.setText(num1+5); }
});
//设置btn6的监听事件
btn6.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
//获取EditText中的值
沈阳理工大学
沈阳理工大学课程设计专用纸 No10
}
String num1 = et.getText().toString();
//将num1后面连接6,然后再将值赋给EditText et.setText(num1+6);
});
//设置btn7的监听事件
btn7.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) { }
//获取EditText中的值
String num1 = et.getText().toString(); //将num1后面连接7,然后再将值赋给EditText et.setText(num1+7);
});
}
//获取EditText中的值
String num1 = et.getText().toString();
//将num1后面连接8,然后再将值赋给EditText et.setText(num1+8); @Override
public void onClick(View v) { //设置btn8的监听事件
btn8.setOnClickListener(new OnClickListener(){
});
沈阳理工大学
沈阳理工大学课程设计专用纸 No11
//设置btn9的监听事件
btn9.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) { }
//获取EditText中的值
String num1 = et.getText().toString(); //将num1后面连接9,然后再将值赋给EditText et.setText(num1+9);
});
//设置btn0的监听事件
btn0.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
//获取EditText中的值
String num1 = et.getText().toString();
//判断,如果0为首次输入,并且0为首位数字,则将下列按钮设为不可用 if(num1.length()<=0){
btn1.setEnabled(false); btn2.setEnabled(false); btn3.setEnabled(false); btn4.setEnabled(false); btn5.setEnabled(false); btn6.setEnabled(false); btn7.setEnabled(false); btn8.setEnabled(false); btn9.setEnabled(false); btn0.setEnabled(false); btnJieGuo.setEnabled(false); btnJia.setEnabled(false);
沈阳理工大学
沈阳理工大学课程设计专用纸 No12
}
btnJian.setEnabled(false); btnCheng.setEnabled(false); btnChu.setEnabled(false); et.setText(\
}else{
//如果0不为第一个数字,则将num1后面连接0,然后再将值赋给EditText }
et.setText(num1+0);
});
@Override
public void onClick(View v) {
//不论下列按钮可不可用,都将设为可用 btn1.setEnabled(true); btn2.setEnabled(true); btn3.setEnabled(true); btn4.setEnabled(true); btn5.setEnabled(true); btn6.setEnabled(true); btn7.setEnabled(true); btn8.setEnabled(true); btn9.setEnabled(true); btn0.setEnabled(true); btnJieGuo.setEnabled(true); btnJia.setEnabled(true); btnJian.setEnabled(true); btnCheng.setEnabled(true);
//设置btnPoint的监听事件
btnPoint.setOnClickListener(new OnClickListener(){
沈阳理工大学
沈阳理工大学课程设计专用纸 No13
btnChu.setEnabled(true); //获取EditText中的值
String num1 = et.getText().toString(); //此处方法是判断小数点是否存在
if(num1.indexOf(\检索“.”的index值,如果不存在,返回的是-1 //此处判断小数点是否在字符串的开头
if(num1.length()>0){
//如果不是在字符串的开头,则将num1后面连接“.”,然后再将值赋给EditText
}
et.setText(num1+\
}else{ }
//如果小数点在字符串的开头,则将EditText的值设为空 et.setText(\
}else{ }
//如果小数点在前面的数字中已经出现,则EditText的值不变 et.setText(num1);
});
//设置btnC的监听事件
btnC.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
btn1.setEnabled(true); btn2.setEnabled(true); btn3.setEnabled(true); btn4.setEnabled(true); btn5.setEnabled(true); btn6.setEnabled(true); btn7.setEnabled(true);
沈阳理工大学
沈阳理工大学课程设计专用纸 No14
btn8.setEnabled(true); btn9.setEnabled(true); btn0.setEnabled(true); btnJieGuo.setEnabled(true); btnJia.setEnabled(true); btnJian.setEnabled(true); btnCheng.setEnabled(true); btnChu.setEnabled(true); //清空EditText et.setText(\
//清空TextView }
textView01.setText(\//num1和num2的值归零 num1=0; num2=0;
});
//设置btnE的监听事件
btnE.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
//设置一个显式意图,用于CalculatorActivity和AboutActivity之间的跳转
}
Intent intent = new Intent(CalculatorActivity.this,MainActivity.class); startActivity(intent);
});
//设置btnJia的监听事件
btnJia.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
沈阳理工大学
沈阳理工大学课程设计专用纸 No15
//获取EditText的值
String num = et.getText().toString().trim();
//判断,如果EditText为空,则将EditText设置为空,如果不为空,则将EditText的
值转化为float类型
}
if(num.length()==0){
et.setText(\
}else{ }
//将符号\赋给TextView textView01.setText(\//清空EidtText et.setText(\
num1 = Float.parseFloat(num);
});
//设置btnJian的监听事件
btnJian.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
//获取EditText的值
String num = et.getText().toString().trim();
//判断,如果EditText为空,则将EditText设置为空,如果不为空,则将EditText的
值转化为float类型
if(num.length()==0){
et.setText(\
}else{ }
//将符号\赋给TextView textView01.setText(\
num1 = Float.parseFloat(num);
沈阳理工大学
沈阳理工大学课程设计专用纸 No16
}
//清空EidtText et.setText(\
});
//设置btnCheng的监听事件
btnCheng.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
//获取EditText的值
String num = et.getText().toString().trim();
//判断,如果EditText为空,则将EditText设置为空,如果不为空,则将EditText的
值转化为float类型
}
if(num.length()==0){
et.setText(\
}else{ }
//将符号\赋给TextView textView01.setText(\//清空EidtText et.setText(\
num1 = Float.parseFloat(num);
});
//设置btnChu的监听事件
btnChu.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
//获取EditText的值
String num = et.getText().toString().trim();
沈阳理工大学
沈阳理工大学课程设计专用纸 No17
//判断,如果EditText为空,则将EditText设置为空,如果不为空,则将EditText的
值转化为float类型
}
if(num.length()==0){
et.setText(\
}else{ }
//将符号\赋给TextView textView01.setText(\//清空EidtText et.setText(\
num1 = Float.parseFloat(num);
});
//设置btnJieGuo的监听事件
btnJieGuo.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
//获取EditText的值
String num22 = et.getText().toString().trim();
//判断,如果EditText的值为空,则将EditText的值设为空,如果不为空,则将EditText
的值转化为float类型
if(num22.length()<=0){
et.setText(\
}else{ }
//获取TextView的值
String fuhao = textView01.getText().toString().trim();
//如果TextView的符号为“+”,将num1和num2相加,并把值赋给EditText if(\
num2 = Float.parseFloat(num22);
沈阳理工大学
沈阳理工大学课程设计专用纸 No18
}
float numjiguo1 = num1 + num2; et.setText(\}else
//如果TextView的符号为“-”,将num1和num2相减,并把值赋给EditText if(\
float numjiguo1 = num1 - num2; et.setText(\}else
//如果TextView的符号为“*”,将num1和num2相乘,并把值赋给EditText if(\
float numjiguo1 = num1 * num2; et.setText(\
}else
//如果TextView的符号为“/”,将num1和num2相除,并把值赋给EditText
if(\
float numjiguo1 = num1 / num2; }
et.setText(\
});
//设置btnB的监听事件,此处为这只退格键
btnB.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
//不论下列按钮是否为可用,都将设置为可用 btn1.setEnabled(true); btn2.setEnabled(true); btn3.setEnabled(true); btn4.setEnabled(true); btn5.setEnabled(true);
沈阳理工大学
沈阳理工大学课程设计专用纸 No19
btn6.setEnabled(true); btn7.setEnabled(true); btn8.setEnabled(true); btn9.setEnabled(true); btn0.setEnabled(true); btnJieGuo.setEnabled(true); btnJia.setEnabled(true); btnJian.setEnabled(true); btnCheng.setEnabled(true); btnChu.setEnabled(true); //获取EditText的值
String num = et.getText().toString().trim(); //获得EditText的长度 int length = et.length();
//判断,如果EditText的长度大于0,则获取length-1的字符串赋给EditText,否则设
置EditText为空
}
if(length>0){
String numRe = num.substring(0, length-1); et.setText(numRe); }else{ }
et.setText(\
});
//设置btnA的监听事件
btnA.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
//设置一个显式意图,用于CalculatorActivity和AboutActivity之间的跳转
沈阳理工大学
沈阳理工大学课程设计专用纸 No20
Intent intent = new
Intent(CalculatorActivity.this,AboutActivity.class);
}
startActivity(intent);
}); } /**
* 定义一个方法,完成对个组件的初始化 */
void init(){
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); btn0 = (Button)findViewById(R.id.btn0);
btnPoint = (Button)findViewById(R.id.btnPiont); btnJia = (Button)findViewById(R.id.btnJia); btnJian = (Button)findViewById(R.id.btnJian); btnCheng = (Button)findViewById(R.id.btnCheng); btnChu = (Button)findViewById(R.id.btnChu); btnC = (Button)findViewById(R.id.btnC); btnE = (Button)findViewById(R.id.btnE); btnA = (Button)findViewById(R.id.btnA); btnB = (Button)findViewById(R.id.btnB);
btnJieGuo = (Button)findViewById(R.id.btnJieguo);
沈阳理工大学
沈阳理工大学课程设计专用纸 No21
et = (EditText)findViewById(R.id.ed);
textView01 = (TextView)findViewById(R.id.textView01);
}
}
3.2 布局文件XML的详细设计
布局文件main.xml编写布局代码如下:
android:background=\ android:gravity=\ >
三个Activity创建完成后,我们需要实现以下动作:在用户打开软件之后,点击“开始计算”,然后跳转到选择运算法则的界面,当用户输入数字点击加减乘除后运算得到结果。由此可见,在整个动作中,需要使用侦听代码来识别用户的操作,然后使用Intent来实现Activity的切换。
例如开始界面跳转到主界面:首先在“开始计算”按钮上设置侦听代码如下:
button1.setOnClickListener(new button1Listener());
沈阳理工大学
沈阳理工大学课程设计专用纸 No22
然后开始侦听,当用户点击“开始计算”时,启动Intent来将本界面切换到主界面,在这里需要JAVA中侦听的方法和Intent方法,代码如下
class button1Listener implements OnClickListener{
@Override
public void onClick(View v) { }
// TODO Auto-generated method stub //生成一个Intent对象 Intent intent = new Intent();
intent.setClass(jisuanqi.this, Activityone.class); jisuanqi.this.startActivity(intent);
}
在这句代码当中intent.setClass(jisuanqi.this, Activityone.class);是规定了本次跳转是从哪个Activity跳转到Activity,在这里是从jisuanqi.java跳转到Activity.java。
完成了Activity之间的切换,下面我们开始进行运算的编辑,在加法界面,我们编写如下代码来实现将用户输入的两个数传送到Intent中:
//生成一个Intent对象
//取得两个值
String FactorOnestr=FactorOne.getText().toString(); String FactorTwostr=FactorTwo.getText().toString(); //取得两个值放在Intent中 Intent intent = new Intent(); intent.putExtra(\intent.putExtra(\//使用这个Intent来激活答案页 intent.setClass(plus.this, resultplus.class); plus.this.startActivity(intent);
接下来要进行的是显示答案的Activity的编写,在这里我们要注意的是Intent传过来的是两个字符串,字符串是不能相加的,因此我们要将两个字符串强制转换为整形,然后才可以相加,代码如下:
plusresult = (TextView)findViewById(R.id.plusresult);
沈阳理工大学
沈阳理工大学课程设计专用纸 No23
//得到Intent对象当中的值 Intent intent = getIntent();
String FactorOnestr=FactorOne.getText().toString(); String FactorTwostr=FactorTwo.getText().toString();
//将字符串转为整形
Log.i(\ Log.i(\
//计算两数之和
int result = jiashuone + jiashutwo; plusresult.setText(result + \
减法,乘法,除法的界面类似于加法的界面,这里不再过多介绍了。
最后需要注意的是要在AndroidMainfest.xml文件中将所有的Activity进行注册,然后才可以运行。
沈阳理工大学
沈阳理工大学课程设计专用纸 No24
3.2 系统的运行结果
计算机运行的欢迎界面如图3.1所示:
图3.1 计算器进入欢迎界面
当用户点击“开始计算”进入主页面。 计算机的主页面如图3.2所示:
图3.2 计算机主界面
沈阳理工大学
沈阳理工大学课程设计专用纸 No25
结论
这次课程设计虽然很简单但是需要注意的地方很多,比如ID的声明,经常由于ID的问题出现程序出现错误。然后就是Activity的注册的问题,还有每个class创建要继承Activity,到后来计算的问题,然后开始找相关的资料才知道需要将字符串进行转换才能进行运算。这次课程设计真正的锻炼了我的的耐心和细心,虽然程序很简单,但是真正的从头编到尾才知道。努力解决调试中遇到的许多问题,这样可以在过程中才能更好地锻炼自己的能力,认识到自己的不足。通过这次课设认识到自己在编程中的缺陷,我查了不少的资料获益匪浅需要好好学习更深入的理解。
沈阳理工大学
沈阳理工大学课程设计专用纸 No26
参考文献
[1] 余志龙,陈昱勋. Google Android SDK开发范例大全(第二版)[M].人民邮电出版社.2010
[2] 王志超,王敏.基于Android平台的MP3播放器的分析与设计.[J].Forum论坛.2011.9 [3] 何晓杰. Android开发经验谈[J].移动开发大势图.2010.9 [4] Ed Burnette. Android 基础教程[ J ]. 人民邮电出版社.2010.8 [5] Google Android开发入门与实战
[6] Android开发者网站:http://developer.android.com [7] Android中文网: http://hiapk.com
沈阳理工大学
正在阅读:
android简单计算器课程设计要点03-03
xp每天定时关机命令05-23
二值图像处理的程序设计 形态学处理04-05
有趣的蛋壳作文300字06-16
山东青岛五年级地校课程(环境教育安全教育传统文化)教案全01-14
2015四川大学计算机网络期末复习要点02-27
午睡“风云”作文600字06-28
管理运筹学第三版习题答案(全)01-13
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 计算器
- 要点
- android
- 课程
- 简单
- 设计
- 英国文学史作家作品(常耀信) - 图文
- 高三化学三轮总复习 重点突破综合测试 高考模拟题
- 理工科大学生音乐素质培养的主要内容和发展方向
- 第45讲 合情推理与演绎推理
- 010-生产提供控制程序 - 图文
- 中小企业的税收筹划研究
- 肾病科试题
- 甘肃省白银市2013年中考数学试卷
- 高二导数数列教案龙华高二寒假
- 中国药科大学 药物化学 期末试卷
- 广东扶贫济困日捐款芳名- 中共开平市委市人民政府公众网
- 看上去很美观后感论文
- 北京交通大学电子测量期末复习资料
- 来煤县交规模拟考试精选第3套试题
- 江苏省高邮市龙虬初级中学八年级数学上册33勾股定理的简单
- 律师工作计划2018年度
- 医学三基考试复习题常见考题及答案(外科总论)
- 2012长江大学研招参考书目
- 基于能力风暴机器人的交互式程序设计实验报告
- 二年级语文复习题(一)