android studio增删查改sqlite
时间: 2024-06-08 22:04:16 浏览: 179
在Android Studio中,SQLite是一个常用的本地数据库,用于存储应用的数据。使用SQLite进行增删查改(CRUD)操作,可以通过Android的Java或Kotlin API来实现。以下是一些基本步骤:
1. **创建数据库**:
- 首先,在`res`目录下创建`database`文件夹,然后在其中创建一个`.db`文件(例如`app.db`),这是SQLite文件的实际位置。
- 在AndroidManifest.xml中添加权限:
```xml
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
```
2. **连接数据库**:
- 使用`SQLiteOpenHelper`类来管理数据库版本和事务。创建一个继承自它的子类,并重写`onCreate()`和`onUpgrade()`方法。
```java
public class DatabaseHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "app.db";
private static final int DATABASE_VERSION = 1;
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
// ...
}
```
3. **CRUD操作**:
- **插入数据** (Insert):
- 创建SQL INSERT语句并调用`insert()`方法。
```java
ContentValues contentValues = new ContentValues();
contentValues.put("column_name", "value");
dbHelper.getWritableDatabase().insert("table_name", null, contentValues);
```
- **查询数据** (Read):
- 使用`query()`方法执行SQL SELECT查询。
```java
Cursor cursor = dbHelper.rawQuery("SELECT * FROM table_name WHERE column_name = ?", new String[]{"value"});
while (cursor.moveToNext()) {
// 获取结果
}
cursor.close();
```
- **更新数据** (Update):
- 构造SQL UPDATE语句,并使用`update()`方法。
```java
int rowsAffected = dbHelper.getWritableDatabase().update("table_name", contentValues, "column_name = ?", new String[]{"value"});
```
- **删除数据** (Delete):
- 构造SQL DELETE语句,然后调用`delete()`方法。
```java
int deletedRows = dbHelper.getWritableDatabase().delete("table_name", "column_name = ?", new String[]{"value"});
```
4. **事务处理**:
- 如果需要确保一组操作要么全部成功要么全部失败,可以使用`beginTransaction()`、`endTransaction()`以及`setTransactionSuccessful()`或`rollback()`。
5. **关闭连接**:
- 在完成所有操作后,记得关闭`Cursor`和数据库连接。
```java
cursor.close();
dbHelper.close();
```
**相关问题--:**
1. Android Studio中的SQLiteOpenHelper类有何作用?
2. 如何在Android Studio中执行带有参数的SQL查询?
3. 在Android中,如何正确处理数据库操作的异常?
阅读全文