您的位置:首页 > 其它

四则运算——安卓客户端

2016-04-06 19:30 459 查看
具体见小伙伴博客

version 1.0

http://www.cnblogs.com/ly199553/p/5339231.html

version 2.0

http://www.cnblogs.com/ly199553/p/5351593.html

version 3.0

首先贴出界面UI









源代码:

主程序MainActivity

package com.team.randomcal;

import java.util.Timer;
import java.util.TimerTask;

import android.os.Bundle;

import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.Window;
import android.view.WindowManager;
import android.webkit.WebView;

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//去掉标题栏
requestWindowFeature(Window.FEATURE_NO_TITLE);
//全屏
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.activity_main);
WebView runWebView=null;
runWebView = (WebView) findViewById(R.id.runWebView);
runWebView.loadDataWithBaseURL(null,"<HTML><body bgcolor='#f3f3f3'><div align=center><IMG src='file:///android_asset/+-.gif'/></div></body></html>", "text/html", "UTF-8",null);

SysApplication.getInstance().addActivity(this);
//延时换屏
final Intent intent=new Intent();
Timer timer=new Timer();
TimerTask task = new TimerTask() {
@Override
public void run() {
intent.setClass(MainActivity.this, homeactivity.class);
startActivity(intent);
}
};
timer.schedule(task, 7000);   //延时7秒
}

}


Culculter.java

package com.team.randomcal;

import java.util.*;

import android.app.Activity;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.*;

public class Calculter extends Activity{
private TextView textView1;  //标题
private TextView textView2;  //输入题目数
private TextView yun1;     //运算数1
private TextView yun2;     //运算数2
private TextView symbol;     //运算符
private TextView num;     //出题数

private Button start;     //开始按钮
private Button check;     //核对答案
private Button next;     //下一道题
private Button again;    //再来一次

private EditText answer;   //答案
private EditText shumu;   //数目

private int value1;
private int value2;
private int result;  //结果
private int j=1;    //设置题目序号
private int rightnum=0;  //判断正确的题目数
private int errornum=0;  //判断错误的题目数

protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.callayout);   //进入出题界面
InitButton();    //初始化控件

//开始按钮的点击事件监听
start.setOnClickListener
(
new OnClickListener()
{
public void onClick(View v)
{
Toast toast;    //提醒
//判断输入题目为空或零时
if(shumu.getText().toString().equals("")==true||Integer.parseInt(shumu.getText().toString())==0)
{
toast=Toast.makeText(getApplicationContext(), "请输入题目数量", Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER, 0, 0);  //Toast 居中显示
toast.show();
}
else
{
dotitle();   //生成题目
}
}
}
);

//检查按钮
check.setOnClickListener
(
new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub

Toast toast;    //提醒
//判断输入答案为空时
if(answer.getEditableText().toString().equals("")==true)
{
toast=Toast.makeText(getApplicationContext(), "请输入答案", Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER, 0, 0);  //Toast 居中显示
toast.show();
}
else
{
value1=Integer.parseInt(yun1.getText().toString());
value2=Integer.parseInt(yun2.getText().toString());

//加法判断
if(symbol.getText().toString().equals("+")==true)
{
result=value1+value2;
int number1=Integer.parseInt(answer.getText().toString());
//答案判断
if(result==number1)
{
toast=Toast.makeText(getApplicationContext(), "恭喜你答对了!", Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER, 0, 0);  //Toast 居中显示
toast.show();
rightnum++;
}
else
{
toast=Toast.makeText(getApplicationContext(), "抱歉你答错了!"+"\n"+"答案是"+result, Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER, 0, 0);  //Toast 居中显示
toast.show();
errornum++;
}
}
//减法判断
if(symbol.getText().toString().equals("-")==true)
{
result=value1-value2;
int number1=Integer.parseInt(answer.getText().toString());
//答案判断(为负数重新生成)
if(result<0)
{
toast=Toast.makeText(getApplicationContext(), "答案为负请按下一题", Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER, 0, 0);  //Toast 居中显示
toast.show();
j--;
}
else
{
if(result==number1)
{
toast=Toast.makeText(getApplicationContext(), "恭喜你答对了!", Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER, 0, 0);  //Toast 居中显示
toast.show();
rightnum++;
}
else
{
toast=Toast.makeText(getApplicationContext(), "抱歉你答错了!"+"\n"+"答案是"+result, Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER, 0, 0);  //Toast 居中显示
toast.show();
errornum++;
}
}
}

//乘法判断
//加法判断
if(symbol.getText().toString().equals("*")==true)
{
result=value1*value2;
int number1=Integer.parseInt(answer.getText().toString());
//答案判断
if(result==number1)
{
toast=Toast.makeText(getApplicationContext(), "恭喜你答对了!", Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER, 0, 0);  //Toast 居中显示
toast.show();
rightnum++;
}
else
{
toast=Toast.makeText(getApplicationContext(), "抱歉你答错了!"+"\n"+"答案是"+result, Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER, 0, 0);  //Toast 居中显示
toast.show();
errornum++;
}
}
//除法判断
//加法判断
if(symbol.getText().toString().equals("/")==true)
{
result=value1/value2;
int number1=Integer.parseInt(answer.getText().toString());
//答案判断
if(result==number1)
{
toast=Toast.makeText(getApplicationContext(), "恭喜你答对了!", Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER, 0, 0);  //Toast 居中显示
toast.show();
rightnum++;
}
else
{
toast=Toast.makeText(getApplicationContext(), "抱歉你答错了!"+"\n"+"答案是"+result, Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER, 0, 0);  //Toast 居中显示
toast.show();
errornum++;
}
}
}
}

}
);

