程序有难度和单项练习,但设计了每次只出5到题,如果做错的话会把错题加入到数据库中,然后通多错题巩固选项可以对错题进行训练。

代码:

普通选项代码:

 package com.example.szys;

 import java.math.*;
import java.util.Random; import android.app.Activity;
import android.app.AlertDialog;
import android.content.ContentValues;
import android.content.DialogInterface;
import android.content.Intent;
import android.database.Cursor;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView; public class CalActivity extends Activity {
int op;
int a;
int b;
int n=0;
int w=0;
String r;
Double answer,respon;
TextView textview1,textview2;
EditText editText;
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.cal_main);
textview1=(TextView)findViewById(R.id.textView1);
textview2=(TextView)findViewById(R.id.textView2);
editText=(EditText)findViewById(R.id.EditText1);
a =new Random().nextInt(100);
b =new Random().nextInt(100);
op=new Random().nextInt(4);
switch(op)
{
case 0:
textview1.setText(a+"+"+b+"=");
answer=(double) (a+b);
break;
case 1:
textview1.setText(a+"-"+b+"=");
answer=(double) (a-b);
break;
case 2:
a =new Random().nextInt(10);
b =new Random().nextInt(10);
textview1.setText(a+"*"+b+"=");
answer=(double) (a*b);
break;
case 3:
a =new Random().nextInt(10);
b =new Random().nextInt(10);
while(b==0){
b =new Random().nextInt(10);
}
textview1.setText(a+"/"+b+"=");
BigDecimal x = new BigDecimal((double)a/b);
answer = x.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); break;
}
button=(Button)findViewById(R.id.button4);
button.setOnClickListener(new Button.OnClickListener(){ @Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
if(!checkInteger(editText.getText().toString()))
{
AlertDialog.Builder builder = new AlertDialog.Builder(CalActivity.this);
builder.setCancelable(false);
builder.setTitle("错误");
builder.setMessage("你输入的信息有错");
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { }
});
builder.create().show();
editText.setText("");
return;
}
respon=Double.parseDouble(editText.getText().toString());
r=textview1.getText().toString();
ContentValues values = new ContentValues();
values.put("problem", r);
values.put("answer", answer);
editText.setText("");
n++;
if(respon.equals(answer))
{
textview2.setText("你答对了!");
}
else{ DBHelper helper = new DBHelper(getApplicationContext());
final Cursor c = helper.query();
helper.insert(values);
w++;
textview2.setText("你答错了!\n"+r+answer);
helper.close();
}
if(n<5)
{
a =new Random().nextInt(100);
b =new Random().nextInt(100);
op=new Random().nextInt(4);
switch(op)
{
case 0:
textview1.setText(a+"+"+b+"=");
answer=(double) (a+b);
break;
case 1:
textview1.setText(a+"-"+b+"=");
answer=(double) (a-b);
break;
case 2:
a =new Random().nextInt(10);
b =new Random().nextInt(10);
textview1.setText(a+"*"+b+"=");
answer=(double) (a*b);
break;
case 3:
a =new Random().nextInt(10);
b =new Random().nextInt(10);
while(b==0){
b =new Random().nextInt(10);
}
textview1.setText(a+"/"+b+"=");
BigDecimal x = new BigDecimal((double)a/b);
answer = x.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); break;
}
}
else
{
int right=n-w;
double rvate=(double)right/n*100;
AlertDialog.Builder builder = new AlertDialog.Builder(CalActivity.this);
builder.setCancelable(false);
builder.setTitle("结束");
builder.setMessage("你答对了"+right+"题"+"\n"+"答错了"+w+"题"+"\n"+"正确率为"+rvate+"%");
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) {
Intent intent = new Intent(CalActivity.this, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
}
});
builder.create().show();
}
} }); }
public boolean checkInteger(String text) {
/* 当输入的文本去掉前后空格长度为0时返回false */
if(text.trim().length()==0){
return false;
}
try{
Double.parseDouble(text);
}catch(Exception e){
/* 无法转换为整数时返回false */
return false;
}
return true;
} }

CalActivity

困难选项代码:

 package com.example.szys;

 import java.math.BigDecimal;
