在Android中创建数据库通常使用SQLite,这是一种轻量级的关系数据库,内置于Android系统中。以下是创建和使用SQLite数据库的一般步骤:
1. 创建一个数据库助手类
你需要创建一个继承自`SQLiteOpenHelper`的类,这个类用于管理数据库的创建和版本管理。
java
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class MyDatabaseHelper extends SQLiteOpenHelper {
// 数据库名称
private static final String DATABASE_NAME = "mydatabase.db";
// 数据库版本
private static final int DATABASE_VERSION = 1;
// 创建表的SQL语句
private static final String CREATE_TABLE = "CREATE TABLE my_table (" +
"id INTEGER PRIMARY KEY AUTOINCREMENT," +
"name TEXT," +
"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) {
// 数据库版本更新时调用
db.execSQL("DROP TABLE IF EXISTS my_table");
onCreate(db);
}
}
2. 实例化数据库助手
在你的Activity或其他组件中,创建数据库助手的实例。
java
MyDatabaseHelper dbHelper = new MyDatabaseHelper(this);
3. 获取数据库和进行数据操作
使用`getWritableDatabase()`或`getReadableDatabase()`方法来获取数据库实例,并进行增、删、改、查的操作。
java
SQLiteDatabase db = dbHelper.getWritableDatabase();
// 插入数据
ContentValues values = new ContentValues();
values.put("name", "John Doe");
values.put("age", 30);
db.insert("my_table", null, values);
// 查询数据
Cursor cursor = db.query("my_table", null, null, null, null, null, null);
if (cursor != 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"));
// 处理获取的数据
}
cursor.close();
}
// 更新数据
ContentValues updateValues = new ContentValues();
updateValues.put("age", 31);
db.update("my_table", updateValues, "name = ?", new String[]{"John Doe"});
// 删除数据
db.delete("my_table", "name = ?", new String[]{"John Doe"});
// 关闭数据库
db.close();
4. 清理资源
完成数据库操作后,确保及时关闭数据库连接,避免内存泄漏。
通过以上步骤,你可以在Android应用中创建并使用SQLite数据库。你可以根据需要扩展数据库的功能,例如添加更多的表、索引等。
查看详情
查看详情