//下一题点击事件监听
next.setOnClickListener
(
new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub

Toast toast;
//判断是否写出题目的答案
if(answer.getEditableText().toString().equals("")==true)
{
toast=Toast.makeText(getApplicationContext(), "请输入答案!", Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER, 0, 0);  //Toast 居中显示
toast.show();
}
else
{
if(j==Integer.parseInt(shumu.getText().toString()))
{
toast=Toast.makeText(getApplicationContext(), "您已经完成本次测试!"+"\n"+"你共答对"+rightnum+"题 答错"+errornum+"题", Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER, 0, 0);  //Toast 居中显示
toast.show();
}
else
{
yun1.setText("");
yun2.setText("");
symbol.setText("");
answer.setText("");  //清空答案
num.setText("");
j++;
dotitle();

}
}
}
}
);

//again按钮的事件监听
again.setOnClickListener
(
new OnClickListener() {

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Toast toast;

toast=Toast.makeText(getApplicationContext(), "请开始你的答题!", Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER, 0, 0);  //Toast 居中显示
toast.show();
//清空原有的值
shumu.setText("");
yun1.setText("");
yun2.setText("");
symbol.setText("");
answer.setText("");  //清空答案
num.setText("");
rightnum=0;
errornum=0;
j=1;
}
}
);
}

//初始化控件
public void InitButton()
{
//从布局中获取控件
textView1=(TextView)findViewById(R.id.count_text1);
textView2=(TextView)findViewById(R.id.count_text2);
yun1=(TextView)findViewById(R.id.yun1);
yun2=(TextView)findViewById(R.id.yun2);
symbol=(TextView)findViewById(R.id.symbol);
num=(TextView)findViewById(R.id.num);  //第几题

shumu=(EditText)findViewById(R.id.shumu);
answer=(EditText)findViewById(R.id.answer);

start=(Button)findViewById(R.id.start);
next=(Button)findViewById(R.id.next);
check=(Button)findViewById(R.id.check);
again=(Button)findViewById(R.id.again);
}

//增加按钮监听否则程序会意外退出
public void buttonListener(Button button,final int id)
{
button.setOnClickListener
(
new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
yun1.setText("");
yun2.setText("");
symbol.setText("");
num.setText("");
answer.setText("");
}
}
);
}
//出题函数
public void dotitle()
{
String a="";
String b="";

int k=0,p=30;  //0-30
//生成0-30的两个随机数
a=String.valueOf((int)(Math.random()*p+k));
b=String.valueOf((int)(Math.random()*p+k));
String []op={"+","-","*","/"};
Random r=new Random(); //默认当前系统时间的毫秒数作为种子数
int d=r.nextInt(4);   //随机数的上限为4(不包括)

//加入判断(除法除数为0 重新生成除数)
while(b=="0")
{
b=String.valueOf((int)(Math.random()*p+k));
}

yun1.setText(a);
yun2.setText(b);
symbol.setText(op[d]);
num.setText(String.valueOf(j));
}

}


countActivity.java

package com.team.randomcal;

import java.util.Random;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;

import android.view.Gravity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;

