package com.hanqi.kaoshi;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
TextView tv_Welcome;
Button bt_kaoshi,bt_tuichu,bt_chaxun;
String name;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv_Welcome=(TextView)findViewById(R.id.tv_Welcome);
Intent intent=getIntent();
name=intent.getStringExtra("name");
tv_Welcome.setText("欢迎 " + name + " 参加考试");
bt_kaoshi=(Button)findViewById(R.id.bt_kaoshi);
bt_tuichu=(Button)findViewById(R.id.bt_tuichu);
bt_chaxun=(Button)findViewById(R.id.bt_chaxun);
//开始考试
bt_kaoshi.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final ProgressDialog dialog=new ProgressDialog(MainActivity.this);
dialog.setTitle("加载考题");
dialog.setMessage("加载中...,稍候");
dialog.show();
new Thread(){
public void run() {
try {
Thread.sleep(2000);
}catch (Exception e){}
dialog.dismiss();//关闭对话框
Intent intent=new Intent(MainActivity.this, ExamActivity.class);
intent.putExtra("name",name);
startActivity(intent);
};
}.start();
}
});
//查询成绩
bt_chaxun.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final ProgressDialog dialog=new ProgressDialog(MainActivity.this);
dialog.setTitle("查询成绩");
dialog.setMessage("查询中...,稍候");
dialog.show();
new Thread(){
@Override
public void run() {
try {
Thread.sleep(2000);
}catch (Exception e) {}
dialog.dismiss();
Intent intent1=new Intent(MainActivity.this,ChaXunActivity.class);
intent1.putExtra("name",name);
startActivity(intent1);
}
}.start();
}
});
//退出考试
bt_tuichu.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
View layout=View.inflate(MainActivity.this, R.layout.exit, null);
AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);
builder.setTitle("退出")
.setView(layout)
.setPositiveButton("退出", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
finish();
}
})
.setNegativeButton("取消", null);
builder.create().show();
}
});
}
}
package com.hanqi.kaoshi;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.Toast;
import com.hanqi.kaoshi.exam.ExamDAO;
import com.hanqi.kaoshi.exam.ExamPOJO;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
public class ExamActivity extends AppCompatActivity {
Button bt_11;
CheckBox cb_1,cb_2,cb_3,cb_4;
EditText ed_name;
ExamDAO examDAO=new ExamDAO(ExamActivity.this);
ArrayList<ExamPOJO> arraylist;
String name;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_exam);
cb_1=(CheckBox)findViewById(R.id.cb_1);
cb_2=(CheckBox)findViewById(R.id.cb_2);
cb_3=(CheckBox)findViewById(R.id.cb_3);
cb_4=(CheckBox)findViewById(R.id.cb_4);
bt_11=(Button)findViewById(R.id.bt_11);
ed_name=(EditText)findViewById(R.id.ed_name);
Intent intent=getIntent();
name=intent.getStringExtra("name");
ed_name.setText(name);
}
//提交按钮
public void bt11_OnClick(View v)
{
if (!cb_1.isChecked()&&!cb_2.isChecked()&&!cb_3.isChecked()&&!cb_4.isChecked())
{
Toast.makeText(ExamActivity.this, "请选择选项再提交", Toast.LENGTH_SHORT).show();
}else {
AlertDialog alertDialog=new AlertDialog.Builder(this)
.setTitle("确定要提交了么?")
.setCancelable(false)
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if (cb_3.isChecked()) {
int score = 100;
String examname = "java";
//得到系统时间
SimpleDateFormat sDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String starttime = sDateFormat.format(new Date());
String name = ed_name.getText().toString();
ExamPOJO exam = new ExamPOJO(examname, name, score, starttime);
//2通过DAO插入数据
long l = examDAO.insert(exam);
if (l > 0) {
Toast.makeText(ExamActivity.this, "提交成功", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(ExamActivity.this, "提交失败", Toast.LENGTH_SHORT).show();
}
} else {
int score = 0;
String examname = "java";
//得到系统时间
SimpleDateFormat sDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String starttime = sDateFormat.format(new Date());
String name = ed_name.getText().toString();
ExamPOJO exam = new ExamPOJO(examname, name, score, starttime);
//2通过DAO插入数据
long l = examDAO.insert(exam);
if (l > 0) {
Toast.makeText(ExamActivity.this, "提交成功", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(ExamActivity.this, "提交失败", Toast.LENGTH_SHORT).show();
}
}
}
})
.setNegativeButton("取消", null)
.show();
}
}
}
package com.hanqi.kaoshi;
import android.app.AlertDialog;
import android.app.ListActivity;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.text.InputType;
import android.view.ContextMenu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import com.hanqi.kaoshi.exam.ExamDAO;
import com.hanqi.kaoshi.exam.ExamPOJO;
import java.util.ArrayList;
public class ChaXunActivity extends ListActivity {
ListView lv_1;
ExamDAO examDAO=new ExamDAO(this);
ArrayList<ExamPOJO> arraylist;
MyAdapter myAdapter;
int index;
TextView tv_3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_cha_xun);
lv_1=getListView();
Intent intent=getIntent();
lv_1.setOnCreateContextMenuListener(this);
arraylist=examDAO.getAll();
myAdapter=new MyAdapter();
lv_1.setAdapter(myAdapter);
tv_3=(TextView)findViewById(R.id.tv_3);
}
//重写上下文菜单
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
menu.add(0, 1, 1, "修改");
menu.add(0, 2, 2, "删除");
AdapterView.AdapterContextMenuInfo acmi=
(AdapterView.AdapterContextMenuInfo)menuInfo;
index=acmi.position;
}
@Override
public boolean onContextItemSelected(MenuItem item) {
switch (item.getItemId())
{
case 1://修改成绩
final EditText editText=new EditText(this);
editText.setHint("输入要修改的分数");
editText.setInputType(InputType.TYPE_CLASS_NUMBER);
editText.setText(arraylist.get(index).getScore()+"");
new AlertDialog.Builder(this)
.setTitle("修改成绩")
.setView(editText)
.setNegativeButton("取消",null)
.setPositiveButton("保存", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
int i = Integer.parseInt(editText.getText().toString());
if (i > 100) {
Toast.makeText(ChaXunActivity.this, "修改的分数不能大于100啊!", Toast.LENGTH_SHORT).show();
} else {
ExamPOJO examPOJO = arraylist.get(index);
examPOJO.setScore(i);
if (examDAO.update(examPOJO) > 0) {
Toast.makeText(ChaXunActivity.this, "修改成功", Toast.LENGTH_SHORT).show();
myAdapter.notifyDataSetChanged();
} else {
Toast.makeText(ChaXunActivity.this, "修改失败", Toast.LENGTH_SHORT).show();
}
}
}
})
.show();
break;
case 2://删除
View view1=View.inflate(this,R.layout.shanchu,null);
new AlertDialog.Builder(this)
.setTitle("删除")
.setView(view1)
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if (examDAO.delete(arraylist.get(index))>0)
{
arraylist.remove(index);
myAdapter.notifyDataSetChanged();
Toast.makeText(ChaXunActivity.this, "删除成功", Toast.LENGTH_SHORT).show();
}else
{
Toast.makeText(ChaXunActivity.this, "删除失败", Toast.LENGTH_SHORT).show();
}
}
})
.setNegativeButton("取消",null)
.show();
break;
}
return super.onContextItemSelected(item);
}
//适配器
class MyAdapter extends BaseAdapter
{
@Override
public int getCount() {
return arraylist.size();
}
@Override
public Object getItem(int position) {
return arraylist.get(position);
}
@Override
public long getItemId(int position) {
return arraylist.get(position).getId();
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ExamPOJO examPOJO=arraylist.get(position);
if (convertView == null) {
convertView = View.inflate(ChaXunActivity.this, R.layout.listview, null);
}
TextView tv_1 = (TextView) convertView.findViewById(R.id.tv_1);
tv_1.setText(examPOJO.getExamname());
TextView tv_2 = (TextView) convertView.findViewById(R.id.tv_2);
tv_2.setText(examPOJO.getName());
TextView tv_3 = (TextView) convertView.findViewById(R.id.tv_3);
tv_3.setText(examPOJO.getScore()+"" + ".");
TextView tv_4= (TextView) convertView.findViewById(R.id.tv_4);
tv_4.setText(examPOJO.getStarttime());
return convertView;
}
}
}
package com.hanqi.kaoshi.exam;
/**
* Created by Administrator on 2016/7/4.
*/
public class ExamPOJO {
private long id;
//考试科目
private String examname;
//姓名
private String name;
//成绩
private int score;
//考试开始时间
private String starttime;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getExamname() {
return examname;
}
public void setExamname(String examname) {
this.examname = examname;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
public String getStarttime() {
return starttime;
}
public void setStarttime(String starttime) {
this.starttime = starttime;
}
public ExamPOJO(){}
public ExamPOJO(long id, String examname, String name, int score, String starttime) {
this.id = id;
this.examname = examname;
this.name = name;
this.score = score;
this.starttime = starttime;
}
public ExamPOJO(String examname, String name, int score, String starttime) {
this.examname = examname;
this.name = name;
this.score = score;
this.starttime = starttime;
}
}
View Code
package com.hanqi.kaoshi.exam;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import com.hanqi.kaoshi.Zhuce.DBHelper;
import java.util.ArrayList;
/**
* Created by Administrator on 2016/7/4.
*/
public class ExamDAO {
private DBHelper dh;
private final String TABLE_NAME="t_exam";
public ExamDAO(Context context)
{
dh=new DBHelper(context);
}
//增
public long insert(ExamPOJO exam)
{
long rtn=0;
SQLiteDatabase sd=dh.getReadableDatabase();
ContentValues contentValues=new ContentValues();
contentValues.put("examname",exam.getExamname());
contentValues.put("name",exam.getName());
contentValues.put("score",exam.getScore());
contentValues.put("starttime",exam.getStarttime());
rtn=sd.insert(TABLE_NAME, null, contentValues);
sd.close();
return rtn;
}
//删
public long delete(ExamPOJO exam)
{
SQLiteDatabase sqLiteDatabase=dh.getWritableDatabase();
long rtn=sqLiteDatabase.delete(TABLE_NAME, "_id=?", new String[]{exam.getId() + ""});
sqLiteDatabase.close();
return rtn;
}
//改
public long update(ExamPOJO exam)
{
SQLiteDatabase sqLiteDatabase=dh.getWritableDatabase();
ContentValues contentValues=new ContentValues();
contentValues.put("examname",exam.getExamname());
contentValues.put("name",exam.getName());
contentValues.put("score",exam.getScore());
contentValues.put("starttime",exam.getStarttime());
long rtn=sqLiteDatabase.update(TABLE_NAME, contentValues, "_id=?"
, new String[]{exam.getId() + ""});
sqLiteDatabase.close();
return rtn;
}
//查
public ArrayList<ExamPOJO> getAll()
{
ArrayList<ExamPOJO> arraylist=new ArrayList<>();
SQLiteDatabase sqlitedatabase=dh.getWritableDatabase();
Cursor cursor=sqlitedatabase.query(TABLE_NAME,null,null,null,null,null,null);
while (cursor.moveToNext())
{
ExamPOJO exam=new ExamPOJO(cursor.getLong(0),cursor.getString(1),cursor.getString(2),
cursor.getInt(3),cursor.getString(4));
arraylist.add(0,exam);
}
sqlitedatabase.close();
return arraylist;
}
}
View Code