Android SQLite 创建教程
介绍
在Android应用开发中,使用SQLite数据库是非常常见的。SQLite是一种嵌入式数据库引擎,轻量且易于使用,适合在移动设备上存储和管理数据。本教程将教你如何在Android应用中创建SQLite数据库。
整体流程
下面的表格展示了创建Android SQLite数据库的整体流程:
步骤编号 | 步骤名称 | 描述 |
---|---|---|
1 | 创建数据库帮助类 | 创建一个继承自SQLiteOpenHelper的类,用于管理数据库的创建和版本控制 |
2 | 定义数据库结构 | 在创建数据库帮助类中定义数据库的表和列 |
3 | 创建数据库 | 在创建数据库帮助类的onCreate方法中执行创建数据库表的SQL语句 |
4 | 升级数据库 | 在创建数据库帮助类的onUpgrade方法中执行数据库升级的逻辑 |
接下来,我们将详细说明每个步骤需要做什么以及相应的代码。
步骤一:创建数据库帮助类
首先,我们需要创建一个继承自SQLiteOpenHelper的类,用于管理数据库的创建和版本控制。在该类中,我们将定义数据库的名称、版本号以及创建和升级数据库的逻辑。
public class DatabaseHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "mydatabase.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) {
// 在此方法中执行创建数据库表的SQL语句
String createTableQuery = "CREATE TABLE mytable (id INTEGER PRIMARY KEY, name TEXT)";
db.execSQL(createTableQuery);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// 在此方法中执行数据库升级的逻辑
String upgradeTableQuery = "ALTER TABLE mytable ADD COLUMN age INTEGER";
db.execSQL(upgradeTableQuery);
}
}
在上面的代码中,我们定义了数据库的名称为"mydatabase.db",版本号为1。在onCreate方法中,我们执行了创建名为"mytable"的数据库表的SQL语句;在onUpgrade方法中,我们执行了将"mytable"表升级的SQL语句。
步骤二:定义数据库结构
接下来,我们需要在创建的数据库帮助类中定义数据库的表和列。在本例中,我们将创建一个名为"mytable"的表,该表包含id和name两个列。
public class DatabaseHelper extends SQLiteOpenHelper {
// ...
public static final String TABLE_NAME = "mytable";
public static final String COLUMN_ID = "id";
public static final String COLUMN_NAME = "name";
// ...
}
在上面的代码中,我们定义了表名为"mytable",并为"id"和"name"两个列分别定义了常量。
步骤三:创建数据库
在DatabaseHelper的onCreate方法中,我们执行创建数据库表的SQL语句。在本例中,我们在创建表时添加了两个列:id(主键)和name。
public class DatabaseHelper extends SQLiteOpenHelper {
// ...
@Override
public void onCreate(SQLiteDatabase db) {
// 在此方法中执行创建数据库表的SQL语句
String createTableQuery = "CREATE TABLE " + TABLE_NAME + " (" +
COLUMN_ID + " INTEGER PRIMARY KEY, " +
COLUMN_NAME + " TEXT)";
db.execSQL(createTableQuery);
}
// ...
}
在上面的代码中,我们使用了拼接字符串的方式构建了创建表的SQL语句,并通过db.execSQL方法执行该语句。
步骤四:升级数据库
如果需要升级数据库,就需要在DatabaseHelper的onUpgrade方法中执行数据库升级的逻辑。在本例中,我们演示了为"mytable"表添加一个age列的升级逻辑。
public class DatabaseHelper extends SQLiteOpenHelper {
// ...
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// 在此方法中执行数据库升级的逻辑
String upgradeTableQuery = "