【contentresolver中的增删改查方法】在Android开发中,`ContentResolver` 是一个非常重要的组件,用于与 `ContentProvider` 进行数据交互。它提供了一套标准的接口,允许应用对其他应用提供的数据进行“增、删、改、查”操作。以下是 `ContentResolver` 中常用的增删改查方法总结。
一、增(插入)
方法 | 说明 | 示例 |
`insert(Uri uri, ContentValues values)` | 向指定的 `ContentProvider` 插入一条新记录 | `getContentResolver().insert(uri, contentValues);` |
- 参数说明:
- `uri`:目标内容的 URI,由 `ContentProvider` 提供。
- `values`:要插入的数据,使用 `ContentValues` 对象封装。
二、删(删除)
方法 | 说明 | 示例 |
`delete(Uri uri, String selection, String[] selectionArgs)` | 删除符合条件的数据记录 | `getContentResolver().delete(uri, "id=?", new String[]{String.valueOf(id)});` |
- 参数说明:
- `uri`:目标内容的 URI。
- `selection`:SQL 的 WHERE 条件语句,支持占位符 `?`。
- `selectionArgs`:替换占位符的参数数组。
三、改(更新)
方法 | 说明 | 示例 |
`update(Uri uri, ContentValues values, String selection, String[] selectionArgs)` | 更新符合条件的数据记录 | `getContentResolver().update(uri, contentValues, "name=?", new String[]{newName});` |
- 参数说明:
- `uri`:目标内容的 URI。
- `values`:更新的数据内容。
- `selection`:更新条件。
- `selectionArgs`:条件参数。
四、查(查询)
方法 | 说明 | 示例 |
`query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder)` | 查询符合条件的数据记录 | `Cursor cursor = getContentResolver().query(uri, null, "age>?", new String[]{"20"}, null);` |
- 参数说明:
- `uri`:目标内容的 URI。
- `projection`:要查询的列名数组,`null` 表示查询所有列。
- `selection`:查询条件。
- `selectionArgs`:条件参数。
- `sortOrder`:排序方式,如 `"name ASC"`。
五、总结表格
操作类型 | 方法 | 参数说明 | 说明 |
增 | `insert(Uri uri, ContentValues values)` | `uri`, `values` | 插入新数据 |
删 | `delete(Uri uri, String selection, String[] selectionArgs)` | `uri`, `selection`, `selectionArgs` | 删除数据 |
改 | `update(Uri uri, ContentValues values, String selection, String[] selectionArgs)` | `uri`, `values`, `selection`, `selectionArgs` | 更新数据 |
查 | `query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder)` | `uri`, `projection`, `selection`, `selectionArgs`, `sortOrder` | 查询数据 |
通过以上方法,开发者可以方便地与 `ContentProvider` 进行数据交互,实现跨应用的数据共享和操作。合理使用 `ContentResolver` 能提高应用的模块化和数据安全性。