android操作sqlite数据库新建一个APP程序,在APP中添加一个SQLite数据库。 2.在SQLite中数据表中实现增、删、查、改功能,并把结果显示到ListView控件。
时间: 2024-12-22 14:27:21 浏览: 14
在Android应用程序中,使用SQLite数据库是一个常见的做法,因为SQLite轻量级且易于集成。以下是创建一个包含SQLite数据库并实现基本CRUD操作的基本步骤:
1. **创建SQLite数据库**:
- 首先,你需要在`AndroidManifest.xml`文件中添加对SQLite支持的权限:
```xml
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
```
- 创建一个新的SQLiteOpenHelper子类,这是管理数据库生命周期的关键类:
```java
public class DatabaseHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "my_database.db";
private static final int DATABASE_VERSION = 1;
// ... 然后定义构造函数和onCreate/onUpgrade方法
}
```
2. **在DatabaseHelper中实现表格结构**:
- 使用SQL `CREATE TABLE`语句来定义数据表,例如创建一个用户表:
```java
public void onCreate(SQLiteDatabase db) {
String CREATE_TABLE_USERS = "CREATE TABLE IF NOT EXISTS users (" +
"id INTEGER PRIMARY KEY AUTOINCREMENT," +
"name TEXT NOT NULL," +
"email TEXT UNIQUE)";
db.execSQL(CREATE_TABLE_USERS);
}
```
3. **CRUD操作**:
- `INSERT`: 添加新记录
```java
public void insertUser(String name, String email) {
ContentValues contentValues = new ContentValues();
contentValues.put("name", name);
contentValues.put("email", email);
SQLiteDatabase db = this.getWritableDatabase();
db.insert("users", null, contentValues);
}`
- `UPDATE`: 更新记录
```java
public void updateUser(int id, String newName, String newEmail) {
ContentValues contentValues = new ContentValues();
contentValues.put("name", newName);
contentValues.put("email", newEmail);
SQLiteDatabase db = this.getWritableDatabase();
db.update("users", contentValues, "id = ?", new String[]{String.valueOf(id)});
}`
- `DELETE`: 删除记录
```java
public void deleteUser(int id) {
SQLiteDatabase db = this.getWritableDatabase();
db.delete("users", "id = ?", new String[]{String.valueOf(id)});
}`
- `QUERY`: 获取记录
```java
Cursor getUser(int id) {
String selectQuery = "SELECT * FROM users WHERE id = ?";
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery(selectQuery, new String[]{String.valueOf(id)});
return cursor;
}
```
4. **将结果显示在ListView**:
- 获取Cursor结果后,遍历并将数据绑定到Adapter(如ArrayAdapter或CursorAdapter),然后设置给ListView:
```java
Cursor cursor = getUser(1); // 示例获取ID为1的用户
List<User> userList = new ArrayList<>();
if (cursor.moveToFirst()) {
do {
User user = new User();
// 解析Cursor获取数据并填充User对象
userList.add(user);
} while (cursor.moveToNext());
}
ArrayAdapter<User> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, userList);
ListView listView = findViewById(R.id.listView);
listView.setAdapter(adapter);
```
- 在Adapter中处理转换Cursor到列表项(如User对象)的过程。
记得每次完成数据库操作后关闭数据库连接。
阅读全文