当前位置:   article > 正文

Android安卓学生信息成绩管理系统(笔记)大作业简单实现有源码注释详细_android小项目学生管理系统(附源码)

android小项目学生管理系统(附源码)


项目简介:因代码太多只展现部分,如果有需要请联系qq:382854425,并备注XH-68

一,创建sqllite数据库

文件:DBUtil.JAVA

package com.example.studentsystem.util;

import android.content.Context;
import android.database.DatabaseErrorHandler;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;

import com.example.studentsystem.MainActivity;

/**
 * 链接数据库用的
 */
public class DBUtil extends SQLiteOpenHelper {


    public static  SQLiteDatabase  db=null;


    private static final String DATABASE_NAME="db_student.db";//数据库名字

    private static final  int DATABASE_VERSION=10;

    public DBUtil(Context context){//用初始化创建数据库
        super(context,DATABASE_NAME,null,DATABASE_VERSION,null);

    }

    @Override
    public void onCreate(SQLiteDatabase db){


        db.execSQL("PRAGMA foreign_keys = false");
        db.execSQL("drop table if exists d_teacher");
        //建立老师表
        db.execSQL(" CREATE TABLE d_teacher (\n" +
                "                s_id varchar(20) primary key,\n" +
                "                s_pwd varchar(20),\n" +
                "                s_name varchar(20),\n" +
                "                s_sex varchar(20),\n" +
                "                s_bir varchar(20),\n" +
                "                s_pro varchar(20),\n" +
                "                s_zc varchar(20)\n" +
                ")");
        db.execSQL(" INSERT INTO d_teacher VALUES ('202301','123456', '李四', '男', '1990年-10月-28日', '计算机', '教授');");
        //-------------管理员 表
        db.execSQL("drop table if exists d_admin");
        db.execSQL(" CREATE TABLE d_admin (\n" +
                "                s_id varchar(20) primary key,\n" +
                "                s_pwd varchar(20) \n" +
                ")");
        db.execSQL(" INSERT INTO d_admin VALUES ('root','root');");
        db.execSQL("PRAGMA foreign_keys = true");


        //---------------------班级表
        db.execSQL("drop table if exists d_class");
        db.execSQL(" CREATE TABLE d_class (\n" +
                "                s_id varchar(20) primary key,\n" +
                "                s_name varchar(20) ,\n" +
                "                s_id_teacher varchar(20),\n" +
                "                foreign key (s_id_teacher) references d_teacher(s_id) \n" +
                ")");
        db.execSQL("INSERT INTO d_class VALUES ('1','1班','202301');");

        //---------------------学生
        db.execSQL("drop table if exists d_student");
        db.execSQL(" CREATE TABLE d_student (\n" +
                "                s_id varchar(20) primary key,\n" +
                "                s_pwd varchar(20) ,\n" +
                "                s_name varchar(20) ,\n" +
                "                s_sex varchar(20) ,\n" +
                "                s_bir varchar(20) ,\n" +
                "                s_class_id varchar(20) ,\n" +
                "                s_in_school_date varchar(20),\n" +
                "                foreign key (s_class_id) references d_class(s_id) \n" +
                ")");
        db.execSQL("INSERT INTO d_student VALUES ('1','123456','张三','男','2005年-6月-3日','1','2023年-6月-3日');");
        db.execSQL("INSERT INTO d_student VALUES ('2','123456','李四','男','2005年-6月-3日','1','2023年-6月-3日');");
        db.execSQL("INSERT INTO d_student VALUES ('3','123456','李四','女','2005年-6月-3日','1','2023年-6月-3日');");
        //---------------------课程
        db.execSQL("drop table if exists d_course");
        db.execSQL(" CREATE TABLE d_course (\n" +
                "                s_id varchar(20),\n" +
                "                s_software_en varchar(20) ,\n" +
                "                s_c_lang varchar(20) ,\n" +
                "                s_java_lang varchar(20) ,\n" +
                "                s_man_sys varchar(20) ,\n" +
                "                s_android_dev varchar(20) ,\n" +
                "                foreign key (s_id) references d_student(s_id) \n" +
                ")");
        db.execSQL("INSERT INTO d_course VALUES ('1','86','93','95','32','68');");





        db.execSQL("PRAGMA foreign_keys = true");

    }



    @Override
    public void onUpgrade(SQLiteDatabase db, int i, int i1) {

        onCreate(db);
    }


}

  • 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
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114

二,主界面

文件:MainActivity.java

package com.example.studentsystem;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.Toast;

import com.example.studentsystem.dao.LoginDao;
import com.example.studentsystem.mainac.ManageActivity;
import com.example.studentsystem.mainac.StudentActivity;
import com.example.studentsystem.mainac.TeacherActivity;
import com.example.studentsystem.util.DBUtil;
import com.example.studentsystem.util.ToolsUtil;


public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);







        //链接数据库
        DBUtil dbUtil = new DBUtil(MainActivity.this);
        SQLiteDatabase  db = dbUtil.getWritableDatabase();//可以通过db进行操作数据库
        DBUtil.db=db;



        //编辑框 密码框  3个按钮内容获取道


        EditText accountT=this.findViewById(R.id.login_username);
        EditText  pwdT=this.findViewById(R.id.login_password);



        Button login = this.findViewById(R.id.login_button_login);//登录按钮
        RadioButton man = findViewById(R.id.login_manage);
        man.setChecked(true);
        RadioButton tea = findViewById(R.id.login_teacher);
        RadioButton stu = findViewById(R.id.login_student);


        login.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {


                String account=ToolsUtil.editTextToString(accountT);
                String pwd=ToolsUtil.editTextToString(pwdT);


                //判断账号是否为空  密码是否为空
                if (account.isEmpty()) {
                    Toast.makeText(MainActivity.this, "请输入账号/工号/学号", Toast.LENGTH_SHORT).show();
                } else if (pwd.isEmpty()) {
                    Toast.makeText(MainActivity.this, "请输入密码", Toast.LENGTH_SHORT).show();
                } else {


                    //根据单选按钮判断登录不同权限的账号
                    if (man.isChecked()) {


                        int res=LoginDao.LoginMan(db, account, pwd);
                        if(res==0){
                            Toast.makeText(MainActivity.this, "账号密码错误,请检查!", Toast.LENGTH_SHORT).show();
                        }else{
                            Toast.makeText(MainActivity.this, "登录管理员账号成功。", Toast.LENGTH_SHORT).show();
                            Intent intent =new Intent(MainActivity.this, ManageActivity.class);//目标i界面
                            intent.putExtra("account",account);
                            startActivity(intent);//打开目标界面
                        }





                    } else if (tea.isChecked()) {

                        int res=LoginDao.LoginTea(db, account, pwd);
                        if(res==0){
                            Toast.makeText(MainActivity.this, "账号密码错误,请检查!", Toast.LENGTH_SHORT).show();
                        }else{
                            Toast.makeText(MainActivity.this, "登录老师账号成功。", Toast.LENGTH_SHORT).show();
                            Intent intent =new Intent(MainActivity.this, TeacherActivity.class);//目标i界面
                            intent.putExtra("account",account);
                            startActivity(intent);//打开目标界面
                        }


                    } else if (stu.isChecked()) {



                        int res=LoginDao.LoginStu(db, account, pwd);
                        if(res==0){
                            Toast.makeText(MainActivity.this, "账号密码错误,请检查!", Toast.LENGTH_SHORT).show();
                        }else{
                            Toast.makeText(MainActivity.this, "登录学生账号成功", Toast.LENGTH_SHORT).show();
                            Intent intent =new Intent(MainActivity.this, StudentActivity.class);//目标i界面
                            intent.putExtra("account",account);
                            startActivity(intent);//打开目标界面
                        }








                    } else {
                        Toast.makeText(MainActivity.this, "请选择登录角色", Toast.LENGTH_SHORT).show();
                    }


                }

            }
        });


    }


}
  • 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
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140

三,绘制登录界面

文件:activity_main

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/login_backgroup_img"
    >


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:orientation="vertical"
        android:padding="16dp">

        <TextView
            android:id="@+id/login_title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:layout_marginBottom="32dp"
            android:text="学生管理系统"
            android:textColor="#4CAF50"
            android:textSize="40sp"
            android:textStyle="bold"

            />

        <EditText
            android:id="@+id/login_username"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="16dp"
            android:background="@drawable/login_edit_background"
            android:elevation="4dp"
            android:hint="请输入学号/账号/工号"
            android:inputType="text"
            android:padding="12dp"
            android:textColor="#4CAF50" />

        <EditText
            android:id="@+id/login_password"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="16dp"
            android:background="@drawable/login_edit_background"
            android:elevation="4dp"
            android:hint="请输入密码"
            android:inputType="textPassword"
            android:padding="12dp"
            android:textColor="#4CAF50" />

        <RadioGroup
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:layout_marginBottom="16dp"
            android:orientation="horizontal">

            <RadioButton
                android:id="@+id/login_manage"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginEnd="16dp"
                android:text="管理员"
                android:textColor="#4CAF50"
                android:textSize="16sp"
                android:textStyle="bold"
                />


            <RadioButton
                android:id="@+id/login_teacher"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginEnd="16dp"
                android:text="老师"

                android:textColor="#4CAF50"
                android:textSize="16sp"
                android:textStyle="bold" />

            <RadioButton
                android:id="@+id/login_student"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginEnd="16dp"
                android:text="学生"

                android:textColor="#4CAF50"
                android:textSize="16sp"
                android:textStyle="bold" />


        </RadioGroup>


        <Button
            android:id="@+id/login_button_login"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="安全登录"
            android:textSize="18sp"
            android:background="@drawable/login_button_background"
            android:textColor="#ffffff"
            android:elevation="4dp"
            android:layout_marginTop="16dp"



            />


    </LinearLayout>




</RelativeLayout>


  • 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
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121

四,界面演示

4.1登录界面

在这里插入图片描述

4.2管理员界面

在这里插入图片描述

4.3个人成绩查看

在这里插入图片描述

4.4学生列表查看

在这里插入图片描述

4.5侧边信息栏

在这里插入图片描述

4.6成绩查询与录入

在这里插入图片描述

项目源码

上面展示的代码只是部分代码,如果需要获取完整的,请联系QQ:382854425,备注:XH-68


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/616163
推荐阅读
相关标签
  

闽ICP备14008679号