Android作业之数据储存与删除
a) 将学生信息存入数据库
b) 显示所有学生信息列表
c) 删除数据库表中第一条信息。
既然是关于数据库的作业,就需要安装一个数据库,有没有可视化窗口都无所谓。不管是SQL还是什么数据库都可以的。然后用代码打开数据库创建一个表。
(这里面我觉得要注意的是SQL语句注意别写错,写错AS并不会报错导致找半天找不到错哪了)
public void insert(Student student) {
// 1. 打开数据库
db = helper.getWritableDatabase();
// 第一种方法
// 2. 生成数据集合
ContentValues values = new ContentValues();
values.put("name", student.getName());
values.put("classmate", student.getClassmate());
values.put("age", student.getAge());
// 3. 执行语句
db.insert("student", null, values);
// 第二种方法
// 直接执行SQL语句
String sql = "insert into student(name, classmate, age) values(?,?,?)";
db.execSQL(sql, new Object[]{
student.getName(),
student.getClassmate(),
student.getAge()});
}
向刚才创建的表中加入数据
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.btn_confirm:
// 获取输入的值
String name = etName.getText().toString();
String classmate = etClassmate.getText().toString();
int age = Integer.valueOf(etAge.getText().toString());
// 对必填项作非空判断
if(TextUtils.isEmpty(name) || TextUtils.isEmpty(classmate)) {
Toast.makeText(this, "姓名、班级不能为空", Toast.LENGTH_SHORT).show();
return;
}
// 将这些数据存储到数据库
// 2. 调用StudentDAO的insert()方法插入到数据库
StudentDAO studentDAO = new StudentDAO(this);
if(flag) {
// 1. 组装Student对象
Student student = new Student(name, classmate, age);
studentDAO.insert(student);
} else {
//修改
if(student != null) {
student.setName(name);
student.setClassmate(classmate);
student.setAge(age);
studentDAO.update(student);
}
}
// 跳转到原来的主界面刷新列表
setResult(2001); // resultCode:2001
finish();
}
}
而后是主界面的执行代码
@Override
public void onClick(View view) {
Intent intent = new Intent(MainActivity.this, InsertActivity.class);
switch (view.getId()) {
case R.id.btn_add:
// 跳转到添加界面
intent.putExtra("flag", true); //flag: 用于判断是添加还是修改,true:添加
startActivityForResult(intent, 1001);
break;
case R.id.btn_update:
if(student != null) {
// 将选中的Student传给InsertActivity
Bundle bundle = new Bundle();
bundle.putSerializable("student", student);
intent.putExtras(bundle);
intent.putExtra("flag", false);
startActivityForResult(intent, 1001);
} else {
Toast.makeText(MainActivity.this, "请选择一条数据",
Toast.LENGTH_SHORT).show();
}
break;
}
}
如此,就完成了一条数据的添加与删除