activity_main.xml
dialog.xml
list_view_item
MainActivity.java
package com.liuli.sujvku;
import androidx.appcompat.app.alertDialog;
import androidx.appcompat.app.AppCompatActivity;
import android.app.DatePickerDialog;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.baseAdapter;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.TextView;
import java.util.List;
public class MainActivity extends AppCompatActivity {
List students;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ListView lv = findViewById(R.id.lv);
StudentDao StudentDao = new StudentDao(this);
students = StudentDao.findall();
StudentAdapter studentAdapter = new StudentAdapter();
lv.setAdapter(studentAdapter);
TextView add = findViewById(R.id.add);
add.setonClickListener(view ->{
alertDialog.Builder builder = new alertDialog.Builder(this);
builder.setTitle("添加学生信息");
View v =View.inflate(this,R.layout.dialog,null);
builder.setView(v);
EditText dept = v.findViewById(R.id.dept);
EditText grade = v.findViewById(R.id.grade);
EditText name = v.findViewById(R.id.name);
builder.setPositiveButton("保存",(dialogInterface,i)->{
Student student = new Student();
student.dept = dept.getText().toString();
student.grade = grade.getText().toString();
student.name = name.getText().toString();
StudentDao.addStudent(student);
students.add(student);
studentAdapter.notifyDataSetChanged();
});
builder.show();
});
}
class StudentAdapter extends baseAdapter{
@Override
public int getCount() {
return students.size();
}
@Override
public Student getItem(int i) {
return students.get(i);
}
@Override
public long getItemId(int i) {
return i;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup){
if(view == null){
view = View.inflate(MainActivity.this,R.layout.list_view_item,null);
}
Student student = students.get(i);
TextView dept = view.findViewById(R.id.dept);
TextView grade = view.findViewById(R.id.grade);
TextView name = view.findViewById(R.id.name);
dept.setText(student.dept);
dept.setText(student.grade);
dept.setText(student.name);
return view;
}
}
}
StudentDBHelper.java
package com.liuli.sujvku;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import androidx.annotation.Nullable;
public class StudentDBHelper extends SQLiteOpenHelper {
public StudentDBHelper(@Nullable Context context) {
super(context,"stu.db",null,1);
}
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
String sql = "create table student (id Integer primary key autoincrement," +
"dept varchar(20)," +
"grade varchar(20)," +
"name varchar(20))";
sqLiteDatabase.execSQL(sql);
}
@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
}
}
StudentDao
package com.liuli.sujvku;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import java.util.ArrayList;
import java.util.List;
public class StudentDao {
SQLiteDatabase db = null;
public StudentDao(Context ctx){
StudentDBHelper dBHelper =new StudentDBHelper(ctx);
db = dBHelper.getReadableDatabase();
}
public void addStudent(Student student){
String sql = "insert into student(dept,grade,name) values ('"+student.dept+"','"+student.grade+"','"+student.name+"')";
db.execSQL(sql);
}
public List findall(){
List stus = new ArrayList<>();
String sql = "select * from student";
Cursor cursor = db.rawQuery(sql,null);
while(cursor.moveTonext()){
Student student = new Student();
student.dept = cursor.getString(0);
student.grade = cursor.getString(1);
student.name = cursor.getString(2);
stus.add(student);
}
return stus;
}
}
Student
package com.liuli.sujvku;
public class Student {
public String dept;
public String grade;
public String name;
}



