安卓(android)学生管理系统
1.功能需求 (项目的主要功能模块)
学生信息模块(添加学生、查看学生列表、编辑学生信息、删除学生)、成绩管理模块(成绩录入、成绩统计分析、成绩查询等)、用户管理模块(用户注册、登录、权限分配等)。在添加学生信息时,需要填写学生的姓名、性别、学号、手机号、密码、数学成绩、语文成绩、英语成绩等字段,并且对输入数据进行合法性验证。
1.1系统模块划分
用户登录模块:主要由student_login_activity类实现,负责接收学生输入的学号和密码,与数据库中存储的信息进行比对验证,验证通过后跳转到学生主界面,并传递学号信息。
学生主界面模块:对应studentActivity类,在此界面提供查看个人详细信息以及修改密码的功能按钮,点击按钮触发相应逻辑,通过数据库操作展示或更新对应学生的数据。
学生信息展示模块:由studentinfoActivity类承担,从数据库获取学生信息列表,利用自定义的StudentAdapter或StudentScoreAdapter将数据适配并展示在ListView中,同时针对列表项的点击操作,提供查看详细信息、删除学生信息以及修改学生信息等功能选项,通过与数据库交互完成对应操作。
数据库管理模块:即myDatabaseHelper类,负责数据库的创建(包含创建管理员表和学生表)、初始化表结构以及处理数据库版本升级时的表结构变更(如添加成绩排名列等操作),是整个系统数据持久化的基础保障。
工具类模块:像RoundImageView类用于实现自定义圆形头像展示,MyBroadcastBestPractice类用于实现强制下线的广播接收功能等,为系统提供一些辅助性的功能支持,增强用户体验和系统安全性等方面的特性。
1.2模块间关系
用户登录模块与学生主界面模块:登录模块验证成功后通过Intent启动学生主界面模块,并传递学号信息,使得学生主界面能基于该学号从数据库获取对应学生的相关数据进行展示和后续操作。
学生主界面模块与学生信息展示模块:主界面中的查看个人详细信息等功能会涉及到从学生信息展示模块获取并展示更详细的学生信息,同时修改密码等操作完成后,相应的数据更新会反映在信息展示模块中呈现的数据上,它们都依赖数据库管理模块进行数据的读写操作。
学生信息展示模块与数据库管理模块:信息展示模块需要频繁地从数据库管理模块所管理的数据库中查询学生信息数据来填充列表、获取详细信息等,同时在执行删除、修改等操作时,也需要调用数据库管理模块提供的数据库操作方法来更新数据库中的数据记录。
类图如下:
2.数据库设计
2.1数据库的ER图
实体:
管理员(admin):包含属性有管理员编号(id,整数类型,为主键且自动递增)、管理员姓名(name,文本类型)、管理员密码(password,文本类型)。
学生(student):包含学号(id,文本类型,为主键)、姓名(name,文本类型)、密码(password,文本类型)、性别(sex,文本类型)、手机号(number,文本类型)、数学成绩(mathScore,整数类型)、语文成绩(chineseScore,整数类型)、英语成绩(englishScore,整数类型)、排名(ranking,整数类型)。
关系:
目前代码中体现的主要是各个实体内部的属性关联,暂未明确体现多实体之间的关系(如管理员与学生之间的关联等),整体相对简单,每个实体独立存在,通过各自表结构来存储相关数据信息。
- R图如下:
2.2表结构设计
管理员表(admin):
id:整数类型,设置为主键并且自动递增,用于唯一标识每个管理员账号,
name:文本类型,用于存储管理员的姓名。
password:文本类型,存储管理员登录密码。
id:文本类型,作为主键,唯一标识每个学生。
name:文本类型,存储学生的真实姓名。
password:文本类型,存放学生登录密码。
sex:文本类型,记录学生性别,取值一般为 “男” 或 “女”。
number:文本类型,用于存储学生的手机号码,
mathScore:整数类型,保存学生的数学科目成绩,取值范围通常是 0 - 100 等合理的成绩区间。
chineseScore:整数类型,存储语文科目成绩,范围类似数学成绩区间。
englishScore:整数类型,记录英语科目成绩,也是相应合理的成绩范围。
ranking:整数类型,用于存放学生的成绩排名信息,按成绩高低顺序确定具体的排名数值。
2.3数据存储方案
数据存储基于安卓系统内置的 SQLite 数据库实现,通过myDatabaseHelper类来管理数据库的创建、打开以及版本升级等操作。
3.结果效果
4、代码下载地址(如果代码有错漏,可查看源码):
android: 实现注册界面、实现注册界面、饭堂小广播、音乐播放器、记事本、读取手机通讯录、学生管理系统 - Gitee.com