基于Android的学生管理系统App设计与实现(Eclipse开发)

news/2024/5/6 9:28:55/文章来源:https://blog.csdn.net/newlw/article/details/128114027

目 录
摘 要 I
Abstract II
1 绪论 1
1.1 选题背景及意义 1
1.2 研究现状 1
1.2.1 教育系统发展现状 1
1.2.2 手机的应用市场发展现状 1
1.2.3 Android平台介绍 3
1.2.4 Android管理学生信息的意义 5
1.3.3 开发的环境及开发工具介绍 6
1.3 研究主要内容 6
2 相关技术介绍 7
2.1 Android的系统框架 7
2.2 Android的特性 7
2.3 Android的开发环境的搭建 8
2.4 Android的数据库 9
3 学生信息管理及沟通系统系统设计 13
3.1 学生信息管理及沟通系统概述 13
3.1.1开展该系统的原因 13
3.1.2 基本目标 13
3.2 系统需求分析 13
3.2.1 性能需求 14
3.2.2 功能需求 14
3.3 系统功能分析 14
3.4 可行性分析 15
3.4.1操作可行性 15
3.4.2技术可行性 15
3.4.3社会可行性 15
3.5 方案选择 15
3.6 任务概述 17
3.7 数据库的设计 17
3.8 系统流程图 20
4 学生信息管理及沟通系统功能实现 21
4.1 项目建立 21
4.2 类的创建 21
4.3.1 用户登录界面 22
4.3.2 用户注册界面 24
4.3.3 学生用户界面 24
4.3.4 教师用户界面 27
4.3.5 管理员界面 28
4.4 小结 30
5 学生信息管理及沟通系统系统测试 31
5.1 测试环境介绍 31
5.2 功能模块测试 31
5.3 系统性能分析 34
5.4 小结 34
总 结 35
致 谢 36
参考文献 37
3 学生信息管理及沟通系统系统设计
3.1 学生信息管理及沟通系统概述
3.1.1开展该系统的原因
由于现今的学生信息管理非常繁琐,需要管理人员耗费大量的工作时间,效率很低,因此为了提高工作效率,减轻工作的负担,决定改变开发学生信息管理及沟通系统软件。
3.1.2 基本目标
开发这个学生信息管理及沟通系统,为学校的管理员提供了便捷的学生信息管理条件,方便的进行查询,增删。此外,也允许学生,教师查看信息,及时的了解学校的动态。
学生界面实现:查询个人信息,查看系统公告,全体学生的成绩查询,开设课程查询和考试安排查询。
教师界面实现:查询个人信息,查看系统公告,全体学生的成绩查询,全体学生的信息查询。
管理员界面实现:查询学生信息,查询老师信息,录入学生成绩并可查询,添加教师,学生用户,发布公告,安排考试,课程管理。
3.2 系统需求分析
学生信息管理及沟通系统是一个学校不可缺少的一部分,它的内容对于学校的管理来说是至关重要的,因此,学生信息管理及沟通系统应该能够为用户提供充足人事管理的信息和查询手段,但一直以来人们使用传统的人工方式管理信息,这种管理方式存在着许多缺点,诸如效率低,保密性差等,而且时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。作为计算机应用的一部分,使用计算机对学生信息信息进行管理,具有手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生信息管理的效率,也是学校的科学化、信息化管理,与世界接轨的重要条件。因此,开发一个学生信息管理及沟通系统是很有必要的,具有其特有的技术意义和管理意义。
3.2.1 性能需求
作为一个数据库系统,首先,系统要有很好的稳定性和可维护性,使得系统易于维护;其次,系统要有很好的可扩展性,能够在现有框架不变的前提下增加新的业务逻辑,进行二次开发;第三,系统要有很好的可移植性,在Windows系统下开发,适合觉得部分用户,以满足不同用户的需求;第四,系统要考虑使用该系统的所有用户的实际操作水平,尽可能使界面简洁、美观、操作简单。
3.2.2 功能需求
本软件由登陆界面需要分别进入学生界面,教师界面,管理员界面。
学生界面实现:查询个人信息,查看系统公告,全体学生的成绩查询,开设课程查询和考试安排查询。
教师界面实现:查询个人信息,查看系统公告,全体学生的成绩查询,全体学生的信息查询。
管理员界面实现:查询学生信息,查询老师信息,录入学生成绩并可查询,添加教师,学生用户,发布公告,安排考试,课程管理。
3.3 系统功能分析
该系统的开发目标是实现学生信息管理的方便化,信息化,规范化,能够使管理员便捷的管理,用户方便的查看自己需要的信息。所以,具体的功能要求如下:
学生信息的管理: 可存储学生的基本信息,可进行添加,删除操作。
教师信息的管理:可存储教师的基本信息,可添加,可删除,可查询学生的信息。
课程的管理:可查询当前开设的课程,可添加,可删除。
成绩的管理:可查询学生成绩,可添加,可删除。
考试安排的管理:可为相关的专业考试安排具体的考试地址,可删除。
消息发布机制的管理:可发布学生,教师相关的信息,供学生,教师注意,可删除,可添加。
登陆账号密码的管理:可根据相应注册的帐号密码以及对应的角色选择,三者共同确定,登录相应的应用界面,可添加,可删除。

