摘要:在Android中处理数据库数据,一般会使用SQLite数据库。以下是处理数据库数据的主要步骤:1. 创建数据库和表: - 创建一个类继承`SQLiteOpenHelper`,并重写`onCreate`和`onUpgrade`方法。 ```java public class MyDatabaseHelper extends SQLiteOpenHelpe...
在Android中处理数据库数据,一般会使用SQLite数据库。以下是处理数据库数据的主要步骤:
1. 创建数据库和表:
- 创建一个类继承`SQLiteOpenHelper`,并重写`onCreate`和`onUpgrade`方法。
```java
public class MyDatabaseHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "MyDatabase.db";
private static final int DATABASE_VERSION = 1;
public MyDatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
String CREATE_TABLE = "CREATE TABLE my_table ("
+ "id INTEGER PRIMARY KEY AUTOINCREMENT, "
+ "name TEXT, "
+ "age INTEGER)";
db.execSQL(CREATE_TABLE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS my_table");
onCreate(db);
}
}
```
2. 插入数据:
- 获取可写数据库,使用`ContentValues`存放数据,调用`insert`方法插入数据。
```java
SQLiteDatabase db = myDatabaseHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name", "John");
values.put("age", 25);
long newRowId = db.insert("my_table", null, values);
```
3. 查询数据:
- 获取可读数据库,使用`query`方法查询数据。
```java
SQLiteDatabase db = myDatabaseHelper.getReadableDatabase();
Cursor cursor = db.query("my_table",
new String[]{"id", "name", "age"},
null,
null,
null,
null,
null);
while (cursor.moveToNext()) {
long id = cursor.getLong(cursor.getColumnIndexOrThrow("id"));
String name = cursor.getString(cursor.getColumnIndexOrThrow("name"));
int age = cursor.getInt(cursor.getColumnIndexOrThrow("age"));
}
cursor.close();
```
4. 更新数据:
- 使用`ContentValues`存放需要更新的数据,调用`update`方法更新数据。
```java
SQLiteDatabase db = myDatabaseHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name", "Jane");
String selection = "id = ?";
String[] selectionArgs = { "1" };
int count = db.update("my_table", values, selection, selectionArgs);
```
5. 删除数据:
- 调用`delete`方法删除数据。
```java
SQLiteDatabase db = myDatabaseHelper.getWritableDatabase();
String selection = "id = ?";
String[] selectionArgs = { "1" };
int deletedRows = db.delete("my_table", selection, selectionArgs);
```
这就是基本的在Android中处理数据库数据的步骤。使用SQLite数据库是比较常见的做法,但你也可以选择使用Room库来简化数据库操作。Room库是Android Jetpack的一部分,提供了更高级的API来处理数据库操作。