Android程序设计之学校疫情防控管理

基于Android实现的学校疫情防控管理,项目采用SQLite来存储数据。

SQLite 简介

SQLite是一个软件库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite是一个增长最快的数据库引擎,这是在普及方面的增长,与它的尺寸大小无关。SQLite 源代码不受版权限制。

什么是 SQLite?
SQLite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。它是一个零配置的数据库,这意味着与其他数据库不一样,您不需要在系统中配置。

就像其他数据库,SQLite 引擎不是一个独立的进程,可以按应用程序需求进行静态或动态连接。SQLite 直接访问其存储文件。

为什么要用 SQLite?

  • 不需要一个单独的服务器进程或操作的系统(无服务器的)。

  • SQLite 不需要配置,这意味着不需要安装或管理。

  • 一个完整的 SQLite 数据库是存储在一个单一的跨平台的磁盘文件。

  • SQLite 是非常小的,是轻量级的,完全配置时小于 400KiB,省略可选功能配置时小于250KiB。

  • SQLite 是自给自足的,这意味着不需要任何外部的依赖。


项目效果截图

学生端:(上交健康表,申请请假,申请返校)
在这里插入图片描述
在这里插入图片描述

教师端:(上交教师健康表,申请入校)

在这里插入图片描述

辅导员:(审批请假,审批返校)
在这里插入图片描述


学院疫情负责人

在这里插入图片描述


学院疫情工作联系人
在这里插入图片描述


核心代码实现

登录

package com.app.disease;

import android.content.Intent;
import android.text.TextUtils;
import android.view.View;
import android.widget.Toast;

import com.app.disease.base.BaseActivity;
import com.app.disease.dao.UserDao;
import com.app.disease.databinding.ActivityLoginBinding;
import com.app.disease.entity.UserInfo;

public class LoginActivity extends BaseActivity {
    private ActivityLoginBinding mBinding;
    private UserDao mUserDao;

    @Override
    protected View getLayoutId() {
        mBinding = ActivityLoginBinding.inflate(getLayoutInflater());
        return mBinding.getRoot();
    }

    @Override
    protected void setListener() {

        mBinding.register.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                startActivity(new Intent(LoginActivity.this, RegisterActivity.class));
            }
        });

        mBinding.login.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                String username = mBinding.username.getText().toString();
                String password = mBinding.password.getText().toString();
                if (TextUtils.isEmpty(username) || TextUtils.isEmpty(password)) {
                    Toast.makeText(LoginActivity.this, "用户名或密码不能为空", Toast.LENGTH_SHORT).show();
                } else {
                    UserInfo login = mUserDao.login(username);
                    if (null != login) {
                        if (login.getUsername().equals(username) && login.getPassword().equals(password)) {
                            if (login.getRegister_type().equals("学生")) {
                                UserInfo.setUserInfo(login);
                                startActivity(new Intent(LoginActivity.this, StudentMainActivity.class));
                            } else if (login.getRegister_type().equals("辅导员")) {
                                UserInfo.setUserInfo(login);
                                startActivity(new Intent(LoginActivity.this, InstructorMainActivity.class));
                            } else if (login.getRegister_type().equals("教师")) {
                                UserInfo.setUserInfo(login);
                                startActivity(new Intent(LoginActivity.this, TeacherMainActivity.class));
                            } else if (login.getRegister_type().equals("学院疫情工作联系人")) {
                                UserInfo.setUserInfo(login);
                                startActivity(new Intent(LoginActivity.this, ContactsMainActivity.class));
                            } else if (login.getRegister_type().equals("学院疫情负责人")) {
                                UserInfo.setUserInfo(login);
                                startActivity(new Intent(LoginActivity.this, PrincipalMainActivity.class));
                            } else {
                                showToast("用户名或密码错误");
                            }
                        } else {
                            showToast("请先注册");
                        }


                    }

                }
            }
        });

    }

    @Override
    protected void initData() {
        mUserDao = new UserDao(this);
    }
}

注册

package com.app.disease;

import android.text.TextUtils;
import android.view.View;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Toast;

import com.app.disease.base.BaseActivity;
import com.app.disease.dao.UserDao;
import com.app.disease.databinding.ActivityRegisterBinding;


public class RegisterActivity extends BaseActivity {
    protected ActivityRegisterBinding mBinding;
    private UserDao mUserDao;
    private String register_type = "学生";

    @Override
    protected View getLayoutId() {
        mBinding = ActivityRegisterBinding.inflate(getLayoutInflater());
        return mBinding.getRoot();
    }

    @Override
    protected void setListener() {

        mBinding.radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup radioGroup, int i) {
                RadioButton rb_temp = findViewById(radioGroup.getCheckedRadioButtonId());
                register_type = rb_temp.getText().toString();
            }
        });

        mBinding.register.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                String username = mBinding.username.getText().toString();
                String password = mBinding.password.getText().toString();
                if (TextUtils.isEmpty(username) || TextUtils.isEmpty(password)) {
                    Toast.makeText(RegisterActivity.this, "用户名或密码不能为空", Toast.LENGTH_SHORT).show();
                } else {
                    int row = mUserDao.register(username, password, register_type);
                    if (row > 0) {
                        Toast.makeText(RegisterActivity.this, "注册成功", Toast.LENGTH_SHORT).show();
                    } else {
                        Toast.makeText(RegisterActivity.this, "注册失败", Toast.LENGTH_SHORT).show();
                    }
                    finish();

                }

            }
        });
    }

    @Override
    protected void initData() {
        mUserDao = new UserDao(this);

    }
}

学生端主页

package com.app.disease;


import android.content.Intent;
import android.view.View;

import com.app.disease.base.BaseActivity;
import com.app.disease.databinding.ActivityStudentMianBinding;
import com.app.disease.entity.UserInfo;

/***
 * 学生端主页
 */
public class StudentMainActivity extends BaseActivity {
    private ActivityStudentMianBinding mBinding;

    @Override
    protected View getLayoutId() {
        mBinding = ActivityStudentMianBinding.inflate(getLayoutInflater());
        return mBinding.getRoot();
    }

    @Override
    protected void setListener() {
        mBinding.healthCode.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                startActivity(new Intent(StudentMainActivity.this, HealthTableListActivity.class));
            }
        });

        mBinding.leave.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                startActivity(new Intent(StudentMainActivity.this, StudentLeaveListActivity.class));
            }
        });
        mBinding.backSchool.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                startActivity(new Intent(StudentMainActivity.this, BackSchoolListActivity.class));
            }
        });

    }

    @Override
    protected void initData() {

        UserInfo userInfo = UserInfo.getUserInfo();
        if (null != userInfo) {
            mBinding.title.setText("欢迎" + userInfo.getUsername() + "学生");
        }

    }
}
  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浩宇软件开发

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值