当用户点击“提交”按钮时,先对用户输入进行合法性检查,如果姓名未填 给出提示信息;否则依次读取用户输入的姓名、性别、专业、爱好等信息,写入 SQLite 数据库中,并通过 Toast 给出提示;如果数据库尚不存在,自动创建;数 据写入数据库后,清除界面上的输入数据。代码
时间: 2024-02-23 19:02:17 浏览: 20
好的,你可以参考下面的代码实现:
```java
public class MainActivity extends AppCompatActivity {
private EditText mNameEditText;
private EditText mGenderEditText;
private EditText mMajorEditText;
private EditText mHobbyEditText;
private SQLiteDatabase mDatabase;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mNameEditText = findViewById(R.id.name_edit_text);
mGenderEditText = findViewById(R.id.gender_edit_text);
mMajorEditText = findViewById(R.id.major_edit_text);
mHobbyEditText = findViewById(R.id.hobby_edit_text);
// 创建或打开数据库
mDatabase = new MyDatabaseHelper(this).getWritableDatabase();
}
public void onSubmitButtonClick(View view) {
String name = mNameEditText.getText().toString();
String gender = mGenderEditText.getText().toString();
String major = mMajorEditText.getText().toString();
String hobby = mHobbyEditText.getText().toString();
// 检查姓名是否为空
if (TextUtils.isEmpty(name)) {
Toast.makeText(this, "请输入姓名", Toast.LENGTH_SHORT).show();
return;
}
// 将用户输入的信息插入到数据库中
ContentValues values = new ContentValues();
values.put("name", name);
values.put("gender", gender);
values.put("major", major);
values.put("hobby", hobby);
mDatabase.insert("user", null, values);
// 提示用户信息已经插入到数据库中
Toast.makeText(this, "信息已经保存到数据库中", Toast.LENGTH_SHORT).show();
// 清空输入框中的内容
mNameEditText.setText("");
mGenderEditText.setText("");
mMajorEditText.setText("");
mHobbyEditText.setText("");
}
// 自定义数据库帮助类
private static class MyDatabaseHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "my_db";
private static final int DATABASE_VERSION = 1;
public MyDatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
// 创建user表
db.execSQL("CREATE TABLE user (_id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, gender TEXT, major TEXT, hobby TEXT);");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// 升级数据库版本
db.execSQL("DROP TABLE IF EXISTS user;");
onCreate(db);
}
}
}
```
这里我们使用了一个名为 MyDatabaseHelper 的内部类来创建或打开 SQLite 数据库,并在 onCreate() 方法中创建了一个名为 user 的表。在 onSubmitButtonClick() 方法中,我们对用户输入进行了合法性检查,并将用户输入的信息插入到 user 表中。最后,我们使用 EditText 的 setText() 方法将输入框中的内容清空。