该学生信息管理系统具有添加学生信息的功能、删除学生信息的功能、修改学生信息功能和查询学生信息的功能。利用Sqlite数据库实现对学生信息的增删改查,登录密码也采用了MD5加密的方式,更加注重用户隐私安全。除了有欢迎界面,还有注册和登录界面,满足应用的基础需求,主界面和四个独立的操作界面流畅跳转。使用了ListView、Sqlite、Handler、Intent和SharedPreferences等Android基础知识。
当然对数据表进行的各种增删改查操作都在StudentsDao中进行了集成:
- addStudents()向values数组中插入学生信息的键值对,然后insert()插入到表中。
- deletStudents()从数据表中删除指定id的学生信息。
- updateStudents()向values数组中插入学生信息的键值对,并且update()更新指定id的学生信息。
- getStudents()通过id获取到该学生的所有信息,使用cursor从头到尾扫描一条记录。
- getAllstudents()查询数据表中所有的学生信息记录,返回的是信息列表。
在登录注册前还有进入应用的3s欢迎界面,实现起来很简单,其实就是使用Handler消息传递机制,延迟3000ms后执行run()中的intent跳转,并且销毁自身的activity。
登录和注册界面的activity实现起来有很多细节,首先最基本的需求就是你登录的账号和密码要正确,这就需要从数据库中搜索登录账号对应的密码,然后与用户输入的密码进行比对。前面我们说过,密码经过了MD5加密存储在SharedPreferences中,所以,我们中间也要转换一步。
其次,注册的用户账号不能已存在,即用户的账号是键属性,非空且唯一。而且输入的账号和密码不能为空,且不能包含非法字符。
最后,登录时,如果账号不存在也无法登录。无论登录成功与否都会提示相关信息。
增删改查四个activity中,我们以AddActivity添加学生信息为例,其实都是对数据库中的学生表进行操作。首先填写完学生信息后,点击【添加】按钮,那么就会执行下面的点击事件。
- 获取到每个EditText的文本信息并且转成String字符串类型。
- 检验信息是否正确,isEmpty()判断是否为空。如果id空,则请输入学号,如果name空,请输入姓名,如果major空,请输入专业,如果class空,请输入班级。
- 执行到此步,肯定信息都输入正确,那么初始化一个Student对象o,将获取的String类型的学生信息分别赋值给对象的属性。
- dao对象打开数据库,执行数据库的添加信息,然后关闭数据库,结束活动。
想要立即拥有这篇文章的源代码?没问题!两种方式任你选:💻直接点击下方CSDN专属下载链接,轻松get√;🎁或者,只需动动手指指关注公众号《萌新加油站》,回复下方关键词即刻解锁!快来探索你的技术宝藏,开启编程新旅程吧!🚀