在安卓开发中,创建数据库主要分为以下几个步骤:
1. 定义数据库结构
要创建一个数据库,需要先定义这个数据库的结构,也就是所需要的表以及各个表中的字段。可以通过编写一个类来完成这项工作。以下是一个简单的例子:
```java
public class MyDatabaseHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "MyDatabase.db";
private static final int DATABASE_VERSION = 1;
public static final String TABLE_NAME = "MyTable";
public static final String COLUMN_ID = "id";
public static final String COLUMN_NAME = "name";
public static final String COLUMN_AGE = "age";
private static final String CREATE_TABLE =
"CREATE TABLE " + TABLE_NAME + "("
+ COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, "
+ COLUMN_NAME + " TEXT NOT NULL, "
+ COLUMN_AGE + " INTEGER)";
public MyDatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(CREATE_TABLE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// 简单起见,这里不需要处理
}
}
```
在上述示例中,我们定义了一个名为 MyDatabaseHelper 的类,继承自 SQLiteOpenHelper。在类中,我们定义了一些常量,包括数据库名称、数据库版本号、表名、字段名等等。并且创建了一个 CREATE_TABLE 的 SQL 语句,用于创建表。在 `onCreate()` 方法中,我们执行了 CREATE_TABLE 语句来创建表。
2. 创建数据库
要创建数据库,需要在应用程序中创建一个 MyDatabaseHelper 对象,并调用 `getWritableDatabase()` 方法来获取一个 SQLiteDatabase 对象。在这个过程中,如果数据库不存在,则将使用 `onCreate()` 方法中定义的 SQL 语句来创建数据库:
```java
MyDatabaseHelper dbHelper = new MyDatabaseHelper(context);
SQLiteDatabase db = dbHelper.getWritableDatabase();
```
3. 向数据库中插入数据
在创建数据库之后,可以向数据库中插入数据。可以通过操作 ContentValues 对象来实现数据的插入(或更新)。以下是一个简单的例子:
```java
ContentValues values = new ContentValues();
values.put(MyDatabaseHelper.COLUMN_NAME, "John");
values.put(MyDatabaseHelper.COLUMN_AGE, 25);
db.insert(MyDatabaseHelper.TABLE_NAME, null, values);
```
在示例中,我们先创建了一个 ContentValues 对象,并向其中添加了两个键值对,表示要插入的数据。其中,键代表表中对应字段的名称,值则是对应字段的值。然后通过 `db.insert()` 方法来将数据插入到 MyDatabaseHelper.TABLE_NAME 表中。
总结:
创建数据库可以分为定义数据库结构、创建数据库以及向数据库中插入数据等步骤。其中,定义数据库结构需要继承 SQLiteOpenHelper 类,并实现 `onCreate()` 方法;创建数据库则需要创建一个 MyDatabaseHelper 对象,并调用 `getWritableDatabase()` 方法;向数据库中插入数据则需要使用 ContentValues 对象,并通过 `db.insert()` 方法来实现。