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 = "