package com.briup.systemofstudent;import java.sql.Date;import android.app.Activity;
import android.content.Intent;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CompoundButton;
import android.widget.EditText;
import android.widget.Switch;
import android.widget.Toast;
import android.widget.CompoundButton.OnCheckedChangeListener;public class AddUserManActivity extends Activity{private EditText nameEt,sexyEt,nationalEt,majorEt,class1Et,idEt,dateEt,cardEt,addressEt;private Button save,exit;private SQLiteDatabase db;private MySQLiteDataBaseHelper helper;private Switch switcher;protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);
setContentView(R.layout.activity_adduser);
switcher=(Switch)findViewById(R.id.switcher);
OnCheckedChangeListener listener=new OnCheckedChangeListener() {public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {if(isChecked){}else{startActivity(new Intent(AddUserManActivity.this,UserManActivity.class));}}
};switcher.setOnCheckedChangeListener(listener);
nameEt=(EditText)findViewById(R.id.name);
sexyEt=(EditText)findViewById(R.id.sexy);
nationalEt=(EditText)findViewById(R.id.national);
majorEt=(EditText)findViewById(R.id.major);
class1Et=(EditText)findViewById(R.id.class1);
idEt=(EditText)findViewById(R.id.id);
dateEt=(EditText)findViewById(R.id.date);
cardEt=(EditText)findViewById(R.id.card);
addressEt=(EditText)findViewById(R.id.address);
helper =new MySQLiteDataBaseHelper(this, "account.db", null, 1);
db=helper.getReadableDatabase();
save=(Button)findViewById(R.id.save);
save.setOnClickListener(new OnClickListener() {public void onClick(View v) {String name=nameEt.getText().toString();String sexy=sexyEt.getText().toString();String national=nationalEt.getText().toString();String major=majorEt.getText().toString();String class1=class1Et.getText().toString();String id=idEt.getText().toString();String date=dateEt.getText().toString();String card=cardEt.getText().toString();String address=addressEt.getText().toString();insert(db, name,sexy,national,major,class1,id,date,card,address);Toast.makeText(AddUserManActivity.this, "添加成功", Toast.LENGTH_SHORT).show();			AddUserManActivity.this.finish();}
});exit=(Button)findViewById(R.id.exit);
exit.setOnClickListener(new OnClickListener() {public void onClick(View v) {Toast.makeText(AddUserManActivity.this, "已退出", Toast.LENGTH_SHORT).show();			AddUserManActivity.this.finish();}
});}public void mysave(View view){String name=nameEt.getText().toString();String sexy=sexyEt.getText().toString();String national=nationalEt.getText().toString();String major=majorEt.getText().toString();String class1=class1Et.getText().toString();String id=idEt.getText().toString();String date=(String)(dateEt.getText().toString());String card=cardEt.getText().toString();String address=class1Et.getText().toString();insert(db, name, sexy, national, major, class1, id, date, card, address);Toast.makeText(this,"成功", Toast.LENGTH_SHORT).show();AddUserManActivity.this.finish();}public void insert(SQLiteDatabase db,String name,String sexy,String national,String major,String class1,String id,String date,String card,String address){db.execSQL("insert into tb_student(_id,name,sexy,national,major,class,birthday,card,address) values(?,?,?,?,?,?,?,?,?)",new String[]{id,name,sexy,national,major,class1,date,card,address});}
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_228067.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【生成式网络】入门篇(三):Style Transfer 的 代码和结果记录

