当用户点击“提交”按钮时,先对用户输入进行合法性检查,如果姓名未填 给出提示信息;否则依次读取用户输入的姓名、性别、专业、爱好等信息,写入 SQLite 数据库中,并通过 Toast 给出提示;如果数据库尚不存在,自动创建;数据写入数据库后,清除界面上的输入数据
时间: 2024-03-12 14:43:34 浏览: 121
好的,这是一个关于Android应用开发的问题。要完成这个功能,您需要进行以下步骤:
1. 在布局文件中,添加一个EditText来获取用户输入的姓名。
2. 在提交按钮的点击事件中,获取EditText中的文本,并进行判空操作。如果文本为空,则使用Toast提示用户输入姓名。
3. 如果姓名不为空,则获取用户输入的性别、专业、爱好等信息,并将这些信息写入SQLite数据库中。如果数据库尚不存在,则需要先创建一个数据库。
4. 数据写入数据库后,使用Toast提示用户信息已保存,并清除界面上的输入数据。
下面是一个简单的示例代码,仅供参考:
```java
public class MainActivity extends AppCompatActivity {
private EditText etName, etGender, etMajor, etHobby;
private SQLiteDatabase db;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 获取EditText控件
etName = findViewById(R.id.et_name);
etGender = findViewById(R.id.et_gender);
etMajor = findViewById(R.id.et_major);
etHobby = findViewById(R.id.et_hobby);
// 创建或打开数据库
db = openOrCreateDatabase("user.db", MODE_PRIVATE, null);
// 创建用户信息表
db.execSQL("CREATE TABLE IF NOT EXISTS user_info(name TEXT, gender TEXT, major TEXT, hobby TEXT)");
}
public void onSubmitClick(View view) {
String name = etName.getText().toString().trim();
if (TextUtils.isEmpty(name)) {
Toast.makeText(this, "请输入姓名!", Toast.LENGTH_SHORT).show();
return;
}
String gender = etGender.getText().toString().trim();
String major = etMajor.getText().toString().trim();
String hobby = etHobby.getText().toString().trim();
// 将用户信息插入数据库
ContentValues values = new ContentValues();
values.put("name", name);
values.put("gender", gender);
values.put("major", major);
values.put("hobby", hobby);
db.insert("user_info", null, values);
// 提示用户信息已保存
Toast.makeText(this, "信息已保存!", Toast.LENGTH_SHORT).show();
// 清空EditText中的文本
etName.setText("");
etGender.setText("");
etMajor.setText("");
etHobby.setText("");
}
@Override
protected void onDestroy() {
super.onDestroy();
// 关闭数据库
db.close();
}
}
```
在布局文件中,需要添加四个EditText和一个Button控件,如下所示:
```xml
<EditText
android:id="@+id/et_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="姓名"/>
<EditText
android:id="@+id/et_gender"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="性别"/>
<EditText
android:id="@+id/et_major"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="专业"/>
<EditText
android:id="@+id/et_hobby"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="爱好"/>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="提交"
android:onClick="onSubmitClick"/>
```
在AndroidManifest.xml文件中,需要添加以下权限和配置:
```xml
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<application
...
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="${applicationId}.fileprovider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths"/>
</provider>
</application>
```
注意:如果您的应用需要读取/写入外部存储器中的文件,需要添加WRITE_EXTERNAL_STORAGE权限。此外,为了确保应用安全,建议使用FileProvider来共享文件。
阅读全文