聪明文档网

聪明文档网

最新最全的文档下载
当前位置: 首页> android开发计算器课程设计

android开发计算器课程设计

时间:2015-12-01 13:53:23    下载该word文档

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中安装ADTDDMSGoogle Android相关插件。其运行环境已经相当稳定,它功能丰富,包括了完备的Android程序的编码、调试、测试和发布功能,其中支持所有Android应用开发相关技术,包括SQLiteSkia3D制作,Android XML,能够很好的发布Android的应用程序APK包。

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

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

1.2 系统的需求分析

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

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

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

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

第二章 系统详细设计

2.1 activity的详细设计

package com.example.counter;

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.TextView;

public class MainActivity extends Activity {

private TextView textView1 = null;

private Button buttonzone = null;

private Button button1 = null;

private Button button2 = null;

private Button button3 = null;

private Button button4 = null;

private Button button5 = null;

private Button button6 = null;

private Button button7 = null;

private Button button8 = null;

private Button button9 = null;

private Button buttonadd = null;

private Button buttonred = null;

private Button buttondiv = null;

private Button buttonmul = null;

private Button buttonpint = null;

private Button buttonbai = null;

private Button buttongen = null;

private Button buttonequal = null;

private String x="";

private String y="";

private double r1=0;

private double r2=0;

private int i=0;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

textView1 = (TextView)findViewById(R.id.textView1);

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

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

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

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

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

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

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

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

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

buttonzone = (Button)findViewById(R.id.button0);

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

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

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

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

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

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

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

buttonpint = (Button)findViewById(R.id.buttonpoint);

button1.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

x=x+"1";

y=y+"1";

textView1.setText(y);

}

});

button2.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

x=x+"2";

y=y+"2";

textView1.setText(y);

}

});

button3.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

x=x+"3";

y=y+"3";

textView1.setText(y);

}

});

button4.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

x=x+"4";

y=y+"4";

textView1.setText(y);

}

});

button5.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

x=x+"5";

y=y+"5";

textView1.setText(y);

}

});

button6.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

x=x+"6";

y=y+"6";

textView1.setText(y);

}

});

button7.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

x=x+"7";

y=y+"7";

textView1.setText(y);

}

});

button8.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

x=x+"8";

y=y+"8";

textView1.setText(y);

}

});

button9.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

x=x+"9";

y=y+"9";

textView1.setText(y);

}

});

buttonzone.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

x=x+"0";

y=y+"0";

textView1.setText(y);

}

});

buttonpint.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

if(x==""){

x=0+"."+"";

y=0+"."+"";

}

else {

x=x+".";

y=y+".";

textView1.setText(y);

}

}

});

buttonequal.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

if(x!=""){

r2=Double.parseDouble(x);

x="";

switch(i){

case 0:

textView1.setText(0+"");

break;

case 1:

textView1.setText((r1+r2)+"");

break;

case 2:

textView1.setText((r1-r2)+"");

break;

case 3:

textView1.setText((r1*r2)+"");

break;

case 4:

textView1.setText((r1/r2)+"");

break;

case 5:

textView1.setText((r1%r2)+"");

break;

}

}

else{

textView1.setText(0+"");

x="";

y="";

}

r1=0;

r2=0;

i=0;

x="";

y="";

}

});

buttonadd.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

if(x!=""){

r1=Double.parseDouble(x);

x="";

y=y+"+";

textView1.setText(y);

i=1;

}

else {

textView1.setText(0+"");

}

}

});

buttonred.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

if(x!=""){

r1=Double.parseDouble(x);

x="";

y=y+"-";

textView1.setText(y);

i=2;

}

else {

textView1.setText(0+"");

}

}

});

buttonmul.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

if(x!=""){

r1=Double.parseDouble(x);

x="";

y=y+"*";

textView1.setText(y);

i=3;

}

else {

textView1.setText(0+"");

}

}

});

buttondiv.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

if(x!=""){

r1=Double.parseDouble(x);

x="";

y=y+"/";

textView1.setText(y);

i=4;

}

else {

textView1.setText(0+"");

}

}

});

buttonbai.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

if(x!=""){

r1=Double.parseDouble(x);

x="";

y=y+"%";

textView1.setText(y);

i=5;

}

else {

textView1.setText(0+"");

}

}

});

buttongen.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

if(x!=""){

y="1/"+x;

textView1.setText(y);

r1=1/(Double.parseDouble(x));

x=r1+"";

}

else {

textView1.setText(0+"");

}

}

});

}

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

}

}

2.2 xml文件的详细设计

<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:orientation="horizontal"

android:layout_gravity="center"

android:columnCount="5"

android:rowCount="5"

tools:context=".MainActivity" >

<TextView

android:id="@+id/textView1"

android:layout_width="230dp"

android:layout_height="30dp"

android:layout_column="0"

android:layout_columnSpan="5"

android:layout_row="0"

android:gravity="right"

android:text="@string/result"

android:textSize="25sp" />

<Button

android:id="@+id/button7"

style="?android:attr/buttonStyleSmall"

android:layout_column="0"

android:layout_gravity="left|top"

android:layout_row="1"

