Android使用SQLite数据库保存数据
作为一名经验丰富的开发者,我将教会你如何在Android应用程序中使用SQLite数据库保存数据。下面是整个流程的步骤:
| 步骤 | 说明 |
|---|---|
| 1 | 创建数据库帮助类 |
| 2 | 定义数据模型类 |
| 3 | 创建数据库表 |
| 4 | 插入数据 |
| 5 | 查询数据 |
| 6 | 更新数据 |
| 7 | 删除数据 |
现在我将逐步解释每个步骤,并提供相应的代码示例。
步骤1:创建数据库帮助类
首先,我们需要创建一个数据库帮助类,用于管理数据库的创建和版本控制。在该类中,我们需要继承自SQLiteOpenHelper类,并实现其构造函数和onCreate()、onUpgrade()方法。
public class DatabaseHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "my_database.db";
private static final int DATABASE_VERSION = 1;
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
// 在这里创建数据库表
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// 在这里更新数据库表结构
}
}
步骤2:定义数据模型类
接下来,我们需要定义一个数据模型类,用于表示我们要保存的数据对象。在这个类中,我们需要定义表的列名和对应的数据类型。
public class Person {
private int id;
private String name;
private int age;
// 构造函数
public Person(int id, String name, int age) {
this.id = id;
this.name = name;
this.age = age;
}
// Getters 和 Setters
// ...
}
步骤3:创建数据库表
在onCreate()方法中,我们可以创建数据库表。在这个方法中,我们需要执行SQL语句来创建表和定义列。
@Override
public void onCreate(SQLiteDatabase db) {
String createTableQuery = "CREATE TABLE persons (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)";
db.execSQL(createTableQuery);
}
步骤4:插入数据
要将数据保存到数据库中,我们需要获取SQLiteDatabase对象,并执行INSERT语句。
DatabaseHelper dbHelper = new DatabaseHelper(context);
SQLiteDatabase db = dbHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name", "John");
values.put("age", 25);
db.insert("persons", null, values);
步骤5:查询数据
要从数据库中检索数据,我们需要执行SELECT查询语句,并使用Cursor对象来遍历结果集。
SQLiteDatabase db = dbHelper.getReadableDatabase();
String[] columns = {"id", "name", "age"};
String selection = null;
String[] selectionArgs = null;
String groupBy = null;
String having = null;
String orderBy = null;
Cursor cursor = db.query("persons", columns, selection, selectionArgs, groupBy, having, orderBy);
while (cursor.moveToNext()) {
int id = cursor.getInt(cursor.getColumnIndex("id"));
String name = cursor.getString(cursor.getColumnIndex("name"));
int age = cursor.getInt(cursor.getColumnIndex("age"));
Person person = new Person(id, name, age);
// 处理每个人物对象
}
cursor.close();
步骤6:更新数据
要更新数据库中的数据,我们需要执行UPDATE语句。
SQLiteDatabase db = dbHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name", "John");
values.put("age", 26);
String whereClause = "id = ?";
String[] whereArgs = {String.valueOf(1)};
db.update("persons", values, whereClause, whereArgs);
步骤7:删除数据
最后,要从数据库中删除数据,我们需要执行DELETE语句。
SQLiteDatabase db = dbHelper.getWritableDatabase();
String whereClause = "id = ?";
String[] whereArgs = {String.valueOf(1)};
db.delete("persons", whereClause, whereArgs);
以上就是在Android应用程序中使用SQLite数据库保存数据的完整流程和相应的代码示例。希望这篇文章对你有所帮助!
关系图如下:
erDiagram
PERSON {
int id
string name
int age
}
序列图如下:
sequenceDiagram
participant App
