文章目录Style Transfer 记录Fast Style Transfer 记录Style Transfer 记录 经典文章xxx,理论就不介绍了,根据一个content图像,和一个style图像,可以把style图像的style迁移到content图像上。 在代码上有一个跟之前不同的地方&am…

硬件定义软件?还是,软件定义硬件?

文章目录**1 软件和硬件****1.1 软件和硬件的定义****1.2 “硬件定义软件”和“软件定义硬件”的定义****1.3 CPU,软件和硬件解耦****1.4 CPU的软硬件定义****2 硬件定义软件****2.1 系统从软件逐步到硬件****2.2 硬件架构决定了软件设计****2.2.1 ASIC的硬件定义**…

django 开启CSRFtoken校验,以及postman实现问题

1.0 Django默认的CSRFtoken 表现: 后端使用的是Django的表单验证 post请求携带参数的问题 2.0 先处理post请求携带数据的csrfmiddlewaretoken 在登录界面 在input输入框中隐藏,所以需要提取input的value值,在【tests】脚本中进行提取&…

【C++11重点语法】lambda表达式,初始化列表

目录 引子:C11为什么的源来 语法1:初始化列表 1.2.2 多个对象的列表初始化 语法3:默认成员函数控制(delete,default) 语法4:lambda表达式 引子:C11为什么的源来 在2003年C标准…

简述RabbitMQ的架构设计

Broker: rabbitmq的服务节点Queue: 队列,是RabbitMQ的内部对象,⽤于存储消息。RabbitMQ中消息只能存储在队列中。⽣产者投递消息到队列,消费者从队列中获取消息并消费。多个消费者可以订阅同⼀个队列,这时队…

【Linux】shell命令行简单解释器

回顾一下,我们前面学习了进程创建,进程终止,进程等待,进程替换,通过这些内容我们可以来进行实现简单的shell命令行解释器!!!下面我们直接来看一看如何去实现shell命令行解释器&#…

[附源码]Python计算机毕业设计SSM临港新片区招商引资项目管理系统的设计与实现(程序+LW)

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

嫦娥五号探测器详细介绍

嫦娥五号(Change 5),即嫦娥五号探测器,是由中国空间技术研究院研制的中国首个实施无人月面取样返回的航天器,是完成中国探月工程重大科技专项“绕、落、回”三步走发展战略最后一步的关键任务。 中国探月工程三步走 嫦…

cisco asa学习笔记

cisco asa学习笔记一、网络模拟实验中的问题调试记录1、ASA自身接口地址ping不通(从远端路由过来的主机)2、同安全级别的接口默认不能通信&#xff0c;怎么才能通信&#xff1f;3、一个asa连接3个路由器&#xff0c;互联互通解决方案<1>方案1 全局开启policy-map inspect…

算法竞赛入门【码蹄集进阶塔335题】(MT2281-2285)

