一个基于 SQLite 的学生选课管理系统,支持学生端和教师端两种角色,学生可以自主选课、查看成绩,教师可以统一管理学生和课程信息。
- 学生端:青蓝色主题(#00BCD4),清新明亮
- 教师端:紫色主题(#673AB7),专业稳重
- 登录页:蓝色主题(#1976D2),通用中性
- 卡片式布局 - 所有信息使用卡片容器,层次分明
- 彩色按钮 - 功能按钮使用不同颜色区分优先级
- 图标Emoji - 使用Emoji图标增强视觉识别
- 统一间距 - 严格的8dp网格系统,视觉统一
- 状态栏适配 - 学生端和教师端状态栏颜色不同
- 我的信息 - 查看个人基本信息(学号、姓名、性别、年龄、电话)
- 我的课程 - 查看已选修的所有课程及成绩
- 选课 - 浏览可选课程列表并选择新课程
- 我的成绩 - 查看各科成绩和平均分
- 更新个人信息 - 修改姓名、性别、年龄、电话(学号不可修改)
- 退出登录 - 返回登录界面
- 学生管理 - 添加、编辑、删除学生信息
- 课程管理 - 添加、编辑、删除课程信息
- 选课管理 - 为学生选课、录入成绩、删除选课记录
- 成绩查询 - 查询学生的各科成绩和平均分
- 统计信息 - 查看学生总数、课程总数、各课程选修人数
- 退出登录 - 返回登录界面
系统首次运行时自动导入示例数据:
学生(5名):
- 2021001 张三(男,20岁)
- 2021002 李四(女,19岁)
- 2021003 王五(男,21岁)
- 2021004 赵六(女,20岁)
- 2021005 孙七(男,22岁)
课程(6门):
- CS101 计算机基础(3学分)
- CS201 数据结构(4学分)
- CS301 操作系统(3.5学分)
- MATH101 高等数学(5学分)
- MATH201 线性代数(3学分)
- ENG101 大学英语(4学分)
选课记录(8条): 包含部分学生已选修部分课程并录入成绩。
- Android Studio
- JDK 17 或以上版本(当前配置JDK 21)
- Android SDK 24+
当前项目已配置 JDK 21 (D:\\Program Files\\Java\\jdk-21.0.10)。
如需修改,请在 gradle.properties 文件中更新:
org.gradle.java.home=你的JDK路径
gradlew assembleDebug或在 Android Studio 中点击 Build -> Make Project
连接Android设备或启动模拟器,然后运行应用。
- student_id (TEXT, 主键)
- name (TEXT)
- gender (TEXT)
- age (INTEGER)
- phone (TEXT)
- course_id (TEXT, 主键)
- course_name (TEXT)
- credits (REAL)
- student_id (TEXT, 外键)
- course_id (TEXT, 外键)
- grade (REAL, 默认-1表示未录入)
- 主键: (student_id, course_id)
app/src/main/java/com/example/studentcourse/
├── UserRole.java # 用户角色枚举
├── UserSession.java # 用户会话管理
├── DatabaseInitializer.java # 数据库初始化工具
├── Student.java # 学生模型
├── Course.java # 课程模型
├── Enrollment.java # 选课模型
├── DBHelper.java # 数据库帮助类
├── StudentDAO.java # 学生数据访问
├── CourseDAO.java # 课程数据访问
├── EnrollmentDAO.java # 选课数据访问
├── LoginActivity.java # 登录界面
├── MainActivity.java # 旧版主界面(保留)
├── StudentDashboardActivity.java # 学生端主界面
├── TeacherDashboardActivity.java # 教师端主界面
├── StudentMyCoursesActivity.java # 学生我的课程
├── StudentSelectCourseActivity.java # 学生选课
├── StudentGradesActivity.java # 学生成绩
├── StudentProfileActivity.java # 学生个人信息
├── StudentManageActivity.java # 教师-学生管理
├── StudentEditActivity.java # 教师-编辑学生
├── CourseManageActivity.java # 教师-课程管理
├── CourseEditActivity.java # 教师-编辑课程
├── EnrollmentManageActivity.java # 教师-选课管理
├── GradeQueryActivity.java # 教师-成绩查询
└── StatisticsActivity.java # 教师-统计信息
- 启动应用后,首先看到登录界面
- 选择角色(学生/教师)
- 输入学号/工号
- 点击登录按钮
示例账号:
- 学生:2021001(张三)
- 教师:T001(任意输入即可)
- 登录后查看个人信息
- 点击"我的课程"查看已选课程
- 点击"选课"选择新课程
- 点击"我的成绩"查看成绩和平均分
- 点击"更新个人信息"修改个人资料
- 点击"退出"返回登录界面
- 登录后查看教师信息
- 点击"学生管理"添加、编辑、删除学生
- 点击"课程管理"添加、编辑、删除课程
- 点击"选课管理"为学生选课、录入成绩
- 点击"成绩查询"查看学生成绩
- 点击"统计信息"查看统计数据
- 点击"退出"返回登录界面









