写出android studio利用sqlite数据库完成删除、更新、展示代码
时间: 2023-08-11 22:03:09 浏览: 91
AndroidStudio Sqlite数据库操作
4星 · 用户满意度95%
好的,以下是一个简单的 Android Studio 示例代码,展示如何使用 SQLite 数据库实现删除、更新和展示数据。在此代码中,我们将创建一个名为 "users" 的表,该表包含用户的姓名和年龄。我们将编写代码以添加、删除、更新和展示这些用户的信息。
首先,我们需要创建一个 SQLite 数据库辅助类,可以在该类中创建和管理数据库。以下是一个名为 "DatabaseHelper" 的简单辅助类:
```java
public class DatabaseHelper extends SQLiteOpenHelper {
// 数据库名称
private static final String DATABASE_NAME = "users.db";
// 数据库版本
private static final int DATABASE_VERSION = 1;
// 表名
private static final String TABLE_NAME = "users";
// 列名
private static final String COLUMN_NAME = "name";
private static final String COLUMN_AGE = "age";
// 创建表的 SQL 语句
private static final String SQL_CREATE_TABLE =
"CREATE TABLE " + TABLE_NAME + " (" +
COLUMN_NAME + " TEXT, " +
COLUMN_AGE + " INTEGER)";
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
// 创建表
db.execSQL(SQL_CREATE_TABLE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// 如果需要升级数据库,在此处添加升级代码
}
}
```
接下来,我们将在主活动中使用这个辅助类来添加、删除、更新和展示数据。以下是一个名为 "MainActivity" 的示例活动:
```java
public class MainActivity extends AppCompatActivity {
private EditText mNameEditText;
private EditText mAgeEditText;
private TextView mResultTextView;
private DatabaseHelper mDatabaseHelper;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mNameEditText = findViewById(R.id.name_edit_text);
mAgeEditText = findViewById(R.id.age_edit_text);
mResultTextView = findViewById(R.id.result_text_view);
// 创建数据库辅助类实例
mDatabaseHelper = new DatabaseHelper(this);
}
public void addData(View view) {
// 获取用户输入的姓名和年龄
String name = mNameEditText.getText().toString();
int age = Integer.parseInt(mAgeEditText.getText().toString());
// 获取可写的数据库实例
SQLiteDatabase db = mDatabaseHelper.getWritableDatabase();
// 创建 ContentValues 对象,用于添加数据
ContentValues values = new ContentValues();
values.put(DatabaseHelper.COLUMN_NAME, name);
values.put(DatabaseHelper.COLUMN_AGE, age);
// 插入数据
long newRowId = db.insert(DatabaseHelper.TABLE_NAME, null, values);
// 如果插入成功,显示提示消息
if (newRowId != -1) {
Toast.makeText(this, "Data added successfully", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(this, "Error adding data", Toast.LENGTH_SHORT).show();
}
}
public void deleteData(View view) {
// 获取用户输入的姓名
String name = mNameEditText.getText().toString();
// 获取可写的数据库实例
SQLiteDatabase db = mDatabaseHelper.getWritableDatabase();
// 删除数据
int rowsDeleted = db.delete(DatabaseHelper.TABLE_NAME, DatabaseHelper.COLUMN_NAME + "=?", new String[]{name});
// 如果删除成功,显示提示消息
if (rowsDeleted > 0) {
Toast.makeText(this, "Data deleted successfully", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(this, "Error deleting data", Toast.LENGTH_SHORT).show();
}
}
public void updateData(View view) {
// 获取用户输入的姓名和年龄
String name = mNameEditText.getText().toString();
int age = Integer.parseInt(mAgeEditText.getText().toString());
// 获取可写的数据库实例
SQLiteDatabase db = mDatabaseHelper.getWritableDatabase();
// 创建 ContentValues 对象,用于更新数据
ContentValues values = new ContentValues();
values.put(DatabaseHelper.COLUMN_AGE, age);
// 更新数据
int rowsUpdated = db.update(DatabaseHelper.TABLE_NAME, values, DatabaseHelper.COLUMN_NAME + "=?", new String[]{name});
// 如果更新成功,显示提示消息
if (rowsUpdated > 0) {
Toast.makeText(this, "Data updated successfully", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(this, "Error updating data", Toast.LENGTH_SHORT).show();
}
}
public void viewData(View view) {
// 获取可读的数据库实例
SQLiteDatabase db = mDatabaseHelper.getReadableDatabase();
// 查询数据
Cursor cursor = db.query(DatabaseHelper.TABLE_NAME, null, null, null, null, null, null);
// 如果查询到数据,显示在 TextView 中
if (cursor.moveToFirst()) {
StringBuilder builder = new StringBuilder();
do {
String name = cursor.getString(cursor.getColumnIndex(DatabaseHelper.COLUMN_NAME));
int age = cursor.getInt(cursor.getColumnIndex(DatabaseHelper.COLUMN_AGE));
builder.append(name).append(" - ").append(age).append("\n");
} while (cursor.moveToNext());
mResultTextView.setText(builder.toString());
} else {
Toast.makeText(this, "No data found", Toast.LENGTH_SHORT).show();
mResultTextView.setText("");
}
// 关闭游标和数据库连接
cursor.close();
db.close();
}
}
```
在这个示例中,我们创建了一个名为 "users" 的表,该表包含用户的姓名和年龄。我们使用了四个按钮来执行添加、删除、更新和展示数据的操作。当用户点击这些按钮时,我们将调用相应的方法来执行相应的操作。我们还使用了一个 TextView 来显示查询到的结果。
请注意,这只是一个简单的示例,实际应用中可能需要更复杂的数据表和操作。
阅读全文