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

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

SQLite 简介

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

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

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

为什么要用 SQLite?

  • 不需要一个单独的服务器进程或操作的系统(无服务器的)。
  • SQLite 不需要配置,这意味着不需要安装或管理。
  • 一个完整的 SQLite 数据库是存储在一个单一的跨平台的磁盘文件。
  • SQLite 是非常小的,是轻量级的,完全配置时小于 400KiB,省略可选功能配置时小于250KiB。
  • SQLite 是自给自足的,这意味着不需要任何外部的依赖。

项目效果截图

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

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

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

辅导员:(审批请假,审批返校)

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

学院疫情负责人

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

学院疫情工作联系人

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

核心代码实现

登录

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() + "学生");
        }

    }
}

Original: https://blog.csdn.net/jky_yihuangxing/article/details/127960619
Author: 东晋谨慎的冬瓜
Title: Android程序设计之学校疫情防控管理

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/816600/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球