自学内容网 自学内容网

网络资源模板--Android Studio 实现学生信息管理

目录

一、项目演示

二、项目测试环境

三、项目关键源码

四、项目源码 


一、项目演示

网络资源模板--基于Android studio 实现的学生信息管理

二、项目测试环境

三、项目关键源码

这段代码主要包含了 **按钮点击事件处理** 和 **退出提示对话框** 的实现。

### 1. **按钮点击事件处理 (`onClick`)**:
- 该方法根据不同按钮的点击事件跳转到不同的页面,具体来说:
  - **`add_students`** 按钮跳转到 **`AddStudentsActivity`**(添加学生页面)。
  - **`search_students`** 按钮跳转到 **`SearchStudentsActivity`**(查询学生页面)。
  - **`mod_students`** 按钮跳转到 **`ModStudentsActivity`**(修改学生信息页面)。
  - **`query_students`** 按钮跳转到 **`QueryStudentsActivity`**(查询学生信息页面)。
  - **`delete_students`** 按钮跳转到 **`DeleteStudentsActivity`**(删除学生页面)。
  - **`btn_back`** 按钮弹出一个退出提示对话框 (`DigLogShow`),询问用户是否确认退出。

### 2. **退出提示对话框 (`DigLogShow`)**:
- 该方法通过 **`AlertDialog`** 弹出一个退出提示框,询问用户是否确认退出应用。
  - **"否"**:用户点击时不执行任何操作,保持在当前页面。
  - **"是"**:用户点击后,系统会清除保存的登录信息(通过 `SharedPreferences`),并跳转回登录页面 (`LoginActivity`)。同时,显示一个 **"退出成功"** 的提示。

### 总结:
这段代码实现了用户操作的引导,基于按钮点击实现页面间的跳转,并且通过退出提示框增强了用户体验,避免了用户误操作导致的退出。

/**
 * 按钮点击事件
 * */
    @Override
    public void onClick(View v) {
        int id=v.getId();
        if(id==R.id.add_students){
            Intent intent1=new Intent(MainActivity.this,AddStudentsActivity.class);
            startActivity(intent1);
        } else if (id== R.id.search_students) {
            Intent intent2=new Intent(MainActivity.this,SearchStudentsActivity.class);
            startActivity(intent2);
        } else if (id== R.id.mod_students) {
            Intent intent3=new Intent(MainActivity.this,ModStudentsActivity.class);
            startActivity(intent3);
        } else if (id== R.id.query_students) {
            Intent intent4=new Intent(MainActivity.this,QueryStudentsActivity.class);
            startActivity(intent4);
        } else if (id==R.id.delete_students) {
            Intent intent5=new Intent(MainActivity.this,DeleteStudentsActivity.class);
            startActivity(intent5);
        } else if (id== R.id.btn_back) {
            DigLogShow();
        }
    }
/**
 * 退出提示
 * */
    private void DigLogShow() {
        final AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setTitle("退出提示")
                .setMessage("是否退出?")
                .setPositiveButton("否", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                    }
                })
                .setNegativeButton("是", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        Intent intent6=new Intent(MainActivity.this,LoginActivity.class);
                        SharedPreferences sharedPreferences = getSharedPreferences("zidong", Context.MODE_PRIVATE);
                        sharedPreferences.edit().clear().apply();
                        Toast.makeText(MainActivity.this,"退出成功!",Toast.LENGTH_LONG).show();
                        startActivity(intent6);
                    }
                });
        builder.create().show();
    }

对应的xml'

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    android:orientation="vertical">
<RelativeLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    >
    <TextView
        android:id="@+id/main_tv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="10dp"
        android:text="学生信息管理\n欢迎您"
        android:layout_marginTop="30dp"
        android:textColor="#000"
        android:textSize="30sp"
        android:textStyle="bold" />

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_marginTop="30dp"
        android:layout_marginRight="50dp"
        android:background="@drawable/student_logo" />