import java.util.Random; import android.app.Activity;
import android.app.AlertDialog;
import android.content.ContentValues;
import android.content.DialogInterface;
import android.content.Intent;
import android.database.Cursor;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView; public class CalActivity1 extends Activity{
int op;
int a;
int b;
int c;
int d;
int n=0;
int w=0;
String r;
Double answer,respon;
TextView textview1,textview2;
EditText editText;
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.cal_main);
textview1=(TextView)findViewById(R.id.textView1);
textview2=(TextView)findViewById(R.id.textView2);
editText=(EditText)findViewById(R.id.EditText1);
a =new Random().nextInt(100);
b =new Random().nextInt(10);
c =new Random().nextInt(100);
d =new Random().nextInt(10);
op=new Random().nextInt(4);
switch(op)
{
case 0:
while(d==0){
d =new Random().nextInt(10);
}
textview1.setText("("+a+"+"+b+")"+"/"+d+"=");
BigDecimal x = new BigDecimal((double) (a+b)/d);
answer = x.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
break;
case 1:
textview1.setText(d+"*"+a+"-"+b+"=");
answer=(double) (d*a-b);
break;
case 2:
textview1.setText(a+"*"+b+"+"+c+"=");
answer=(double) (a*b+c);
break;
case 3:
while(c==0){
c =new Random().nextInt(100);
}
textview1.setText(a+"/"+c+"=");
BigDecimal y = new BigDecimal((double)a/c);
answer = y.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); break;
}
button=(Button)findViewById(R.id.button4);
button.setOnClickListener(new Button.OnClickListener(){ @Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
if(!checkInteger(editText.getText().toString()))
{
AlertDialog.Builder builder = new AlertDialog.Builder(CalActivity1.this);
builder.setCancelable(false);
builder.setTitle("错误");
builder.setMessage("你输入的信息有错");
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { }
});
builder.create().show();
editText.setText("");
return;
}
respon=Double.parseDouble(editText.getText().toString());
r=textview1.getText().toString();
ContentValues values = new ContentValues();
values.put("problem", r);
values.put("answer", answer);
editText.setText("");
n++;
if(respon.equals(answer))
{
textview2.setText("你答对了!");
}
else{
DBHelper helper = new DBHelper(getApplicationContext());
final Cursor c = helper.query();
helper.insert(values);
w++;
textview2.setText("你答错了!\n"+r+answer);
helper.close();
}
if(n<5)
{
a =new Random().nextInt(100);
b =new Random().nextInt(100);
op=new Random().nextInt(4);
switch(op)
{
case 0:
while(d==0){
d =new Random().nextInt(10);
}
textview1.setText("("+a+"+"+b+")"+"/"+d+"=");
BigDecimal x = new BigDecimal((double) (a+b)/d);
answer = x.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
break;
case 1:
textview1.setText(d+"*"+a+"-"+b+"=");
answer=(double) (d*a-b);
break;
case 2:
textview1.setText(a+"*"+b+"+"+c+"=");
answer=(double) (a*b+c);
break;
case 3:
while(c==0){
c =new Random().nextInt(100);
}
textview1.setText(a+"/"+c+"=");
BigDecimal y = new BigDecimal((double)a/c);
answer = y.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); break;
}
}
else
{
int right=n-w;
double rvate=(double)right/n*100;
AlertDialog.Builder builder = new AlertDialog.Builder(CalActivity1.this);
builder.setCancelable(false);
builder.setTitle("结束");
builder.setMessage("你答对了"+right+"题"+"\n"+"答错了"+w+"题"+"\n"+"正确率为"+rvate+"%");
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) {
Intent intent = new Intent(CalActivity1.this, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
}
});
builder.create().show();
}
} }); }
public boolean checkInteger(String text) {
/* 当输入的文本去掉前后空格长度为0时返回false */
if(text.trim().length()==0){
return false;
}
try{
Double.parseDouble(text);
}catch(Exception e){
/* 无法转换为整数时返回false */
return false;
}
return true;
}
}

CalActivity1

加法练习代码:

 package com.example.szys;

 import java.math.*;
