Android学生管理系统

由android + mysql实现

1.需求分析

功能需求和页面需求两天没有细想,想到啥功能写啥功能想到啥界面写啥界面

2.系统设计

总体界面结构参照了微信的设计结构,主要功能包括管理员的注册和登录,所有学生信息的查询、单个学生信息的添加。


界面主要由两下方的按钮部分和上方的功能部分组成,每一个按钮又是一个不同的Fragment,每一个功能也是一个不同的Fragment。

2.1按钮

布局为垂直线性布局,从上到下依次是ImageButton以及TextView。

其余三个按钮类似,不做过多介绍。

2.2登陆/注册功能

布局为ConstraintLayout,由ImageView、两个TextView、两个按钮构成

2.3所有学生信息功能

布局为垂直线性布局,从上到下依次是TextView,TableLayout。为TableLayout添加五列,分别是学生的学号、专业、姓名、性别、年龄。

2.4添加学生信息

布局为ConstraintLayout

以上四个按钮+三个Fragment共同组成了整个学生管理系统

3.数据库设计

3.1用户表

用户的属性为用户名和密码

字段名 字段类型 字段长度
username String 50
password String 50

3.2学生表

学生的属性为学号、专业、姓名、性别、年龄

字段名 字段类型 字段长度
id String 20
major String 20
name String 20
age int 20
gender String 20

4.系统实现

4.1 Fragment的界面切换

将四个不同按钮的界面设计好后,分别新建四个不同的Fragment的子类与四个不同的按钮相对应

  1. 登录/注册按钮
  2. 所有学生信息按钮
  3. 添加学生信息按钮
  4. 查询学生信息按钮

添加完毕之后,为主页面添加四个fragments与上面四个类相对应,并在主页面中添加相应的点击事件监听,并创建四个功能界面碎片的实例。之后的主要逻辑为,先隐藏所有的界面碎片实例,在根据按钮的不同来展现不同的碎片实例。



上图是登录注册界面部分的切换,其他类似。
至此,Fragment页面切换功能结束。

4.2 登录注册功能

  1. 注册功能
    首先先完成新建一个名为Dao层的包来存放对数据库的增删改查,并新建一个叫userDao的类来编写对用户信息的增删改查
    添加用户

    通过用户名查询用户信息

    其次在新建一个名为service的包来存放业务逻辑处理,例如用户的登录注册,学生信息的添加和查询
    用户注册业务逻辑

    最后在注册按钮处调用对应的方法,值得一提的是,android调用数据库方法需要在一个子线程中启动。
    获取输入信息

    调用方法
  2. 登录
    用户登录业务逻辑

    调用方法

4.3所有学生信息查询

首先新建一个叫studentDao的类来编写对学生信息的增删改查
所有学生信息查询

添加学生信息

通过学号查询学生信息

调用方法
依旧是开启一个线程,在使用java语句手动创建一行向tableLayout中添加以查询到的数据