</RelativeLayout>
<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:layout_gravity="center"
    android:layout_marginTop="70dp">
    <Button
        android:id="@+id/add_students"
        android:layout_width="200dp"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:background="@drawable/login"
        android:layout_gravity="center"
        android:text="学生信息录入"
        android:textColor="#fff"
        android:textSize="20dp"
        android:textStyle="bold" />

    <Button
        android:id="@+id/search_students"
        android:layout_width="200dp"
        android:layout_height="wrap_content"
        android:layout_below="@id/add_students"
        android:layout_centerInParent="true"
        android:layout_marginTop="10dp"
        android:background="@drawable/login"
        android:layout_gravity="center"
        android:text="浏览学生信息"
        android:textColor="#fff"
        android:textSize="20dp"
        android:textStyle="bold" />

    <Button
        android:id="@+id/mod_students"
        android:layout_width="200dp"
        android:layout_height="wrap_content"
        android:layout_below="@id/search_students"
        android:layout_centerInParent="true"
        android:layout_gravity="center"
        android:layout_marginTop="10dp"
        android:background="@drawable/login"
        android:text="修改学生信息"
        android:textColor="#fff"
        android:textSize="20dp"
        android:textStyle="bold" />

    <Button
        android:id="@+id/query_students"
        android:layout_width="200dp"
        android:layout_height="wrap_content"
        android:layout_below="@id/mod_students"
        android:layout_centerInParent="true"
        android:layout_marginTop="10dp"
        android:layout_gravity="center"
        android:background="@drawable/login"
        android:text="查询学生信息"
        android:textColor="#fff"
        android:textSize="20dp"
        android:textStyle="bold" />

    <Button
        android:id="@+id/delete_students"
        android:layout_width="200dp"
        android:layout_height="wrap_content"
        android:layout_below="@id/query_students"
        android:layout_centerInParent="true"
        android:layout_gravity="center"
        android:layout_marginTop="10dp"
        android:background="@drawable/login"
        android:text="删除学生信息"
        android:textColor="#fff"
        android:textSize="20dp"
        android:textStyle="bold"
        />

    <Button
        android:id="@+id/btn_back"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/login"
        android:text="退出"
        android:textColor="#fff"
        android:textSize="20dp"
        android:layout_gravity="center"
        android:layout_marginTop="50dp"/>
</LinearLayout>


</LinearLayout>

  • 这段代码实现了一个 **添加学生信息** 的页面,主要功能包括 **添加** 和 **修改** 学生信息。

    ### 主要功能和流程:
    1. **初始化数据 (`initData`)**:
       - 当页面用于修改学生信息时,接收传入的学生信息(通过 `Intent`),并填充到相应的输入框中。
       - 对于学号(`EtNumber`)输入框,若是修改操作,禁用输入框,防止用户修改学号。

    2. **按钮点击事件 (`onClick`)**:
       - **返回按钮 (`BtnBack`)**:点击后返回主页面。
       - **保存按钮 (`BtnSave`)**:
         - **修改操作**:检查输入的姓名、学号等信息是否合法,如果合法则调用数据库方法更新学生信息,并显示修改成功的提示框。
         - **添加操作**:检查输入的各项信息是否完整,如果有为空的字段,弹出提示。如果所有信息有效,检查学号是否重复,若不重复则保存学生信息并显示录入成功的提示框。

    3. **提示框**:
       - **修改成功提示 (`showDeleteDialog2`)**:修改成功后弹出提示框,告知用户修改成功,并返回主页面。
       - **录入成功提示 (`showDeleteDialog`)**:学生信息录入成功后弹出提示框,询问是否继续录入。如果选择“否”,返回主页面;如果选择“是”,清空输入框,准备录入下一条信息。

    ### 总结:
    - 该页面主要实现了学生信息的添加和修改功能,具有表单校验和学号重复检查。
    - 用户操作流程清晰,通过提示框提供反馈信息,确保用户体验。
    - 代码包含了常见的表单操作和数据校验,如防止学号重复、确保所有字段输入完整等。

   @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_add_students);
        tv_title=findViewById(R.id.tv_title);//绑定控件
        BtnBack = findViewById(R.id.btn_back);
        BtnSave = findViewById(R.id.btn_save);
        BtnBack.setOnClickListener(this);
        BtnSave.setOnClickListener(this);
        EtNumber = findViewById(R.id.add_et_number);
        EtName = findViewById(R.id.add_et_name);
        EtYear = findViewById(R.id.add_et_year);
        EtSex = findViewById(R.id.add_et_sex);
        EtBirth = findViewById(R.id.add_et_birthday);
        EtAddress = findViewById(R.id.add_et_address);
        EtPhone = findViewById(R.id.add_et_phone);
        dbStudents= new DbStudents(this);
        mData = new ArrayList<>();
        initData();
    }
/**
 * 保存修改的信息
 * */