import java.util.Random; import android.app.Activity;
import android.app.AlertDialog;
import android.content.ContentValues;
import android.content.DialogInterface;
import android.content.Intent;
import android.database.Cursor;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView; public class CalActivity2 extends Activity {
int a;
int b;
int n=0;
int w=0;
String r;
Double answer,respon;
TextView textview1,textview2;
EditText editText;
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.cal_main);
textview1=(TextView)findViewById(R.id.textView1);
textview2=(TextView)findViewById(R.id.textView2);
editText=(EditText)findViewById(R.id.EditText1);
a =new Random().nextInt(100);
b =new Random().nextInt(100); textview1.setText(a+"+"+b+"=");
answer=(double) (a+b); button=(Button)findViewById(R.id.button4);
button.setOnClickListener(new Button.OnClickListener(){ @Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
if(!checkInteger(editText.getText().toString()))
{
AlertDialog.Builder builder = new AlertDialog.Builder(CalActivity2.this);
builder.setCancelable(false);
builder.setTitle("错误");
builder.setMessage("你输入的信息有错");
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { }
});
builder.create().show();
editText.setText("");
return;
}
respon=Double.parseDouble(editText.getText().toString());
r=textview1.getText().toString();
ContentValues values = new ContentValues();
values.put("problem", r);
values.put("answer", answer);
editText.setText("");
n++;
if(respon.equals(answer))
{
textview2.setText("你答对了!");
}
else{
DBHelper helper = new DBHelper(getApplicationContext());
final Cursor c = helper.query();
helper.insert(values);
w++;
textview2.setText("你答错了!\n"+r+answer);
helper.close();
}
if(n<5)
{
a =new Random().nextInt(100);
b =new Random().nextInt(100); textview1.setText(a+"+"+b+"=");
answer=(double) (a+b); }
else
{
int right=n-w;
double rvate=(double)right/n*100;
AlertDialog.Builder builder = new AlertDialog.Builder(CalActivity2.this);
builder.setCancelable(false);
builder.setTitle("结束");
builder.setMessage("你答对了"+right+"题"+"\n"+"答错了"+w+"题"+"\n"+"正确率为"+rvate+"%");
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) {
Intent intent = new Intent(CalActivity2.this, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
}
});
builder.create().show();
}
} }); }
public boolean checkInteger(String text) {
/* 当输入的文本去掉前后空格长度为0时返回false */
if(text.trim().length()==0){
return false;
}
try{
Double.parseDouble(text);
}catch(Exception e){
/* 无法转换为整数时返回false */
return false;
}
return true;
}
}

CalActivity2

减法练习代码:

 package com.example.szys;

 import java.math.*;
import java.util.Random; import android.app.Activity;
import android.app.AlertDialog;
import android.content.ContentValues;
import android.content.DialogInterface;
import android.content.Intent;
import android.database.Cursor;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView; public class CalActivity3 extends Activity { int a;
int b;
int n=0;
int w=0;
String r;
Double answer,respon;
TextView textview1,textview2;
EditText editText;
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.cal_main);
textview1=(TextView)findViewById(R.id.textView1);
textview2=(TextView)findViewById(R.id.textView2);
editText=(EditText)findViewById(R.id.EditText1);
a =new Random().nextInt(100);
b =new Random().nextInt(100); textview1.setText(a+"-"+b+"=");
answer=(double) (a-b); button=(Button)findViewById(R.id.button4);
button.setOnClickListener(new Button.OnClickListener(){ @Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
if(!checkInteger(editText.getText().toString()))
{
AlertDialog.Builder builder = new AlertDialog.Builder(CalActivity3.this);
builder.setCancelable(false);
builder.setTitle("错误");
builder.setMessage("你输入的信息有错");
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { }
});
builder.create().show();
editText.setText("");
return;
}
respon=Double.parseDouble(editText.getText().toString());
r=textview1.getText().toString();
ContentValues values = new ContentValues();
values.put("problem", r);
values.put("answer", answer);
editText.setText("");
n++;
if(respon.equals(answer))
{
textview2.setText("你答对了!");
}
else{
DBHelper helper = new DBHelper(getApplicationContext());
final Cursor c = helper.query();
helper.insert(values);
w++;
textview2.setText("你答错了!\n"+r+answer);
helper.close();
}
if(n<5)
{
a =new Random().nextInt(100);
b =new Random().nextInt(100); textview1.setText(a+"-"+b+"=");
answer=(double) (a-b);
}
else
{
int right=n-w;
double rvate=(double)right/n*100;
AlertDialog.Builder builder = new AlertDialog.Builder(CalActivity3.this);
builder.setCancelable(false);
builder.setTitle("结束");
builder.setMessage("你答对了"+right+"题"+"\n"+"答错了"+w+"题"+"\n"+"正确率为"+rvate+"%");
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) {
Intent intent = new Intent(CalActivity3.this, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
}
});
builder.create().show();
}
} }); }
public boolean checkInteger(String text) {
/* 当输入的文本去掉前后空格长度为0时返回false */
if(text.trim().length()==0){
return false;
}
try{
Double.parseDouble(text);
}catch(Exception e){
/* 无法转换为整数时返回false */
return false;
}
return true;
}
}