public class countActivity extends Activity implements OnClickListener{

//定义按钮
private TextView counttext1,counttext2;
private Button ResultBtn;
private Button b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13;
private int result=0;
private String op_fen;
private int sum_title = 0, true_title = 0, flase_title = 0;//判断题目正确数
private String []op_fu={"+","-","x","÷"};
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.countlayout);
SysApplication.getInstance().addActivity(this);
InitButton();  //初始化按钮
//注册按钮监听
b0.setOnClickListener(this);
b1.setOnClickListener(this);
b2.setOnClickListener(this);
b3.setOnClickListener(this);
b4.setOnClickListener(this);
b5.setOnClickListener(this);
b6.setOnClickListener(this);
b7.setOnClickListener(this);
b8.setOnClickListener(this);
b9.setOnClickListener(this);
b10.setOnClickListener(this);
b11.setOnClickListener(this);
b12.setOnClickListener(this);
b13.setOnClickListener(this);

//获得传递性息
Intent intent=getIntent();
final String info=intent.getStringExtra("info");

//出题
if(info.equals("easy"))
{
dotitle1();
}
else if(info.equals("advance"))
{
dotitle2();
}
else if(info.equals("raise"))
{
dotitle3();
}
else
{
dotitle4();
}
//结果判断
ResultBtn.setOnClickListener(new OnClickListener()
{

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Toast toast;
if(op_fen .equals(counttext2.getText().toString()))
{
true_title++;
sum_title++;
//带图片的toast
toast=Toast.makeText(countActivity.this, "恭喜你答对了!", Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER, 0, 0);// 中间显示
LinearLayout toastLayout = (LinearLayout) toast.getView();
ImageView imageView = new ImageView(getApplicationContext());
imageView.setImageResource(R.drawable.xiao);
toastLayout.addView(imageView, 0);// 0 图片在文字的上方
toast.show();

}
else
{
flase_title++;
sum_title++;
toast=Toast.makeText(countActivity.this, "答错了!答案是:"+op_fen, Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER, 0, 0);// 中间显示
LinearLayout toastLayout = (LinearLayout) toast.getView();
ImageView imageView = new ImageView(getApplicationContext());
imageView.setImageResource(R.drawable.ku);
toastLayout.addView(imageView, 0);// 0 图片在文字的上方
toast.show();
}
//清空
counttext2.setText("");
//再次出题
if(info.equals("easy"))
{
dotitle1();
}
else if(info.equals("advance"))
{
dotitle2();
}
else if(info.equals("raise"))
{
dotitle3();
}
else
{
Random r=new Random();
int j=r.nextInt(2);
if(j==0)
dotitle3();
else
dotitle4();
}
}

}
);
}

public boolean onCreateOptionsMenu(Menu menu)
{
getMenuInflater().inflate(R.menu.count,menu);
return true;
}
//响应菜单事件
public boolean onOptionsItemSelected(MenuItem item)
{
Toast toast;
switch(item.getItemId())
{

case R.id.count_item1:
toast=Toast.makeText(this, "暂无可用信息", Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER, 0, 0);// 中间显示
toast.show();
break;
case R.id.count_item2:
toast=Toast.makeText(this, "您答对"+true_title+"道题,答错"+flase_title+"道题,正确率"+Rate()+"%", Toast.LENGTH_LONG);
toast.setGravity(Gravity.CENTER, 0, 0);// 中间显示
toast.show();
break;
default:
toast=Toast.makeText(this, "下次再接再厉", Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER, 0, 0);// 中间显示
toast.show();
finish();    //退出本次活动和back键一样
break;
}
return super.onOptionsItemSelected(item);
}
//计算正确率
public double Rate()
{
return Math.round(((double)true_title/sum_title)*100);
}

