您可以提供android studio中学生管理系统的代码,并使用ID MARKS NAME进行CRUD操作吗?

问题描述 投票:0回答:1

创建一个简单的学生管理系统应用程序来接受学生的名单 编号、姓名和分数,并将这些详细信息添加到学生表中。 (假设所有字段 VARCHAR 数据类型,这是一个可变长度的字符串)。执行 对数据库进行以下操作 A。允许用户添加学生详细信息。 b.允许用户删除和更新详细信息。 C。允许用户显示或查看详细信息。

我尝试创建函数,但遇到了一些错误

java android-studio chrome-app-developer-tool
1个回答
0
投票

MainAcitvity.java

    package com.example.studentmanagementsystem;

    import  android.database.Cursor;
    import android.os.Bundle;
    import android.widget.ArrayAdapter;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.ListView;
    import android.widget.Toast;

    import androidx.appcompat.app.AppCompatActivity;

    import java.util.ArrayList;

    public class MainActivity extends AppCompatActivity {
        private EditText editTextRollNumber, editTextName, editTextMarks;
        private Button buttonAdd, buttonUpdate, buttonDelete, buttonView;
        private ListView listViewStudents;
        private StudentDatabase studentDatabase;

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

    // Initialize UI components
    editTextRollNumber = findViewById(R.id.editTextRollNumber);
    editTextName = findViewById(R.id.editTextName);
    editTextMarks = findViewById(R.id.editTextMarks);
    buttonAdd = findViewById(R.id.buttonAdd);
    buttonUpdate = findViewById(R.id.buttonUpdate);
    buttonDelete = findViewById(R.id.buttonDelete);
    buttonView = findViewById(R.id.buttonView);
    listViewStudents = findViewById(R.id.listViewStudents);

    // Initialize database
    studentDatabase = new StudentDatabase(this);

    // Set onClickListeners for buttons
    buttonAdd.setOnClickListener(v -> addStudent());
    buttonUpdate.setOnClickListener(v -> updateStudent());
    buttonDelete.setOnClickListener(v -> deleteStudent());
    buttonView.setOnClickListener(v -> viewStudents());
}

private void addStudent() {
    String rollNumber = editTextRollNumber.getText().toString();
    String name = editTextName.getText().toString();
    String marks = editTextMarks.getText().toString();

    if (studentDatabase.insertData(rollNumber, name, marks)) {
        Toast.makeText(this, "Student added successfully", Toast.LENGTH_SHORT).show();
    } else {
        Toast.makeText(this, "Failed to add student", Toast.LENGTH_SHORT).show();
    }
}

private void updateStudent() {
    String rollNumber = editTextRollNumber.getText().toString();
    String name = editTextName.getText().toString();
    String marks = editTextMarks.getText().toString();

    if (studentDatabase.updateData(rollNumber, name, marks)) {
        Toast.makeText(this, "Student updated successfully", Toast.LENGTH_SHORT).show();
    } else {
        Toast.makeText(this, "Failed to update student", Toast.LENGTH_SHORT).show();
    }
}

private void deleteStudent() {
    String rollNumber = editTextRollNumber.getText().toString();

    if (studentDatabase.deleteData(rollNumber)) {
        Toast.makeText(this, "Student deleted successfully", Toast.LENGTH_SHORT).show();
    } else {
        Toast.makeText(this, "Failed to delete student", Toast.LENGTH_SHORT).show();
    }
}

private void viewStudents() {
    Cursor cursor = studentDatabase.getAllData();
    ArrayList<String> studentList = new ArrayList<>();

    while (cursor.moveToNext()) {
        String str =
                "Roll Number: " + cursor.getString(0) + ", " +
                "Name: " + cursor.getString(1) + ", " +
                "Marks: " + cursor.getString(2) + "\n";
        studentList.add(str);
    }

    ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, studentList);
    listViewStudents.setAdapter(adapter);
}

}

学生数据库.java

    package com.example.studentmanagementsystem;

    import android.content.ContentValues;
    import android.content.Context;
    import android.database.Cursor;
    import android.database.sqlite.SQLiteDatabase;

    public class StudentDatabase {
        private static final String DATABASE_NAME = "student.db";
        private static final String TABLE_NAME = "student_table";
        private static final String COL_1 = "ROLL_NUMBER";
        private static final String COL_2 = "NAME";
        private static final String COL_3 = "MARKS";
        private SQLiteDatabase database;

        public StudentDatabase(Context context) {
            database = context.openOrCreateDatabase(DATABASE_NAME, Context.MODE_PRIVATE, null);
    createTable();
}

private void createTable() {
    String createTableQuery =
            "CREATE TABLE IF NOT EXISTS " + TABLE_NAME + " (" +
            COL_1 + " INTEGER PRIMARY KEY, " +
            COL_2 + " VARCHAR, " +
            COL_3 + " VARCHAR)";
    database.execSQL(createTableQuery);
}

public boolean insertData(String rollNumber, String name, String marks) {
    ContentValues contentValues = new ContentValues();
    contentValues.put(COL_1, rollNumber);
    contentValues.put(COL_2, name);
    contentValues.put(COL_3, marks);
    return database.insert(TABLE_NAME, null, contentValues) != -1;
}

public Cursor getAllData() {
    return database.rawQuery("SELECT * FROM " + TABLE_NAME, null);
}

public boolean updateData(String rollNumber, String name, String marks) {
    ContentValues contentValues = new ContentValues();
    contentValues.put(COL_2, name);
    contentValues.put(COL_3, marks);
    return database.update(TABLE_NAME, contentValues, COL_1 + " = ?", new String[]{rollNumber}) > 0;
}

public boolean deleteData(String rollNumber) {
    return database.delete(TABLE_NAME, COL_1 + " = ?", new String[]{rollNumber}) > 0;
}

}

activity_main.xml

© www.soinside.com 2019 - 2024. All rights reserved.