CalActivity3

乘法练习代码:

 package com.example.szys;

 import java.math.*;
import java.util.Random; import android.app.Activity;
import android.app.AlertDialog;
import android.content.ContentValues;
import android.content.DialogInterface;
import android.content.Intent;
import android.database.Cursor;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView; public class CalActivity4 extends Activity { int a;
int b;
int n=0;
int w=0;
String r;
Double answer,respon;
TextView textview1,textview2;
EditText editText;
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.cal_main);
textview1=(TextView)findViewById(R.id.textView1);
textview2=(TextView)findViewById(R.id.textView2);
editText=(EditText)findViewById(R.id.EditText1);
a =new Random().nextInt(100);
b =new Random().nextInt(100); textview1.setText(a+"*"+b+"=");
answer=(double) (a*b); button=(Button)findViewById(R.id.button4);
button.setOnClickListener(new Button.OnClickListener(){ @Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
if(!checkInteger(editText.getText().toString()))
{
AlertDialog.Builder builder = new AlertDialog.Builder(CalActivity4.this);
builder.setCancelable(false);
builder.setTitle("错误");
builder.setMessage("你输入的信息有错");
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { }
});
builder.create().show();
editText.setText("");
return;
}
respon=Double.parseDouble(editText.getText().toString());
r=textview1.getText().toString();
ContentValues values = new ContentValues();
values.put("problem", r);
values.put("answer", answer);
editText.setText("");
n++;
if(respon.equals(answer))
{
textview2.setText("你答对了!");
}
else{
DBHelper helper = new DBHelper(getApplicationContext());
final Cursor c = helper.query();
helper.insert(values);
w++;
textview2.setText("你答错了!\n"+r+answer);
helper.close();
}
if(n<5)
{
a =new Random().nextInt(100);
b =new Random().nextInt(100); textview1.setText(a+"*"+b+"=");
answer=(double) (a*b); }
else
{
int right=n-w;
double rvate=(double)right/n*100;
AlertDialog.Builder builder = new AlertDialog.Builder(CalActivity4.this);
builder.setCancelable(false);
builder.setTitle("结束");
builder.setMessage("你答对了"+right+"题"+"\n"+"答错了"+w+"题"+"\n"+"正确率为"+rvate+"%");
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) {
Intent intent = new Intent(CalActivity4.this, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
}
});
builder.create().show();
}
} }); }
public boolean checkInteger(String text) {
/* 当输入的文本去掉前后空格长度为0时返回false */
if(text.trim().length()==0){
return false;
}
try{
Double.parseDouble(text);
}catch(Exception e){
/* 无法转换为整数时返回false */
return false;
}
return true;
}
}

CalActivity4

除法练习代码:

 package com.example.szys;

 import java.math.*;