public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId())
{
case R.id.b0:
counttext2.append("0");
break;
case R.id.b1:
counttext2.append("1");
break;
case R.id.b2:
counttext2.append("2");
break;
case R.id.b3:
counttext2.append("3");
break;
case R.id.b4:
counttext2.append("4");
break;
case R.id.b5:
counttext2.append("5");
break;
case R.id.b6:
counttext2.append("6");
break;
case R.id.b7:
counttext2.append("7");
break;
case R.id.b8:
counttext2.append("8");
break;
case R.id.b9:
counttext2.append("9");
break;
case R.id.b10:
counttext2.setText("");  //清除
break;
case R.id.b11:
counttext2.append(".");
break;
case R.id.b12:
counttext2.append("-");   //负号
break;
case R.id.b13:
counttext2.append("/");   //分号
break;

}
}
//初始化控件
public void InitButton()
{
counttext1=(TextView)findViewById(R.id.count_text1);
counttext2=(TextView)findViewById(R.id.count_text2);
ResultBtn=(Button)findViewById(R.id.b15);
b0=(Button)findViewById(R.id.b0);
b1=(Button)findViewById(R.id.b1);
b2=(Button)findViewById(R.id.b2);
b3=(Button)findViewById(R.id.b3);
b4=(Button)findViewById(R.id.b4);
b5=(Button)findViewById(R.id.b5);   //5
b6=(Button)findViewById(R.id.b6);
b7=(Button)findViewById(R.id.b7);
b8=(Button)findViewById(R.id.b8);
b9=(Button)findViewById(R.id.b9);
b10=(Button)findViewById(R.id.b10);
b11=(Button)findViewById(R.id.b11);
b12=(Button)findViewById(R.id.b12);
b13=(Button)findViewById(R.id.b13);
}
//出题
public void dotitle1()     //只做加减
{
int num1=0;
int num2=0;
//String op_yun;    //保存表达式
Random r=new Random(); //默认当前系统时间的毫秒数作为种子数
int sign=r.nextInt(4);   //符号随机数的上限为4(不包括)

num1=(int)(1+Math.random()*30);   //0-30随机数
num2=(int)(1+Math.random()*30);

if(sign % 2 == 0){
//加法
counttext1.setText(num1+"+"+num2);
result = num1+num2;
op_fen=String.valueOf(result);
}else{
//减法
counttext1.setText(num1+"-"+num2);
result = num1-num2;
op_fen=String.valueOf(result);
}

}

public void dotitle2()   //加减乘除
{
int num1=0;
int num2=0;
//String op_yun;    //保存表达式
num1=(int)(1+Math.random()*30);   //0-30随机数
num2=(int)(1+Math.random()*30);

int g=0;   //公约数
Random r=new Random(); //默认当前系统时间的毫秒数作为种子数
int sign=r.nextInt(4);   //符号随机数的上限为4(不包括)
if(sign == 0){
//加法
counttext1.setText(num1+"+"+num2);
result = num1+num2;
op_fen=String.valueOf(result);

}else if(sign == 1){
//减法
counttext1.setText(num1+"-"+num2);
result = num1-num2;
op_fen=String.valueOf(result);
}
else if(sign == 2){
//乘法
counttext1.setText(num1+"x"+num2);
result = num1*num2;
op_fen=String.valueOf(result);
}
else{
//除法
counttext1.setText(num1+"÷"+num2);

//除不尽 化为分数
if((num1%num2)!=0)
{
g=div_cl(num1, num2);
fen_cl(num1,num2,g);
}
else
{
result = num1/num2;
op_fen=String.valueOf(result);
}
}
}

public void dotitle3()   //分数加减实现
{
int z_num1=0;    //第一个数分子
z_num1=(int)(1+Math.random()*30);   //0-30随机数
int m_num1=0;   //第一个数分母
m_num1=(int)(1+Math.random()*30);   //0-30随机数
int z_num2=0;    //第二个数分子
z_num2=(int)(1+Math.random()*30);
int m_num2=0;    //第二个数分母
m_num2=(int)(1+Math.random()*30);

Random r=new Random(); //默认当前系统时间的毫秒数作为种子数
int sign=r.nextInt(4);   //符号随机数的上限为4(不包括)
int sum_z=0;
int sum_m=0;
int g=0;  //公约数
if(sign == 0){  //分数加法

counttext1.setText(z_num1+"/"+m_num1+"+"+z_num2+"/"+m_num2);
sum_z=z_num1*m_num2+z_num2*m_num1;
sum_m=m_num1*m_num2;
//求分子分母最大公约数
g=div_cl(sum_z,sum_m);
//化简为最简真分数
fen_cl(sum_z,sum_m,g);
}
else if(sign == 1)   //减法
{
counttext1.setText(z_num1+"/"+m_num1+"-"+z_num2+"/"+m_num2);

sum_z=(z_num1*m_num2)-(z_num2*m_num1);
while(sum_z<0)
{
//重新生成
z_num1=(int)(1+Math.random()*30);   //0-30随机数
m_num1=(int)(1+Math.random()*30);   //0-30随机数
z_num2=(int)(1+Math.random()*30);
m_num2=(int)(1+Math.random()*30);
sum_z=(z_num1*m_num2)-(z_num2*m_num1);
}
sum_m=m_num1*m_num2;
g=div_cl(sum_z, sum_m);
fen_cl(sum_z, sum_m, g);
}
else if(sign == 2)  //乘法
{
counttext1.setText(z_num1+"/"+m_num1+"x"+z_num2+"/"+m_num2);
sum_z=z_num1*z_num2;
sum_m=m_num2*m_num1;
g=div_cl(sum_z, sum_m);
fen_cl(sum_z, sum_m, g);
}
else   //除法
{
counttext1.setText(z_num1+"/"+m_num1+"÷"+z_num2+"/"+m_num2);

sum_z=z_num1*m_num2;
sum_m=z_num2*m_num1;
g=div_cl(sum_z, sum_m);
fen_cl(sum_z, sum_m, g);
}
}

