依次读取用户输入的姓名、性别、专业、爱好等信息,写入 SQLite 数据库中,并通过 Toast 给出提示;如果数据库尚不存在,自动创建;数 据写入数据库后,清除界面上的输入数据。怎么写
时间: 2024-02-23 09:00:36 浏览: 87
你可以按照以下步骤来实现这个功能:
1. 创建一个 SQLite 数据库,包含姓名、性别、专业、爱好等信息的表。
2. 在界面上添加输入框和提交按钮,用户输入完信息后,点击提交按钮将信息写入数据库。
3. 在点击提交按钮时,先检查数据库是否已经存在,如果不存在则自动创建。
4. 将用户输入的信息写入数据库中,然后通过 Toast 给出提示。
5. 在信息写入数据库后,清除界面上的输入数据。
下面是示例代码:
1. 创建 SQLite 数据库:
```java
public class DBHelper extends SQLiteOpenHelper {
private static final String DB_NAME = "my_db";
private static final int DB_VERSION = 1;
private static final String TABLE_NAME = "my_table";
private static final String COLUMN_NAME = "name";
private static final String COLUMN_GENDER = "gender";
private static final String COLUMN_MAJOR = "major";
private static final String COLUMN_HOBBY = "hobby";
private static final String CREATE_TABLE =
"CREATE TABLE " + TABLE_NAME + " (" +
COLUMN_NAME + " TEXT, " +
COLUMN_GENDER + " TEXT, " +
COLUMN_MAJOR + " TEXT, " +
COLUMN_HOBBY + " TEXT)";
public DBHelper(Context context) {
super(context, DB_NAME, null, DB_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(CREATE_TABLE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// not implemented
}
}
```
2. 在界面上添加输入框和提交按钮:
```xml
<EditText
android:id="@+id/edit_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="姓名"/>
<EditText
android:id="@+id/edit_gender"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="性别"/>
<EditText
android:id="@+id/edit_major"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="专业"/>
<EditText
android:id="@+id/edit_hobby"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="爱好"/>
<Button
android:id="@+id/btn_submit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="提交"/>
```
3. 在点击提交按钮时,检查数据库是否已经存在,如果不存在则自动创建:
```java
DBHelper dbHelper = new DBHelper(this);
SQLiteDatabase db = dbHelper.getWritableDatabase();
```
4. 将用户输入的信息写入数据库中,然后通过 Toast 给出提示:
```java
ContentValues values = new ContentValues();
values.put(DBHelper.COLUMN_NAME, name);
values.put(DBHelper.COLUMN_GENDER, gender);
values.put(DBHelper.COLUMN_MAJOR, major);
values.put(DBHelper.COLUMN_HOBBY, hobby);
long rowId = db.insert(DBHelper.TABLE_NAME, null, values);
if (rowId != -1) {
Toast.makeText(this, "信息已保存", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(this, "保存失败", Toast.LENGTH_SHORT).show();
}
```
5. 在信息写入数据库后,清除界面上的输入数据:
```java
editName.setText("");
editGender.setText("");
editMajor.setText("");
editHobby.setText("");
```
完整的代码如下:
```java
public class MainActivity extends AppCompatActivity {
private EditText editName;
private EditText editGender;
private EditText editMajor;
private EditText editHobby;
private Button btnSubmit;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editName = findViewById(R.id.edit_name);
editGender = findViewById(R.id.edit_gender);
editMajor = findViewById(R.id.edit_major);
editHobby = findViewById(R.id.edit_hobby);
btnSubmit = findViewById(R.id.btn_submit);
btnSubmit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String name = editName.getText().toString();
String gender = editGender.getText().toString();
String major = editMajor.getText().toString();
String hobby = editHobby.getText().toString();
DBHelper dbHelper = new DBHelper(MainActivity.this);
SQLiteDatabase db = dbHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(DBHelper.COLUMN_NAME, name);
values.put(DBHelper.COLUMN_GENDER, gender);
values.put(DBHelper.COLUMN_MAJOR, major);
values.put(DBHelper.COLUMN_HOBBY, hobby);
long rowId = db.insert(DBHelper.TABLE_NAME, null, values);
if (rowId != -1) {
Toast.makeText(MainActivity.this, "信息已保存", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(MainActivity.this, "保存失败", Toast.LENGTH_SHORT).show();
}
editName.setText("");
editGender.setText("");
editMajor.setText("");
editHobby.setText("");
}
});
}
}
```
阅读全文