当前位置:   article > 正文

Android 学生管理系统_android学生管理信息系统

android学生管理信息系统

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用户表

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

字段名字段类型字段长度
usernameString50
passwordString50
3.2学生表

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

字段名字段类型字段长度
idString20
majorString20
nameString20
ageint20
genderString20

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);
            }
        }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40

并在主线程中更新

mStudentDao = new studentDao();
        mTableLayout = view.findViewById(R.id.table);
        new Thread(new Runnable(){
            public void run(){
                mStudentList =mStudentDao.findAllDao();
                handler.post(mRunnable);
            }
        }).start();
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

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

4.4添加学生信息

业务逻辑

//添加学生数据
    public boolean add(Student student){
        if (mStudentDao.findByIdDao(student.getId()).getId()!=null){
            return false;
        }
        mStudentDao.addDao(student);
        return true;
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

数据获取
在这里插入图片描述
调用方法
在这里插入图片描述
至此,添加学生信息功能结束

5. 运行结果

5.1所有学生信息的查询

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

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号