import java.util.Random; import android.app.Activity;
import android.app.AlertDialog;
import android.content.ContentValues;
import android.content.DialogInterface;
import android.content.Intent;
import android.database.Cursor;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView; public class CalActivity5 extends Activity { int a;
int b;
int n=0;
int w=0;
String r;
Double answer,respon;
TextView textview1,textview2;
EditText editText;
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.cal_main);
textview1=(TextView)findViewById(R.id.textView1);
textview2=(TextView)findViewById(R.id.textView2);
editText=(EditText)findViewById(R.id.EditText1);
a =new Random().nextInt(100);
b =new Random().nextInt(100); while(b==0){
b =new Random().nextInt(100);
}
textview1.setText(a+"/"+b+"=");
BigDecimal x = new BigDecimal((double)a/b);
answer = x.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); button=(Button)findViewById(R.id.button4);
button.setOnClickListener(new Button.OnClickListener(){ @Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
if(!checkInteger(editText.getText().toString()))
{
AlertDialog.Builder builder = new AlertDialog.Builder(CalActivity5.this);
builder.setCancelable(false);
builder.setTitle("错误");
builder.setMessage("你输入的信息有错");
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { }
});
builder.create().show();
editText.setText("");
return;
}
respon=Double.parseDouble(editText.getText().toString());
r=textview1.getText().toString();
ContentValues values = new ContentValues();
values.put("problem", r);
values.put("answer", answer);
editText.setText("");
n++;
if(respon.equals(answer))
{
textview2.setText("你答对了!");
}
else{
DBHelper helper = new DBHelper(getApplicationContext());
final Cursor c = helper.query();
helper.insert(values);
w++;
textview2.setText("你答错了!\n"+r+answer);
helper.close();
}
if(n<5)
{
a =new Random().nextInt(100);
b =new Random().nextInt(100); while(b==0){
b =new Random().nextInt(100);
}
textview1.setText(a+"/"+b+"=");
BigDecimal x = new BigDecimal((double)a/b);
answer = x.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); }
else
{
int right=n-w;
double rvate=(double)right/n*100;
AlertDialog.Builder builder = new AlertDialog.Builder(CalActivity5.this);
builder.setCancelable(false);
builder.setTitle("结束");
builder.setMessage("你答对了"+right+"题"+"\n"+"答错了"+w+"题"+"\n"+"正确率为"+rvate+"%");
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) {
Intent intent = new Intent(CalActivity5.this, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
}
});
builder.create().show();
}
} }); }
public boolean checkInteger(String text) {
/* 当输入的文本去掉前后空格长度为0时返回false */
if(text.trim().length()==0){
return false;
}
try{
Double.parseDouble(text);
}catch(Exception e){
/* 无法转换为整数时返回false */
return false;
}
return true;
}
}

CalActivity5

主页面代码:

 package com.example.szys;

 import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.database.Cursor;
import android.os.Bundle;
import android.view.View;
import android.widget.Button; public class MainActivity extends Activity { Button start,end,wa;
int yourChose=-1; private void showSinChosDia()
{
final String[] mList={"普通","困难","加法练习","减法练习","乘法练习","除法练习"};
yourChose=-1;
AlertDialog.Builder sinChosDia=new AlertDialog.Builder(MainActivity.this);
sinChosDia.setTitle("难度/单项练习");
sinChosDia.setSingleChoiceItems(mList, 0, new DialogInterface.OnClickListener() { @Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
yourChose=which; }
});
sinChosDia.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub if(yourChose==0)
{
Intent intent = new Intent(MainActivity.this, CalActivity.class);
startActivity(intent);
}
if(yourChose==1)
{
Intent intent = new Intent(MainActivity.this, CalActivity1.class);
startActivity(intent);
}
if(yourChose==2)
{
Intent intent = new Intent(MainActivity.this, CalActivity2.class);
startActivity(intent);
}
if(yourChose==3)
{
Intent intent = new Intent(MainActivity.this, CalActivity3.class);
startActivity(intent);
}
if(yourChose==4)
{
Intent intent = new Intent(MainActivity.this, CalActivity4.class);
startActivity(intent);
}
if(yourChose==5)
{
Intent intent = new Intent(MainActivity.this, CalActivity5.class);
startActivity(intent);
}
}
});
sinChosDia.create().show();
} @Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final DBHelper helper = new DBHelper(this);
final Cursor c = helper.query();
start=(Button) findViewById(R.id.button1);
start.setOnClickListener(new Button.OnClickListener(){ @Override public void onClick(View v) {
// TODO Auto-generated method stub showSinChosDia(); }
});
wa=(Button) findViewById(R.id.button2);
wa.setOnClickListener(new Button.OnClickListener(){ @Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(!c.moveToNext())
{
helper.close();
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setCancelable(false);
builder.setTitle("结束");
builder.setMessage("无错题");
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) {
}
});
builder.create().show();
}
else{
Intent intent = new Intent(MainActivity.this, ShowDB.class);
startActivity(intent);
}
}
});
end=(Button) findViewById(R.id.button3);
end.setOnClickListener(new Button.OnClickListener(){ @Override
public void onClick(View v) {
// TODO Auto-generated method stub
System.exit(0);
}
});
} }