android:text="@string/seleven" />

<Button

android:id="@+id/button8"

style="?android:attr/buttonStyleSmall"

android:layout_column="1"

android:layout_gravity="left|top"

android:layout_row="1"

android:text="@string/eight" />

<Button

android:id="@+id/button9"

style="?android:attr/buttonStyleSmall"

android:layout_column="2"

android:layout_gravity="left|top"

android:layout_row="1"

android:text="@string/nine" />

<Button

android:id="@+id/buttondiv"

style="?android:attr/buttonStyleSmall"

android:layout_column="3"

android:layout_gravity="left|top"

android:layout_row="1"

android:text="@string/div" />

<Button

android:id="@+id/buttonbai"

style="?android:attr/buttonStyleSmall"

android:layout_column="4"

android:layout_gravity="left|top"

android:layout_row="1"

android:text="@string/bai" />

<Button

android:id="@+id/button4"

style="?android:attr/buttonStyleSmall"

android:layout_column="0"

android:layout_gravity="left|top"

android:layout_row="2"

android:text="@string/four" />

<Button

android:id="@+id/button5"

style="?android:attr/buttonStyleSmall"

android:layout_column="1"

android:layout_gravity="left|top"

android:layout_row="2"

android:text="@string/five" />

<Button

android:id="@+id/button6"

style="?android:attr/buttonStyleSmall"

android:layout_column="2"

android:layout_gravity="left|top"

android:layout_row="2"

android:text="@string/six" />

<Button

android:id="@+id/buttonmul"

style="?android:attr/buttonStyleSmall"

android:layout_column="3"

android:layout_gravity="left|top"

android:layout_row="2"

android:text="@string/mul" />

<Button

android:id="@+id/buttongen"

style="?android:attr/buttonStyleSmall"

android:layout_column="4"

android:layout_gravity="left|top"

android:layout_row="2"

android:text="@string/gen" />

<Button

android:id="@+id/button1"

style="?android:attr/buttonStyleSmall"

android:layout_column="0"

android:layout_gravity="left|top"

android:layout_row="3"

android:text="@string/one" />

<Button

android:id="@+id/button2"

style="?android:attr/buttonStyleSmall"

android:layout_column="1"

android:layout_gravity="left|top"

android:layout_row="3"

android:text="@string/two" />

<Button

android:id="@+id/button3"

style="?android:attr/buttonStyleSmall"

android:layout_column="2"

android:layout_gravity="left|top"

android:layout_row="3"

android:text="@string/three" />

<Button

android:id="@+id/buttonred"

style="?android:attr/buttonStyleSmall"

android:layout_column="3"

android:layout_gravity="left|top"

android:layout_row="3"

android:text="@string/red" />

<Button

android:id="@+id/buttonequal"

style="?android:attr/buttonStyleSmall"

android:layout_width="50dp"

android:layout_column="4"

android:layout_gravity="fill_vertical"

android:layout_row="3"

android:layout_rowSpan="2"

android:text="@string/equal" />

<Button

android:id="@+id/button0"

style="?android:attr/buttonStyleSmall"

android:layout_column="0"

android:layout_gravity="fill"

android:layout_row="4"

android:layout_columnSpan="2"

android:text="@string/zone" />

<Button

android:id="@+id/buttonpoint"

style="?android:attr/buttonStyleSmall"

android:layout_column="2"

android:layout_gravity="left|top"

android:layout_row="4"

android:text="@string/point" />

<Button

android:id="@+id/buttonadd"

style="?android:attr/buttonStyleSmall"

android:layout_column="3"

android:layout_gravity="left|top"

android:layout_row="4"

android:text="@string/add" />

GridLayout>

第三章 测试运行及总结

3.1 界面截图

3.2 运行界面截图

3.3运行结果截图

3.4 总结

这次课程设计虽然很简单但是需要注意的地方很多,比如ID的声明,经常由于ID的问题出现程序出现错误。然后就是Activity的注册的问题,还有每个class创建要继承Activity,到后来计算的问题,然后开始找相关的资料才知道需要将字符串进行转换才能进行运算。这次课程设计真正的锻炼了我的的耐心和细心,虽然程序很简单,但是真正的从头编到尾才知道。努力解决调试中遇到的许多问题,这样可以在过程中才能更好地锻炼自己的能力,认识到自己的不足。通过这次课设认识到自己在编程中的缺陷,我查了不少的资料获益匪浅需要好好学习更深入的理解。

免费下载 Word文档免费下载: android开发计算器课程设计

  • 29.8

    ¥45 每天只需1.0元
    1个月 推荐
  • 9.9

    ¥15
    1天
  • 59.8

    ¥90
    3个月

选择支付方式

  • 微信付款
郑重提醒:支付后,系统自动为您完成注册

请使用微信扫码支付(元)

订单号:
支付后,系统自动为您完成注册
遇到问题请联系 在线客服

常用手机号:
用于找回密码
图片验证码:
看不清?点击更换
短信验证码:
新密码:
 
绑定后可用手机号登录
请不要关闭本页面,支付完成后请点击【支付完成】按钮
遇到问题请联系 在线客服