private void initData() {
    Intent intent = getIntent();
    if (intent != null) {
        number = intent.getStringExtra("number");
        if (number != null) {
            tv_title.setText("修改学生信息");
            BtnSave.setText("修  改");
            EtNumber.setText(intent.getStringExtra("number"));
            EtName.setText(intent.getStringExtra("name"));
            EtYear.setText(intent.getStringExtra("year"));
            EtSex.setText(intent.getStringExtra("sex"));
            EtBirth.setText(intent.getStringExtra("birth"));
            EtAddress.setText(intent.getStringExtra("address"));
            EtPhone.setText(intent.getStringExtra("phone"));

            // 禁止学号输入框编辑
            EtNumber.setEnabled(false); // 禁用输入
            EtNumber.setFocusable(false); // 使其不可聚焦,防止弹出软键盘
        }
    }
}


    @Override
    public void onClick(View v) {
        int id=v.getId();

            if(id==R.id.btn_back) {
                Intent intent1 = new Intent(AddStudentsActivity.this, MainActivity.class);
                startActivity(intent1);
            } else if (id== R.id.btn_save) {
                //输入
                String number = EtNumber.getText().toString().trim();
                String name = EtName.getText().toString().trim();
                String year = EtYear.getText().toString().trim();
                String sex = EtSex.getText().toString().trim();
                String birth = EtBirth.getText().toString().trim();
                String address = EtAddress.getText().toString().trim();
                String phone = EtPhone.getText().toString().trim();
                StudentsBean studentsBeans = dbStudents.QueryFromStudentByNumber(number);
                if (number != null) {//修改操作
                    if (name.length() > 0) {
                        if (dbStudents.updateStudent(number, name, year,sex,birth,address,phone)) {
                            Toast.makeText(AddStudentsActivity.this,"修改成功",Toast.LENGTH_LONG).show();
                            setResult(2);
                            showDeleteDialog2();
                        }
                    } else {
                        Toast.makeText(AddStudentsActivity.this,"修改的内容不能为空!",Toast.LENGTH_LONG).show();
                    }

                }
                if (TextUtils.isEmpty(name)) {
                    Toast.makeText(AddStudentsActivity.this, "录入失败!请输入姓名", Toast.LENGTH_SHORT).show();
                } else if (TextUtils.isEmpty(number)) {
                    Toast.makeText(AddStudentsActivity.this, "录入失败!请输入学号", Toast.LENGTH_SHORT).show();
                } else if (TextUtils.isEmpty(year)) {
                    Toast.makeText(AddStudentsActivity.this, "录入失败!请输入年龄", Toast.LENGTH_SHORT).show();
                } else if (TextUtils.isEmpty(sex)) {
                    Toast.makeText(AddStudentsActivity.this, "录入失败!请输入性别", Toast.LENGTH_SHORT).show();
                } else if (TextUtils.isEmpty(birth)) {
                    Toast.makeText(AddStudentsActivity.this, "录入失败!请输入出生年月", Toast.LENGTH_SHORT).show();
                } else if (TextUtils.isEmpty(address)) {
                    Toast.makeText(AddStudentsActivity.this, "录入失败!请输入地址", Toast.LENGTH_SHORT).show();
                } else if (TextUtils.isEmpty(phone)) {
                    Toast.makeText(AddStudentsActivity.this, "录入失败!请输入电话", Toast.LENGTH_SHORT).show();
                }else if (studentsBeans != null){
                    Toast.makeText(AddStudentsActivity.this, "学号重复", Toast.LENGTH_SHORT).show();
                }
                else {
                    System.out.println("是否为空: "+dbStudents);
                    dbStudents.insertStudents(number, name, year, sex, birth, address, phone);
                    showDeleteDialog();

                }
            }
            }
/**
 * 修改提示框
 * */
    private void showDeleteDialog2() {
        final AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setTitle("修改成功提示")
                .setMessage("已成功修改!")
                .setPositiveButton("ok", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        Intent intent=new Intent(AddStudentsActivity.this,MainActivity.class);
                        startActivity(intent);
                    }
                });
        builder.create().show();
    }
    /**
     * 保存提示框
     * */
    private void showDeleteDialog() {
        final AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setTitle("录入成功提示")
                .setMessage("已成功录入!\n是否继续?")
                .setPositiveButton("否", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        Intent intent=new Intent(AddStudentsActivity.this,MainActivity.class);
                        startActivity(intent);
                    }
                })
                .setNegativeButton("是", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        //将输入框清空
                        EtNumber.setText("");
                        EtName.setText("");
                        EtYear.setText("");
                        EtSex.setText("");
                        EtBirth.setText("");
                        EtAddress.setText("");
                        EtPhone.setText("");
                    }
                });
        builder.create().show();
    }

四、项目源码 

👇👇👇👇👇快捷方式👇👇👇👇👇


原文地址:https://blog.csdn.net/qq_29823791/article/details/144221732

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!