MainActivity

数据库代码:

 package com.example.szys;

 import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class DBHelper extends SQLiteOpenHelper {
private static final String DB_NAME = "coll.db";
private static final String TBL_NAME = "CollTbl";
private static final String CREATE_TBL = " create table "
+ " CollTbl(_id integer primary key autoincrement,problem text,answer text) "; private SQLiteDatabase db;
DBHelper(Context c) {
super(c, DB_NAME, null, 2);
}
@Override
public void onCreate(SQLiteDatabase db) {
this.db = db;
db.execSQL(CREATE_TBL);
}
public void insert(ContentValues values) {
SQLiteDatabase db = getWritableDatabase();
db.insert(TBL_NAME, null, values);
db.close();
}
public Cursor query() {
SQLiteDatabase db = getWritableDatabase();
Cursor c = db.query(TBL_NAME, null, null, null, null, null, null);
return c;
}
public void del(int id) {
if (db == null)
db = getWritableDatabase();
db.delete(TBL_NAME, "_id=?", new String[] { String.valueOf(id) });
}
public void close() {
if (db != null)
db.close();
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}

DBHelper

错题巩固代码:

 package com.example.szys;

 import java.math.BigDecimal;
import java.util.Random; import android.app.Activity;
import android.app.AlertDialog;
import android.content.ContentValues;
import android.content.DialogInterface;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView; public class ShowDB extends Activity {
int op;
int a;
int b;
int n=0;
int w=0;
String r;
Double respon,answer;
String problem;
TextView textview1,textview2;
EditText editText;
Button button,button1,button2,button3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.show_maiin);
textview1=(TextView)findViewById(R.id.textView1);
textview2=(TextView)findViewById(R.id.textView2);
editText=(EditText)findViewById(R.id.EditText1);
final DBHelper helper = new DBHelper(this);
final Cursor c = helper.query();
c.moveToNext();
problem = c.getString(c.getColumnIndex("problem"));
answer = Double.parseDouble(c.getString(c.getColumnIndex("answer")));
textview1.setText(problem);
button=(Button)findViewById(R.id.button6);
button.setOnClickListener(new Button.OnClickListener(){ @Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
if(!checkInteger(editText.getText().toString()))
{
AlertDialog.Builder builder = new AlertDialog.Builder(ShowDB.this);
builder.setCancelable(false);
builder.setTitle("错误");
builder.setMessage("你输入的信息有错");
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { }
});
builder.create().show();
editText.setText("");
return;
}
respon=Double.parseDouble(editText.getText().toString());
if(respon.equals(answer))
{
textview2.setText("你答对了!");
editText.setText("");
}
else{
w++;
textview2.setText("你答错了!\n"+problem+answer);
editText.setText("");
}
if(!c.moveToNext())
{
AlertDialog.Builder builder = new AlertDialog.Builder(ShowDB.this);
builder.setCancelable(false);
builder.setTitle("结束");
builder.setMessage("");
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) {
Intent intent = new Intent(ShowDB.this, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
}
});
builder.create().show();
}
} });
button1=(Button)findViewById(R.id.button7);
button1.setOnClickListener(new Button.OnClickListener(){ @Override
public void onClick(View arg0) {
// TODO Auto-generated method stub if(c.moveToNext())
{
editText.setText("");
problem = c.getString(c.getColumnIndex("problem"));
answer = Double.parseDouble(c.getString(c.getColumnIndex("answer")));
textview1.setText(problem);
}
} });
button2=(Button)findViewById(R.id.button8);
button2.setOnClickListener(new Button.OnClickListener(){ @Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
helper.del(c.getInt(0));
AlertDialog.Builder builder = new AlertDialog.Builder(ShowDB.this);
builder.setCancelable(false);
builder.setTitle("提示");
builder.setMessage("删除成功");
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) {
if(c.moveToNext())
{
editText.setText("");
problem = c.getString(c.getColumnIndex("problem"));
answer = Double.parseDouble(c.getString(c.getColumnIndex("answer")));
textview1.setText(problem);
}
else if(!c.moveToNext())
{
textview1.setText("");
AlertDialog.Builder builder = new AlertDialog.Builder(ShowDB.this);
builder.setCancelable(false);
builder.setTitle("结束");
builder.setMessage("已无错题");
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) {
Intent intent = new Intent(ShowDB.this, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
}
});
builder.create().show();
}
}
});
builder.create().show();
} });
button3=(Button)findViewById(R.id.button9);
button3.setOnClickListener(new Button.OnClickListener(){ @Override
public void onClick(View arg0) {
// TODO Auto-generated method stub Intent intent = new Intent(ShowDB.this, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
} }); }
public boolean checkInteger(String text) {
/* 当输入的文本去掉前后空格长度为0时返回false */
if(text.trim().length()==0){
return false;
}
try{
Double.parseDouble(text);
}catch(Exception e){
/* 无法转换为整数时返回false */
return false;
}
return true;
} }