public void run() {for (int i = 0; i<mStudentList.size(); i++){TableRow row = new TableRow(getContext());text1 = new TextView(getContext());text1.setText(mStudentList.get(i).getId());text1.setTextSize(20); //字体大小text1.setTextColor(R.color.teal_200);text1.setGravity(Gravity.CENTER); //居中显示text2 = new TextView(getContext());text2.setText(mStudentList.get(i).getMajor());text2.setTextSize(20); //字体大小text2.setGravity(Gravity.CENTER); //居中显示text3 = new TextView(getContext());text3.setText(mStudentList.get(i).getName());text3.setTextColor(R.color.teal_200);text3.setTextSize(20); //字体大小text3.setGravity(Gravity.CENTER); //居中显示text4 = new TextView(getContext());text4.setText(String.valueOf(mStudentList.get(i).getAge()));text4.setTextSize(20); //字体大小text4.setGravity(Gravity.CENTER); //居中显示text5 = new TextView(getContext());text5.setText(mStudentList.get(i).getGender());text5.setTextSize(20); //字体大小text5.setGravity(Gravity.CENTER); //居中显示row.addView(text1);row.addView(text2);row.addView(text3);row.addView(text4);row.addView(text5);mTableLayout.addView(row);}}

并在主线程中更新

mStudentDao = new studentDao();mTableLayout = view.findViewById(R.id.table);new Thread(new Runnable(){public void run(){mStudentList =mStudentDao.findAllDao();handler.post(mRunnable);}}).start();

所有学生信息查询功能结束

4.4添加学生信息

业务逻辑

//添加学生数据public boolean add(Student student){if (mStudentDao.findByIdDao(student.getId()).getId()!=null){return false;}mStudentDao.addDao(student);return true;}

数据获取

调用方法

至此,添加学生信息功能结束

5. 运行结果

5.1所有学生信息的查询


其他功能不好展现,在这里就不展现了,有什么做的不好的地方请多多指教。

Android 学生管理系统相关推荐

  1. google vr 入门之制作简易的VR播放器(三),android学生管理系统项目视频

    // 使用google vr 添加的 compile 'com.google.vr:sdk-base:1.40.0' compile 'com.google.vr:sdk-audio:1.40.0' ...

  2. 基于Android的学生管理系统的设计与实现

    一.选题理论及实际意义 目前, 无线通信技术日臻成熟.在此背景下,移动通信技术快速发展,信息传递方式产生了革命性的变化,信息传递的质量.效率大大提高,为人们的生活提供了极大便利.随着WiFi及4G无线 ...

  3. android 学生信息管理系统,android学生信息管理系统的报告.docx

    android学生信息管理系统的报告 基于Android的学生信息管理系统初探 [摘要]智能移动端迅猛发展,学生信息管理的数字化是教学透明的又一个重要体现,本文主要阐述基于基于Android的学生信息 ...

  4. 【Android基础】学生管理系统

    用户可以输入姓名.性别.年龄三个字段,通过点击添加学生按钮,将学生信息展示到开始为空的ScrollView控件中,ScrollView控件只能包裹一个控件,我这里包裹的是LinearLayout.点击 ...

  5. android学生移动考勤信息管理系统

    android学生移动考勤信息管理系统 emmmm 本系统带程序说明书   有需要的可以去我上传的资源里面找,找不到的话,评论我,或者站内私信留下邮箱, 我看到机会给你发,也可以主动联系我博客名. 因 ...

  6. android的学生管理系统,Android实现学生管理系统

    本文实例为大家分享了Android实现学生管理系统的关键性代码,供大家参考,具体内容如下 局部效果图: 实现代码: 1.布局 package="com.itheima27.sutdentma ...

  7. Android——一个简单的学生管理系统

    一个简单的学生管理系统 效果演示 实现功能总览 代码 效果演示 随手做的一个小玩意,还有很多功能没有完善,倘有疏漏,万望海涵. 实现功能总览 实现了登录.注册.忘记密码.成绩查询.考勤情况.课表查看. ...

  8. android的学生管理系统,Android版学生管理系统

    用户可以输入姓名.性别.年龄三个字段,通过点击添加学生按钮,将学生信息展示到开始为空的ScrollView控件中,ScrollView控件只能包裹一个控件,我这里包裹的是LinearLayout.点击 ...

  9. 05_学生管理系统,xml读写,布局的综合应用

     最终要做的项目目标: 2.编写Android清单文件AndroidManifest.xml <?xml version="1.0" encoding="utf ...

  10. 教育培训机构学生管理系统

    摘  要 计算机网络如果结合使用信息管理系统,能够提高管理员管理的效率,改善服务质量.优秀的教育培训机构学生管理系统能够更有效管理教育培训机构学生信息业务规范,帮助管理者更加有效管理教育培训机构学生信 ...

最新文章

  1. java 判断页面刷新_如何判断一个网页是刷新还是关闭的方法
  2. 如何使用C#在ASP.NET Core中轻松实现QRCoder
  3. Html5页面和Native App怎么进行交互
  4. python2.7可以同时连接两个数据库吗
  5. 各种平台解压压缩总结
  6. Hello Python程序演练
  7. 微服务太分散?使用Fundebug集中式bug监控
  8. neo4j 删 delete
  9. appscan无法连接到服务器_和平精英无法连接到服务器是怎么回事 最新解决方案...
  10. 我的世界游戏服务器改名
  11. 算法分析与设计实验报告——实现分治法求解棋盘覆盖问题
  12. adb ps shell 查看进程_adb shell查看进程方法
  13. android集成华为push 6003错误,以及华为低版本crash问题
  14. 超子的水族箱升级计划
  15. Window笔记本触摸板手势大全
  16. oho,找工作有点难度
  17. BigSur下Safari14.1.1安装油猴插件(Tampermonkey)
  18. STM32-SPI资料整理
  19. apple pay
  20. 125w短波通信距离_超短波通信距离浅析

热门文章

  1. Activiti 单环节多人办理一件
  2. CentOS 6.0 安装 Atheros ar8151 网卡驱动
  3. 人物抠图(Photoshop技巧系列)
  4. php 同义词词库,php实现seo伪原创,同义词替换 | 学步园
  5. java使用itext实现把数据库中查到的数据转换成pdf
  6. 怎么把PDF文档中的重要信息改成红色字体
  7. Latex英文论文模板汇总(elsevier、arXiv、IEEE Access)
  8. CCS安装教程——学习DSP的第一步
  9. Java二维码的生成以及附加Logo
  10. Qt5.9.1安装包下载