//求公约数
public int div_cl(int x,int y)
{
int t;
while(y!=0)
{
t=x%y;
x=y;
y=t;
}
return x;

}

//分数表示
public void fen_cl(int a,int b,int g)
{
String s_z,s_m;
if(g==1)
{
if(a!=b)
{
s_z=String.valueOf(a);
s_m=String.valueOf(b);
op_fen=s_z+"/"+s_m;   //表达式
}
else
{
s_z=String.valueOf(1);
op_fen=s_z;
}
}
else
{
int x=a/g;
int y=b/g;
if(y==1)
{
s_z=String.valueOf(x);
op_fen=s_z;
}
else
{
s_z=String.valueOf(x);
s_m=String.valueOf(y);
op_fen=s_z+"/"+s_m;   //表达式
}
}

}

public void  dotitle4()
{
//产生括号的计算式(三个数)
int num1=0;
int num2=0;
int num3=0;
int ch=0;  //情况选择

//String op_yun;    //保存表达式
num1=(int)(1+Math.random()*30);   //0-30随机数
num2=(int)(1+Math.random()*30);
num3=(int)(1+Math.random()*30);
int g=0;   //公约数
Random r=new Random(); //默认当前系统时间的毫秒数作为种子数
int sign1=r.nextInt(4);   //符号随机数的上限为4(不包括)
ch=r.nextInt(2);    //判断是否有括号
int sign2=r.nextInt(4);
if(ch==1)
{
counttext1.setText("("+num1+OP(sign1)+num2+")"+OP(sign2)+num3);
if(OP(sign1)!="÷")
{
if(OP(sign2)!="÷")
{
result=yunsuan1((yunsuan1(num1,num2,sign1)),num3,sign2);
op_fen=String.valueOf(result);
}
else
{
int x=yunsuan1(num1,num2,sign1);
g=div_cl(x,num3);
fen_cl(x,num3,g);
}
}
else
{
//看成两个分数的运算
g=div_cl(num1,num2);
yunsuan2(num1,num2,num3,1,sign2,g);
}
}
else
{
counttext1.setText(num1+OP(sign1)+"("+num2+OP(sign2)+num3+")");

if(OP(sign2)!="÷")
{
if(OP(sign1)!="÷")
{
result=yunsuan1(num1,(yunsuan1(num2,num3,sign2)),sign1);
op_fen=String.valueOf(result);
}
else
{
int x=yunsuan1(num2,num3,sign1);
g=div_cl(num1,x);
fen_cl(num1,x,g);
}
}
else
{
//看成两个分数的运算
g=div_cl(num2,num3);
yunsuan2(num1,1,num2,num3,sign1,g);
}
}

}
public String OP(int k)
{
return op_fu[k];
}
//运算
public void yunsuan2(int z_num1,int m_num1,int z_num2,int m_num2,int sign ,int g)
{
int sum_z=0;
int sum_m=0;
if(sign == 0){  //分数加法
sum_z=z_num1*m_num2+z_num2*m_num1;
sum_m=m_num1*m_num2;
//求分子分母最大公约数
g=div_cl(sum_z,sum_m);
//化简为最简真分数
fen_cl(sum_z,sum_m,g);
}
else if(sign == 1)   //减法
{

sum_z=(z_num1*m_num2)-(z_num2*m_num1);
while(sum_z<0)
{
//重新生成
z_num1=(int)(1+Math.random()*30);   //0-30随机数
m_num1=(int)(1+Math.random()*30);   //0-30随机数
z_num2=(int)(1+Math.random()*30);
m_num2=(int)(1+Math.random()*30);
sum_z=(z_num1*m_num2)-(z_num2*m_num1);
}
sum_m=m_num1*m_num2;
g=div_cl(sum_z, sum_m);
fen_cl(sum_z, sum_m, g);
}
else if(sign == 2)  //乘法
{
sum_z=z_num1*z_num2;
sum_m=m_num2*m_num1;
g=div_cl(sum_z, sum_m);
fen_cl(sum_z, sum_m, g);
}
else   //除法
{
sum_z=z_num1*m_num2;
sum_m=z_num2*m_num1;
g=div_cl(sum_z, sum_m);
fen_cl(sum_z, sum_m, g);
}
}

