四则运算——安卓客户端
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
Culculter.java
countActivity.java
homeactivity.java
selectActivity.java
SysApplication.java
UI源代码:
activity_main.xml
countlayout.xml
home_footbar_layout.xml
select_layout.xml
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>
相关文章推荐
- 钉子和小球
- zoj 1073 Round and Round We Go
- 团队介绍
- scrapy爬取智联招聘中python工程师的招聘信息
- matlab 安装过程中出现“error1935..."错误
- 【bzoj2124】等差子序列 权值线段树维护hash
- linux文件系统
- RabbitMQ消息队列的小伙伴(八): ProtoBuf(Google Protocol Buffer)
- 【Java】分析JAVA应用CPU占用过高的问题
- 采用Memcached实现分布式Session
- 《Android第一行代码》学习笔记
- 2010年山东省第一届ACM大学生程序设计竞赛:Hello World!
- 采用Memcached实现分布式Session
- Linux中vim中出现H不能正常编辑的问题
- 关于HashMap和Hashtable的区别
- RabbitMQ消息队列(七):适用于云计算集群的远程调用(RPC)
- apache tomcat(httpd)安装-windows&liunx
- poj2367
- 2048游戏python版
- 返回一个二维整数数组中最大联通子数组的和