ShowDB

XML代码

 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@drawable/bg1"> <LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_gravity="center"> <Button
android:id="@+id/button1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="开始" /> <Button
android:id="@+id/button2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="错题巩固" /> <Button
android:id="@+id/button3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="退出" /> </LinearLayout> </FrameLayout>

activity_main

 <?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"
android:background="@drawable/bg1"> <LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_gravity="center"> <LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center" > <TextView
android:id="@+id/textView1"
android:layout_width="93dp"
android:layout_height="wrap_content"
android:editable="true"
android:text="" /> <EditText
android:id="@+id/EditText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:digits="1234567890.-"
android:ems="10"
android:numeric="decimal"
android:text="" > <requestFocus />
</EditText>
</LinearLayout> <Button
android:id="@+id/button4"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="确定" /> <TextView
android:id="@+id/textView2"
android:layout_width="match_parent"
android:layout_height="70dp"
android:editable="true"
android:text="" /> </LinearLayout> </LinearLayout>

cal_main

 <?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"
android:background="@drawable/bg1"> <LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_gravity="center"> <LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center" > <TextView
android:id="@+id/textView1"
android:layout_width="93dp"
android:layout_height="wrap_content"
android:editable="true"
android:text="" /> <EditText
android:id="@+id/EditText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:digits="1234567890.-"
android:ems="10"
android:numeric="decimal"
android:text="" > <requestFocus />
</EditText>
</LinearLayout> <Button
android:id="@+id/button6"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="确定" />
<Button
android:id="@+id/button7"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="下一题" />
<Button
android:id="@+id/button8"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="从错题库删除" />
<Button
android:id="@+id/button9"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="返回" /> <TextView
android:id="@+id/textView2"
android:layout_width="match_parent"
android:layout_height="70dp"
android:editable="true"
android:text="" /> </LinearLayout> </LinearLayout>

show_main

可以下载apk:

http://pan.baidu.com/s/1eQjfcSq