public int yunsuan1(int num1,int num2,int sign)
{
if(sign == 0){
//加法
return num1+num2;

}else if(sign == 1){
//减法
return num1*num2;
}
else if(sign == 2){
//乘法
return num1*num2;
}
else{
//除法
if(num1%num2==0)
return num1/num2;
else
{
return 0xffff;
}
}
}
}


homeactivity.java

package com.team.randomcal;

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;

public class homeactivity extends Activity {

private Button startbtn,aboutbtn,exitbtn;

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.home_footbar_layout);

SysApplication.getInstance().addActivity(this);
InitButton();  //初始化按钮

//开始游戏
startbtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent intent = new Intent();
intent.setClass(homeactivity.this, selectActivity.class);
startActivity(intent);
}
});

//关于信息

//退出游戏
exitbtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub

//退出整个应用程序
SysApplication.getInstance().exit();
}
});
}

public void InitButton()
{
startbtn=(Button)findViewById(R.id.start_app);
aboutbtn=(Button)findViewById(R.id.about_game);
exitbtn=(Button)findViewById(R.id.exit_app);

}
}


selectActivity.java

package com.team.randomcal;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.*;
import android.widget.Button;

public class selectActivity extends Activity {

private Button simplebtn,adbtn,rabtn,diffbtn;
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.select_layout);

SysApplication.getInstance().addActivity(this);
InitButton();  //初始化按钮

//入门按钮事件
simplebtn.setOnClickListener(new OnClickListener()
{

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
//向下一个传递参数
String data="easy";
Intent intent=new Intent();
intent.setClass(selectActivity.this, countActivity.class);
intent.putExtra("info", data);
startActivity(intent);
}
}
);

//进阶按钮
adbtn.setOnClickListener(new OnClickListener()
{

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
//向下一个传递参数
String data="advance";
Intent intent=new Intent();
intent.setClass(selectActivity.this, countActivity.class);
intent.putExtra("info", data);
startActivity(intent);
}
}
);

//提升按钮
rabtn.setOnClickListener(new OnClickListener()
{

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
//向下一个传递参数
String data="raise";
Intent intent=new Intent();
intent.setClass(selectActivity.this, countActivity.class);
intent.putExtra("info", data);
startActivity(intent);
}
}
);

//困难按钮
diffbtn.setOnClickListener(new OnClickListener()
{

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
//向下一个传递参数
String data="difficult";
Intent intent=new Intent();
intent.setClass(selectActivity.this, countActivity.class);
intent.putExtra("info", data);
startActivity(intent);
}
}
);
}

//初始化按钮
public void InitButton()
{
simplebtn=(Button)findViewById(R.id.easy);
adbtn=(Button)findViewById(R.id.advance);
rabtn=(Button)findViewById(R.id.raise1);
diffbtn=(Button)findViewById(R.id.different);
}
}


SysApplication.java

package com.team.randomcal;

import java.util.LinkedList;
import java.util.List;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Application;
import android.content.DialogInterface;
import android.content.Intent;

public class SysApplication extends Application {
private List<Activity> mList = new LinkedList<Activity>();
private static SysApplication instance;

private SysApplication() {
}
public synchronized static SysApplication getInstance() {
if (null == instance) {
instance = new SysApplication();
}
return instance;
}
// add Activity
public void addActivity(Activity activity) {
mList.add(activity);
}

public void exit() {
try {
for (Activity activity : mList) {
if (activity != null)
activity.finish();
}
} catch (Exception e) {
e.printStackTrace();
} finally {
System.exit(0);
}
}
public void onLowMemory() {
super.onLowMemory();
System.gc();
}
}


UI源代码:

activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#F3F3F3"
>

<WebView
android:id="@+id/runWebView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true" />

<TextView
android:id="@+id/fullscreen_content"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/runWebView"
android:layout_centerHorizontal="true"
android:gravity="center"
android:keepScreenOn="true"
android:text="正在加载请等待..."
android:textColor="#33b5e5"
android:textSize="30sp"
android:textStyle="bold" />

</RelativeLayout>


countlayout.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<LinearLayout
android:layout_width="match_parent"
android:layout_height="147dp"
android:background="@drawable/bk0"
android:orientation="vertical" >

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >

<TextView
android:id="@+id/count_text1"
android:layout_width="match_parent"
android:layout_height="73dp"
android:gravity="center_vertical"
android:textSize="33sp" />
</LinearLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" >

