Android Studio创建数据库
时间: 2023-12-01 07:43:43 浏览: 108
在Android Studio中创建数据库可以通过以下步骤实现:
1. 在项目的app目录下的build.gradle文件中添加以下依赖项:
```gradle
dependencies {
implementation 'com.android.support:support-core-utils:28.0.0'
implementation 'com.android.support:support-sqlite:28.0.0'
}
```
2. 创建一个继承自SQLiteOpenHelper的类,该类将负责创建和管理数据库。在该类中,你需要实现以下方法:
- onCreate():在第一次创建数据库时调用,用于创建数据库表和初始化数据。
- onUpgrade():在数据库版本更新时调用,用于更新数据库表结构和数据。
以下是一个示例代码:
```java
public class MyDatabaseHelper extends SQLiteOpenHelper {
private static final String DB_NAME = "mydatabase.db";
private static final int DB_VERSION = 1;
public MyDatabaseHelper(Context context) {
super(context, DB_NAME, null, DB_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
// 创建数据库表
db.execSQL("CREATE TABLE IF NOT EXISTS user (_id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, age INTEGER)");
// 初始化数据
db.execSQL("INSERT INTO user (name, age) VALUES ('Tom', 18)");
db.execSQL("INSERT INTO user (name, age) VALUES ('Jerry', 20)");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// 更新数据库表结构和数据
db.execSQL("ALTER TABLE user ADD COLUMN gender TEXT");
}
}
```
3. 在需要使用数据库的地方创建MyDatabaseHelper对象,并调用getWritableDatabase()或getReadableDatabase()方法获取数据库实例。例如:
```java
MyDatabaseHelper dbHelper = new MyDatabaseHelper(context);
SQLiteDatabase db = dbHelper.getWritableDatabase();
```
4. 使用SQLiteDatabase对象执行SQL语句,例如:
```java
// 插入数据
ContentValues values = new ContentValues();
values.put("name", "Lucy");
values.put("age", 22);
db.insert("user", null, values);
// 查询数据
Cursor cursor = db.query("user", null, null, null, null, null, null);
while (cursor.moveToNext()) {
int id = cursor.getInt(cursor.getColumnIndex("_id"));
String name = cursor.getString(cursor.getColumnIndex("name"));
int age = cursor.getInt(cursor.getColumnIndex("age"));
Log.d(TAG, "id=" + id + ", name=" + name + ", age=" + age);
}
// 更新数据
ContentValues values = new ContentValues();
values.put("age", 23);
db.update("user", values, "name=?", new String[]{"Lucy"});
// 删除数据
db.delete("user", "name=?", new String[]{"Lucy"});
```
阅读全文