四则运算app总结的更多相关文章

  1. 四则运算app工程的进展

    深入分析五个四则运算app: 1.ALM-Addition 缺点:版本是英文版,不利于孩子们弄懂.  用选择题的方法来选择正确的答案,固然有运气答对的成分,不利于统计真实的水平. 优点:有图标统计答题 ...

  2. 《软件工程》小组团队项目-小学生四则运算APP(First Sprint)

    <软件工程>团队项目我们小组选择了小学生四则运算APP,在上学期原有的项目基础上进行更新升级.(自我感觉我们团队上学期的小学生四则运算APP是较为成功且实用的,不过这学期学习到了新的知识, ...

  3. 小学四则运算APP 最后阶段

    团队成员:陈淑筠.杨家安.陈曦 团队选题:小学四则运算APP 这次发布的是我们APP的最终版本!图片背景有根据用户需求改变!还增加了草稿纸运算的画布功能! 运行结果如下: package com.ex ...

  4. 小学四则运算APP 第三阶段冲刺-第一天

    团队成员:陈淑筠.杨家安.陈曦 团队选题:小学四则运算APP 第三次冲刺阶段时间:12.12~12.19 本次发布的是音乐播放功能,可以根据用户需求一边播放音乐一边做题,也拥有暂停播放音乐的功能,增强 ...

  5. 小学四则运算APP 第二阶段冲刺-第五天

    团队成员:陈淑筠.杨家安.陈曦 团队选题:小学四则运算APP 第二次冲刺阶段时间:11.29~12.09 本次发布的是判断题代码,已经实现部分功能,,但是美中不足的是判断错误 panduanset.j ...

  6. 小学四则运算APP 第二次冲刺 第四天

    团队成员:陈淑筠.杨家安.陈曦 团队选题:小学四则运算APP 第二次冲刺阶段时间:11.29~12.09 本次发布的是合并后的选择题功能界面的设置: ChoiceSet.java: package c ...

  7. 小学四则运算APP 第二阶段冲刺-第三天

    团队成员:陈淑筠.杨家安.陈曦 团队选题:小学四则运算APP 第二次冲刺阶段时间:11.29~12.09 本次发布的是判断题的部分代码 panduanset.java import com.examp ...

  8. 小学四则运算APP 第二次冲刺-第二天

    团队成员:陈淑筠.杨家安.陈曦 团队选题:小学四则运算APP 第二次冲刺阶段时间:11.29~12.09 本次发布的判断题功能界面的设置: activity_panduan_set.xml: < ...

  9. 小学四则运算APP 第二个冲刺 第一天

    团队成员:陈淑筠.杨家安.陈曦 团队选题:小学四则运算APP 第二次冲刺阶段时间:11.29~12.09 本次发布的是已完成的功能二(选择题): ChoiceActivity.java: packag ...

  10. 小学四则运算APP 第一个冲刺 第八天

    团队成员:陈淑筠.杨家安.陈曦 团队选题:小学四则运算APP 第一次冲刺阶段时间:11.17~11.27 本次发布的是还未完成的功能二(选择题): ChoiceActivity.java: packa ...

随机推荐

  1. 2.Linux环境下配置Solr4.10.3

    转载请出自出处:http://www.cnblogs.com/hd3013779515/ 1.准备阶段 操作系统:CentOS 6.8 安装包:/home/test solr-4.10.3.tgz.t ...

  2. BZOJ2744:[HEOI2012]朋友圈(最大团,乱搞)

    Description 在很久很久以前,曾经有两个国家和睦相处,无忧无虑的生活着.一年一度的评比大会开始了,作为和平的两国,一个朋友圈数量最多的永远都是最值得他人的尊敬,所以现在就是需要你求朋友圈的最 ...

  3. Maven 安装源码和文档到本地仓库

    一: 1:   mvn source:jar 生成源码的jar包 2: mvn source:jar install 将源码安装到本地仓库 ,可以直接mvn source:jar install 一部 ...

  4. php api接口安全设计 sign理论

    一. url请求的参数包括:timestamp,token, username,sign 1. timestamp: 时间戮 2. token: 登陆验证时,验证成功后,生成唯一的token(可以为u ...

  5. redis性能测试工具的使用

    在redis安装完成后会生成一个bin的目录,在这个目录中有一个 redis-benchmark 的文件脚本工具,通过执行这个工具进行redis的性能测试. bash #执行这个脚本后脚本会自动运行r ...

  6. 笔记一:CSS选择器

    0.前言:无论学什么,前端都是绕不开的一门技术,对于不同的人需求不同,作为一个python开发者不仅需要能读懂基本的html/css以及js代码,还要会使用它的常用的标签,以及了解比较有用的标签,把逻 ...

  7. windows/Linux动态加载链接库问题

    windows: LoadLibraryA 指定的可执行模块映射到调用进程的地址空间并返回该 DLL 的句柄 HMODULE LoadLibraryA( LPCTSTR lpLibFileName// ...

  8. HDU 3861 The King’s Problem(tarjan缩点+最小路径覆盖:sig-最大二分匹配数,经典题)

    The King’s Problem Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Other ...

  9. OO课程学期末总结

    OO课程学期末总结 测试VS正确性论证 OCL vs JSF 对象约束语言(Object Constraint Language), 简称OCL, 是一种指示用户建模系统中的限制方式. 他是UML可选 ...

  10. Found more than one concrete type for given DbContext Type (xxx.xxxx.xxx) define MultiTenancySideAttribute with Tenant

    错误提示: Found more than one concrete type for given DbContext Type (Abp.Zero.EntityFramework.AbpZeroCo ...