<TextView
android:id="@+id/count_text2"
android:layout_width="match_parent"
android:layout_height="82dp"
android:layout_gravity="right|center_vertical"
android:textSize="40sp" />
</LinearLayout>
</LinearLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="78dp" >

<Button
android:id="@+id/b1"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="1.0"
android:layout_marginLeft="3dp"
android:background="@drawable/s1"
android:text="@string/one"
android:textSize="40sp" />

<Button
android:id="@+id/b2"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="1.0"
android:layout_marginLeft="5dp"
android:background="@drawable/s2"
android:text="@string/two"
android:textSize="40sp" />

<Button
android:id="@+id/b3"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="1.0"
android:layout_marginLeft="5dp"
android:layout_marginRight="2dp"
android:background="@drawable/s3"
android:text="@string/three"
android:textSize="40sp" />

<Button
android:id="@+id/b10"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_marginLeft="5dp"
android:layout_weight="1.0"
android:background="@drawable/sc"
android:text="@string/back"
android:textSize="40sp" />

</LinearLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="79dp" >

<Button
android:id="@+id/b4"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="1.0"
android:background="@drawable/s4"
android:text="@string/four"
android:textSize="40sp" />

<Button
android:id="@+id/b5"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="1.0"
android:background="@drawable/s5"
android:text="@string/five"
android:textSize="40sp" />

<Button
android:id="@+id/b6"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="1.0"
android:background="@drawable/s6"
android:text="@string/six"
android:textSize="40sp" />

<Button
android:id="@+id/b11"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="1.0"
android:background="@drawable/sp"
android:text="@string/point"
android:textSize="40sp" />

</LinearLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="78dp" >

<Button
android:id="@+id/b7"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="1.0"
android:background="@drawable/s7"
android:text="@string/seven"
android:textSize="40sp" />

<Button
android:id="@+id/b8"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="1.0"
android:background="@drawable/s8"
android:text="@string/eight"
android:textSize="40sp" />

<Button
android:id="@+id/b9"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="1.0"
android:background="@drawable/s9"
android:text="@string/nine"
android:textSize="40sp" />

<Button
android:id="@+id/b12"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="1.0"
android:background="@drawable/sp"
android:text="@string/minus"
android:textSize="40sp" />

</LinearLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent" >

<Button
android:id="@+id/b13"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="1.0"
android:background="@drawable/sp"
android:text="@string/diagonal"
android:textSize="40sp" />

<Button
android:id="@+id/b0"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="1.0"
android:background="@drawable/s0"
android:text="@string/zero"
android:textSize="40sp" />

<Button
android:id="@+id/b15"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="1.0"
android:background="@drawable/sf"
android:text="@string/affirm"
android:textSize="40sp" />
</LinearLayout>

</LinearLayout>


home_footbar_layout.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/LinearLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:background="@drawable/bottom_bg" >

<LinearLayout
android:id="@+id/bottom_home_layout_ly"
android:layout_width="64dip"
android:layout_height="match_parent"
android:layout_marginTop="4dip"
android:layout_weight="1"
android:background="@drawable/home_bottom_style"
android:orientation="vertical" >

<ImageView
android:id="@+id/home_bottom_home_bn"
android:layout_width="28dip"
android:layout_height="28dip"
android:layout_gravity="center"
android:background="@drawable/bottom_home_bn_style" />

<TextView
android:id="@+id/home_bottom_home_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center_horizontal"
android:paddingTop="2dip"
android:text="@string/home_tv"
android:textColor="@android:color/white"
android:textSize="10dip"
android:textStyle="bold" />
</LinearLayout>

1

<LinearLayout
android:id="@+id/bottom_cam_layout_ly"
android:layout_width="64dip"
android:layout_height="match_parent"
android:layout_marginTop="4dip"
android:layout_weight="1"
android:background="@drawable/home_bottom_style"
android:orientation="vertical" >

<ImageView
android:id="@+id/home_bottom_cam_bn"
android:layout_width="43dip"
android:layout_height="33dip"
android:layout_gravity="center"
android:layout_marginTop="5dip"
android:background="@drawable/bottom_cam_bn_style" />
</LinearLayout>

<LinearLayout
android:id="@+id/bottom_shopping_layout_ly"
android:layout_width="64dip"
android:layout_height="match_parent"
android:layout_marginTop="4dip"
android:layout_weight="1"
android:background="@drawable/home_bottom_style"
android:orientation="vertical" >