算法竞赛入门【码蹄集进阶塔335题】(MT2281-2285&#xff09; 文章目录算法竞赛入门【码蹄集进阶塔335题】(MT2281-2285&#xff09;前言为什么突然想学算法了&#xff1f;为什么选择码蹄集作为刷题软件&#xff1f;目录1. MT2281 另一种模2. MT2282 小码哥的认可3. MT2283 整数…

影响工业产品设计的主要因素

设计师对工业产品的产品外观设计主要依靠形状、图案和颜色的结合&#xff0c;创造出具有一定功能性质的新产品。在这个过程中&#xff0c;设计师需要充分利用各种因素&#xff0c;外观工业设计公司强调材料的机制和颜色。那么&#xff0c;影响产品设计的主要因素是什么呢? 一、…

【Linux】8.0 多线程

文章目录1.0 Linux线程概念1.1 Linux线程基本概念1.2 Linux线程优劣介绍2.0 Linux线程控制2.1 pthread_create(创建线程)2.2 pthread_join(线程等待)2.3 pthread_exit(线程终止)2.4 pthread_detach(线程分离)3.0 线程id和LWP的关系4.0 Linux线程互斥4.1 线程互斥相关概念4.2 线…

spring-boot-starter-data-redis 引发的一系列惨案

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency> pom 引入jar包 &#xff0c;如果redis配置文件使用 lettuce &#xff0c;还需要引入 commons-pool2 &a…

数据可视化,销量第一的新能源汽车是什么?比亚迪新能源汽车销量接近60万辆

去年以来&#xff0c;新能源汽车火热度席卷全球&#xff0c;中国的新能源汽车无论制造或者销售&#xff0c;数量增长迅猛。下面小编用一款数据可视化软件&#xff0c;带你用可视化数据解读高端制造背后&#xff0c;中国新能源汽车的具体销售情况。同样如果你工作上有数据报表需…

固话号码认证有什么好处?固话号码认证有什么作用?

固话号码认证为企业提供号码认证服务&#xff0c;在来电时显示企业信息&#xff0c;可提高电话号码辨识度&#xff0c;防止错误标记&#xff0c;确保展现的企业信息与企业的手机终端、APP等多平台展示信息一致&#xff0c;保证品牌企业的身份及商业价值。 那如何上线号码认证服…

多点DMALL × Apache Kyuubi:构建统一SQL Proxy探索实践

伴随着国家产业升级的推进和云原生技术成熟&#xff0c;多点 DMALL 大数据技术也经历了从存算一体到存算分离的架构调整变迁。本文将从引入 Kyuubi 实现统一 SQL Proxy 的角度讲述这一探索实践的历程。 多点 DMALL 成立于2015年&#xff0c;提供一站式全渠道数字零售解决方案 D…

离线解锁 CodeCombat 全关卡教程 使用docker安装实现

背景 暂时还没收入&#xff0c;想玩顺便&#xff0c;但官方的有点贵&#xff08;是真的贵&#xff0c;扛不住&#xff09; 前期准备 下载安装docker desktop https://www.123pan.com/s/fmvUVv-HqApH&#xff0c; 这个安装不会的随便搜一个教程&#xff0c;挺多的。我随便找了一…

HTML篇_二、HTML简介_HTML入门必修第一课

HTML篇_二、HTML简介 一、HTML的基本结构 1.1 HTML的基本结构及解析 基本结构 这里我们先放一段代码块来进行展示&#xff0c;感受一下来自HTML的魅力。然后下文再对这段代码块进行解析。 <!DOCTYPE html> <html><head><meta charset"utf-8&quo…

使用自己的数据集测试Unbiased Mean Teacher for Cross-domain Object Detection

要复现Unbiased Mean Teacher for Cross-domain Object Detection&#xff08;UMT&#xff09;&#xff0c;首先要正确运行CycleGAN。 1. CycleGAN CycleGAN的github链接&#xff1a;https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix 1.1 CycleGAN环境配置 git cl…

[附源码]SSM计算机毕业设计学生宿舍设备报修JAVA

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…