基于Android Studio的学生信息管理App

这篇具有很好参考价值的文章主要介绍了基于Android Studio的学生信息管理App。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 先看效果图: 

下载链接在底部

 基于Android Studio的学生信息管理App 基于Android Studio的学生信息管理App

1.1 设计目的

学生信息的管理对于学校的管理者来说至关重要,学生信息是高等学校非常重要的一项数据资源,是一个教育单位不可缺少一部分。特别是近几年来,国家政策的调整,我国高等院校大规模的扩招,给高等院校的教学管理、学生管理、后勤管理等方面都带来不少的冲击。其包含的数据量大,涉及的人员面广,而且需要及时更新,故较为复杂,难以单纯地依靠人工管理,而且传统的人工管理方式既不易于规范化,管理效率也不高,目前我国各类高等院校中还有相当一部分学生信息管理还停留在纸介质的基础上,尤其是中、小学对学生信息的管理更是落后,这样的管理机制已经不能适应时代发展的要求,其管理方法将浪费许多人力和物力。作为移动应用的一部分,使用移动应用对学生档案进行管理,有着手工管理所无法比拟的优点,系统针对学校学生信息的特点以及管理中实际需要而设计,能够有效地实现学生信息管理的信息化,减轻管理人员的工作负担,高效率、规范化地管理大量的学生信息,并避免人为操作的错误和不规范行为。作为移动应用的一部分,使用移动终端APP对学校的各类信息进行管理,具有手工管理无法比拟的优点。例如:检索迅速、查询方便、效率高、可靠性好、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学校信息管理的效率,也是一个单位科学化、正规化管理,与世界接轨的重要条件。

1.2 需求实现的功能

1.2.1 注册功能

用户依据自己的学号或者工号进行用户注册,持有账号后方可进行进行登录系统,进行用户的一系列操作。

1.2.2 登录功能

用户经过注册后持有系统账户,选择不同登录模式,输入正确的账号和密码即可登录本系统,进入系统后,不同的登录权限将会进入不同系统主界面,进行用户的不同操作。

1.2.3 查看个人信息功能

用户登录系统后进入主界面,点击“查看个人信息”的图片按钮或文字,即可进入个人信息界面,查看用户的学号、姓名、专业、班级、院系、联系手机号码。

1.2.4修改个人信息功能

用户登录系统进入主界面后,点击“修改个人信息”的图片按钮或文字,即可进入修改个人信息界面,可对用户个人的姓名和联系手机号码进行修改操作。输入姓名和11位联系手机号,点击“确定”按钮,完成对个人信息的修改。

1.2.5 修改密码功能

用不同的登录权限进入不同的系统主界面,用户和管理员都可以进行密码的修改。进入修改密码功能,输入两次一致的新密码,点击“确定”按钮,即可完成密码的修改。

1.2.6 用户查看成绩功能

用户在系统主界面选择“查看成绩”功能,进入查看成绩界面,输入课程名,点击“立即查询”按钮,界面显示用户的学号、姓名、课程名、成绩。

1.2.7 添加学生信息功能

此功能为管理员为学生用户添加账号,管理员进入添加学生信息界面后,输入学生的学号、初始密码、姓名、专业、班级、院系、手机号,点击“添加”按钮,即可添加学生用户。

1.2.8 修改学生信息功能

管理员在修改学生信息界面下,可以对学生的姓名、密码、专业、班级、院系、手机号进行一一修改。

1.2.9 查询学生信息功能

管理员实现对学生信息进行按学号查询,输入学生学号后点击“立即查询”按钮,即可查询学生的学号、密码、姓名、专业、班级、院系、手机号等详细信息。

1.2.10 删除学生信息功能

管理员对学生信息按照学号进行删除,输入学生学号后点击“删除”按钮,可实现对学生信息的删除。

1.2.11 添加学生课程成绩功能

此功能为管理员为学生添加课程成绩,在此界面输入学生学号、姓名、课程名、成绩,即可添加学生课程成绩。

1.2.12 修改学生课程成绩功能

管理员对已录入学生课程成绩进行修改,管理员输入学生的学号、姓名、课程名、成绩,点击“修改”按钮,即可实现修改成绩。

1.2.13 查询学生课程成绩功能

管理员实现对学生课程成绩进行按学号查询,输入学生学号后点击“立即查询”按钮,即可查询学生的学号、姓名、课程名、成绩。

1.2.14 删除学生课程成绩功能

管理员对学生课程成绩按照学号进行删除,输入学生学号后点击“删除”按钮,可实现对学生课程成绩的删除。

1.2.15 查看班级学生信息功能

管理员可以按照所属班级进行学生信息的详细查看,输入班级名称进行检索,即可查看该班级所有学生的详细信息。

2.1 功能模块划分

学生信息管理APP功能描述:本APP分为学生端功能和管理员端功能,学生端功能分为学号注册、学生登录、查看个人信息、修改个人信息、修改密码、查询课程成绩6个功能模块;管理员端分为工号注册,管理员登录、添加学生信息、修改学生信息、查询学生信息、删除学生信息、添加学生成绩、修改学生成绩、查询学生成绩、删除学生成绩、查看班级学生、修改密码12个功能模块。

功能模块划分图如下:

基于Android Studio的学生信息管理App

1、注册功能:这是用户使用学号或工号进行系统账户注册,采用输入框获取内容方法和按钮事件实现。

public class User_register extends AppCompatActivity {

    private EditText Userid_register,Userpwd_register1,Userpwd_register2;
    private Button Register_button;
    private SQLiteDatabase db;
    private MyDataBase sql;

    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_user_register);
        sql=new MyDataBase(this,"xxx",null,1);
        Register_button=(Button)findViewById(R.id.Register_button);
        Userid_register=(EditText)findViewById(R.id.Userid_register);
        Userpwd_register1=(EditText)findViewById(R.id.Userpwd_register1);
        Userpwd_register2=(EditText)findViewById(R.id.Userpwd_register1);
        db=sql.getWritableDatabase();

    }

    public String checkInfo(){

        String userid=Userid_register.getText().toString();
        String userpwd = Userpwd_register1.getText().toString();
        String reuserpwd=Userpwd_register2.getText().toString();
        if(userid==null||"".equals(Userid_register)){
            return "账号不能为空";

        }
        if (userpwd.length()<6||userpwd.length()>15){
            return "密码位数在6-15位之间";

        }
        if(!userpwd.equals(reuserpwd)){
            return "两次密码必须一致";
        }
        return null;
    }

    public  void  register(View view){
        String userid=Userid_register.getText().toString();
        String userpwd=Userpwd_register1.getText().toString();
        String checkResult=checkInfo();
        if (checkInfo()!=null){
            AlertDialog.Builder builder=new AlertDialog.Builder(this);
            builder.setTitle("失败提示");
            builder.setMessage(checkResult);
            builder.setPositiveButton("确定",null);
            builder.create().show();
        }else{
            Log.d("Register","sss");
            if (selectid(userid)){
                Toast.makeText(User_register.this,"该账号已被注册,注册失败",Toast.LENGTH_SHORT).show();
            }

            else{
                db.execSQL("insert into userinfo_tb(userid,userpwd) values(?,?)",new String[]{userid,userpwd});
                Toast.makeText(User_register.this,"注册成功",Toast.LENGTH_SHORT).show();
                Intent intent=new Intent(User_register.this,User_login.class);
                startActivity(intent);
            }
        }
    }

    private  boolean selectid(String userid){
        String sql1="select * from userinfo_tb where userid = ? ";
        Cursor cursor=db.rawQuery(sql1,new String[]{ userid });
        if (cursor.getCount()>0){
            cursor.close();
            return true;
        }
        else
        {
            cursor.close();
            return  false;
        }
    }
    public void Go_userlogin(View view){
        Intent intent = new Intent(this,User_login.class);
        startActivity(intent);
    }
}

2、登录功能:用户登录时调用。

public class User_login extends AppCompatActivity {

    private SQLiteDatabase db;

    private MyDataBase sql;

    private EditText Userid,Userpwd;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_user_login);

        sql=new MyDataBase(this,"xxx",null,1);

        Userid=(EditText)findViewById(R.id.Userid);

        Userpwd=(EditText)findViewById(R.id.Userpwd);

        db=sql.getWritableDatabase();

    }

    public String checkInfo(){

        String userpwd = Userpwd.getText().toString();

        if (userpwd.length()<6||userpwd.length()>15){

            return "密码位数在6-15位之间";

        }

        return null;

    }

    public void login(View view)

    {

        String userid=Userid.getText().toString();

        String userpwd=Userpwd.getText().toString();

        String checkResult=checkInfo();

        if (checkInfo()!=null){

            AlertDialog.Builder builder=new AlertDialog.Builder(this);

            builder.setTitle("失败提示");

            builder.setMessage(checkResult);

            builder.setPositiveButton("确定",null);

            builder.create().show();

        }else {

            Log.d("MainActivity","sss");

            if (selectid(userid,userpwd)) {

                Toast.makeText(User_login.this,"登陆成功",Toast.LENGTH_SHORT).show();

                Intent intent=new Intent(User_login.this,User_main.class);

                intent.putExtra("Userid",Userid.getText().toString());

                startActivity(intent);

            }else{

                Toast.makeText(User_login.this,"用户名或者密码错误",Toast.LENGTH_SHORT).show();

            }

        }

    }

    private  boolean selectid(String userid,String userpwd){

        String sql1="select * from userinfo_tb where userid = ? and userpwd = ? ";

        Cursor cursor=db.rawQuery(sql1,new String[]{ userid,userpwd});

        if (cursor.getCount()>0){

            cursor.close();

            return true;

        }

        else

        {

            cursor.close();

            return  false;

        }

    }

    public void Go_register(View view){

        Intent intent = new Intent(this,User_register.class);

        startActivity(intent);

    }

    public void Go_adminlogin(View view){

        Intent intent = new Intent(this,Admin_login.class);

        startActivity(intent);

    }

}

3、查看成绩功能:这是学生用户按课程名查看课程成绩的方法。

public class User_view_score extends AppCompatActivity {

    private TextView Userid,Username,Usercourse,Userscore;

    private EditText Usercourse_check;

    private SQLiteDatabase db;

    private MyDataBase sql;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_user_view_score);

        Usercourse_check=(EditText)findViewById(R.id.Usercourse_check);

        Userid=(TextView)findViewById(R.id.Userid);

        Username=(TextView)findViewById(R.id.Username);

        Usercourse=(TextView)findViewById(R.id.Usercourse);

        Userscore=(TextView)findViewById(R.id.Userscore);

        sql=new MyDataBase(this,"xxx",null,1);

        db=sql.getWritableDatabase();

    }

    public String checkInfo(){

        String usercourse_check=Usercourse_check.getText().toString();

        if(usercourse_check.length()==0){

            return "课程不能为空";

        }

        return null;

    }

    private  boolean selectcourse(String usercourse_check){

        String sql1="select * from userscore_tb where course = ? ";

        Cursor cursor=db.rawQuery(sql1,new String[]{ usercourse_check });

        if (cursor.getCount()==0){

            cursor.close();

            return true;

        }

        else

        {

            cursor.close();

            return  false;

        }

    }

    public void user_course_check(View view){

        String usercourse_check = Usercourse_check.getText().toString();

        String checkResult = checkInfo();

        if (checkInfo() != null) {

            AlertDialog.Builder builder = new AlertDialog.Builder(this);

            builder.setTitle("失败提示");

            builder.setMessage(checkResult);

            builder.setPositiveButton("确定", null);

            builder.create().show();

        } else {

            Log.d("Admin_alter_info", "sss");

            if (selectcourse(usercourse_check)) {

                Toast.makeText(User_view_score.this, "该课程不存在,失败", Toast.LENGTH_SHORT).show();

            }else{

                Cursor cursor=db.rawQuery("select * from userscore_tb where course = ?",new String[]{usercourse_check});

                cursor.moveToFirst();

                Userid.setText(cursor.getString(1));

                Username.setText(cursor.getString(2));

                Usercourse.setText(cursor.getString(3));

                Userscore.setText(cursor.getString(4));

                cursor.close();

                Toast.makeText(User_view_score.this, "查询成功", Toast.LENGTH_SHORT).show();

            }

        }

    }

}

4、查看班级学生信息功能:这是管理员用户按班级名查看班级学生信息的方法。

public class Admin_view_classes extends AppCompatActivity {

    private EditText Admincalsses_check;

    private ListView listview;

    private SQLiteDatabase db;

    private MyDataBase sql;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_admin_view_classes);

        Admincalsses_check=(EditText)findViewById(R.id.Admincalsses_check);

        listview=(ListView)findViewById(R.id.listview);

        sql=new MyDataBase(this,"xxx",null,1);

        db=sql.getReadableDatabase();

    }

    public void admin_classes_check(View view){

        String classes=Admincalsses_check.getText().toString();

        String sql1="select * from userinfo_tb where classes = ? ";

        Cursor cursor=db.rawQuery(sql1,new String[]{ classes });

        if(cursor.getCount()>0){

            SimpleCursorAdapter userAdapter = new SimpleCursorAdapter(this, R.layout.classes_item,

                    cursor, new String[]{

                    "userid", "userpwd", "username", "subject", "classes", "department", "phone"

            }, new int[]{

                    R.id.Userid, R.id.Userpwd, R.id.Username, R.id.Usersubject,

                    R.id.Userclasses, R.id.Userdepartment, R.id.Userphone

            }, CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER);

            listview.setAdapter(userAdapter);

        }else {

            Toast.makeText(Admin_view_classes.this,"该班级没有学生", Toast.LENGTH_SHORT).show();

        }

    }

}

5、创建数据库方法:这是创建SQLite内置数据库的方法。

public class MyDataBase extends SQLiteOpenHelper {

    private String CREATE_TABLE_USER ="create table userinfo_tb(_id integer primary key autoincrement,userid,userpwd,username,subject,classes,department,phone)";

    private String CREATE_TABLE_ADMIN ="create table admininfo_tb(adminid integer primary key autoincrement,adminpwd varchar(20))";

    private String CREATE_TABLE_SCORE ="create table userscore_tb(_id integer primary key autoincrement,userid,username,course,score)";

    public MyDataBase(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {

        super(context, name, factory, version);

    }

    public void onCreate(SQLiteDatabase db) {

        db.execSQL(CREATE_TABLE_USER);

        db.execSQL(CREATE_TABLE_ADMIN);

        db.execSQL(CREATE_TABLE_SCORE);

    }

    public void onUpgrade(SQLiteDatabase db, int oldVersion,

                          int newVersion) {

        System.out.println("---------" + oldVersion + "------->" + newVersion);

    }

}

上链接:

下载链接文章来源地址https://www.toymoban.com/news/detail-488840.html

到了这里,关于基于Android Studio的学生信息管理App的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于Android的学生信息管理系统

    项目名称:学生信息管理系统 主要技术:java、android 开发工具:Eclipse(ADT) 运行工具:只能使用Eclipse 数 据 库:SQLlite 项目简介:本系统主要有对学生信息、学生成绩的增删改查操作功能 项目内容 注册界面 登录界面 主界面 添加学生 维护学生信息 学生信息查询 添加学生成绩

    2024年02月11日
    浏览(62)
  • 基于Android Studio开发的人员管理系统APP

    目录 人员管理系统 前言 一、系统的大概流程 二、详细开发步骤 1.登陆界面 2.中间跳转界面 3.添加用户 4.全部用户界面  5.项目下载 总结 这是一个具有登录功能和人员信息增删改查功能的人员管理系统,在之前也有做过一个通过http协议与云平台对接的app,正好需要完成一个

    2024年02月07日
    浏览(69)
  • 手把手教你用SQLServer连接Visual Studio2019并编写一个学生信息管理页面

    目录 安装SQLServer 创建新项目 建数据库建表 窗体设计 代码实现  整体效果 ​ 用SQLServer连接Visual Studio,首先需要下载SQLServer app。 下载教程,我之前写过,可以点击如下链接先下载安装SQLServer: SQL Server(express)安装教程 安装好SQL之后,打开VisualStudio2019,新建一个window项目 ,步

    2024年02月12日
    浏览(49)
  • 基于SSM的大学生社团信息管理系统--99953 (免费领源码+开发文档)可做计算机毕业设计JAVA、PHP、爬虫、APP、小程序、C#、C++、python、数据可视化、大数据、全套文案

    随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,高校当然也不能排除在外。大学生社团信息管理系统APP是以实际运用为开发背景,运用软件工程开发方法,采用SSM技术构建的一个管理系统。整个开发过

    2024年01月23日
    浏览(59)
  • 基于SpringBoot的高校学生就业信息管理系统--35610(免费领源码、附论文)可做计算机毕业设计JAVA、PHP、爬虫、APP、小程序、C#、C++、python、数据可视化、大数据、全套文案

    当今社会己进入信息社会时代。信息己经受到社会的广泛关注,被看作社会和科学技术发展的三大支柱(材料、能源、信息)。信息是管理的基础,是进行决策的的基本依据。在一个组织里,信息己作为人力、物力、财力之外的第四种能源,占有重要的地位。然而,信息是一

    2024年02月02日
    浏览(36)
  • 基于JAVA的学生信息管理系统

    目录 前言 一、需求分析 二、开发环境、工具 1.开发语言 2.开发模式 三、系统需求分析 3.1系统的背景 3.2系统的功能需求 四、系统设计概要 4.1系统体系结构设计 4.2功能模块结构设计 五、数据库设计 1.学生信息数据表 2.班级信息数据表 3.用户信息数据表 六、管理系统详细设

    2023年04月23日
    浏览(83)
  • 基于JavaWeb的学生信息管理系统

    1.系统分析 1.1引言 随着我国社会主义市场经济的发展和改革开放的不断深入,计算机的应用已遍及国民经济的各个领域,计算机来到我们的工作和生活中,改变着我们和周围的一切。 随着学校的规模不断过大,学生数量急剧増加,有关学生的各种信息量也成倍増加。面对庞

    2024年02月04日
    浏览(53)
  • 基于Python的学生信息管理系统

    注意,该项目为Python基础语法的一个综合,项目数据库。  

    2023年04月11日
    浏览(45)
  • Android Studio期末大作业---快递管理APP快递查询APP

    主要实现功能:登录,注册,数据库的增删改查(新增快递,查询快递,修改快递信息,删除快递信息) 登录注册 注册时会判断两次密码是否输入一致!!! 系统首页 两个按钮实现页面的跳转。 新增快递 查询快递信息 输入快递单号进行查询 修改快递信息 删除信息 SQLit

    2024年02月11日
    浏览(59)
  • Android Studio开发图书管理系统APP

    Android Studio开发项目图书管理系统项目视频展示: 点击进入图书管理系统项目视频 现在是一个信息高度发达的时代,伴随着科技的进步,文化的汲取,人们对于图书信息的了解与掌握也达到了一定的高度。尤其是学生对于知识的渴求更是与日俱增。图书馆作为学生学习知识的

    2024年02月03日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包