<ImageView
android:id="@+id/home_bottom_shopping_bn"
android:layout_width="28dip"
android:layout_height="30dip"
android:layout_gravity="center"
android:background="@drawable/bottom_shopping_bn_style" />

<TextView
android:id="@+id/home_bottom_shopping_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center_horizontal"
android:paddingTop="2dip"
android:text="@string/shopping_tv"
android:textColor="@android:color/white"
android:textSize="10dip"
android:textStyle="bold" />
</LinearLayout>

<LinearLayout
android:id="@+id/bottom_show_layout_ly"
android:layout_width="64dip"
android:layout_height="match_parent"
android:layout_marginTop="4dip"
android:layout_weight="1"
android:background="@drawable/home_bottom_style"
android:orientation="vertical" >

<ImageView
android:id="@+id/home_bottom_show_bn"
android:layout_width="28dip"
android:layout_height="30dip"
android:layout_gravity="center"
android:background="@drawable/bottom_show_bn_style" />

<TextView
android:id="@+id/home_bottom_show_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:paddingTop="2dip"
android:text="@string/show_tv"
android:textColor="@android:color/white"
android:textSize="10dip"
android:textStyle="bold" />
</LinearLayout>
</LinearLayout>

<RelativeLayout
android:id="@+id/RelativeLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="0dp"
android:background="@drawable/g122"
android:orientation="vertical" >

<Button
android:id="@+id/start_app"
android:layout_width="200dp"
android:layout_height="60dp"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="60dp"
android:layout_marginTop="50dp"
android:background="@drawable/y1"
android:paddingLeft="50dp"
android:text="@string/start_game"
android:textSize="28sp" />

<Button
android:id="@+id/about_game"
android:layout_width="200dp"
android:layout_height="60dp"
android:layout_alignParentLeft="true"
android:layout_below="@+id/start_app"
android:layout_marginLeft="60dp"
android:layout_marginTop="50dp"
android:background="@drawable/y1"
android:paddingLeft="50dp"
android:text="@string/about"
android:textSize="28sp" />

<Button
android:id="@+id/exit_app"
android:layout_width="200dp"
android:layout_height="60dp"
android:layout_alignParentLeft="true"
android:layout_below="@+id/about_game"
android:layout_marginLeft="60dp"
android:layout_marginTop="50dp"
android:background="@drawable/y1"
android:paddingLeft="50dp"
android:text="@string/exit_game"
android:textSize="28sp" />

<ImageView
android:id="@+id/imageView2"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignBottom="@+id/about_game"
android:layout_alignLeft="@+id/about_game"
android:layout_alignRight="@+id/imageView1"
android:layout_alignTop="@+id/about_game"
android:src="@drawable/g10" />

<ImageView
android:id="@+id/imageView1"
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_alignLeft="@+id/start_app"
android:layout_alignTop="@+id/start_app"
android:paddingLeft="5dp"
android:src="@drawable/g0" />

<ImageView
android:id="@+id/imageView3"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignBottom="@+id/exit_app"
android:layout_alignLeft="@+id/exit_app"
android:layout_alignRight="@+id/imageView2"
android:layout_alignTop="@+id/exit_app"
android:src="@drawable/s20" />

</RelativeLayout>

</LinearLayout>


select_layout.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/b2"
android:orientation="vertical" >

<LinearLayout
android:layout_width="match_parent"
android:layout_height="70dp"
android:layout_marginTop="50dp" >

<Button
android:id="@+id/easy"
android:layout_width="200dp"
android:layout_height="fill_parent"
android:layout_marginLeft="60dp"
android:background="@drawable/y1"
android:text="@string/simple"
android:textSize="40sp" />

</LinearLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="70dp"
android:layout_marginTop="20dp" >

<Button
android:id="@+id/advance"
android:layout_width="200dp"
android:layout_height="fill_parent"
android:layout_marginLeft="60dp"
android:background="@drawable/y1"
android:text="@string/general"
android:textSize="40sp" />

</LinearLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="70dp"
android:layout_marginTop="20dp" >

<Button
android:id="@+id/raise1"
android:layout_width="200dp"
android:layout_height="fill_parent"
android:layout_marginLeft="60dp"
android:background="@drawable/y1"
android:text="@string/more_difficult"
android:textSize="40sp" />

</LinearLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="70dp"
android:layout_marginTop="20dp" >

<Button
android:id="@+id/different"
android:layout_width="200dp"
android:layout_height="fill_parent"
android:layout_marginLeft="60dp"
android:background="@drawable/y1"
android:text="@string/difficult"
android:textSize="40sp" />

</LinearLayout>

</LinearLayout>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: