Quokka

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

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;
        }
    }

如此,就完成了一条数据的添加与删除

EDN

posted on 2017-05-16 21:22  Quokka  阅读(164)  评论(0编辑  收藏  举报