SQLiteOpenHelper类的使用方法?
时间: 2024-03-27 14:38:23 浏览: 63
SQLiteOpenHelper是Android提供的一个帮助类,用于管理SQLite数据库的创建和版本更新。其使用方法如下:
1. 创建一个继承自SQLiteOpenHelper的类。
```java
public class MyDatabaseHelper extends SQLiteOpenHelper {
// 构造方法
public MyDatabaseHelper(Context context, String name, CursorFactory factory, int version) {
super(context, name, factory, version);
}
// 数据库第一次创建时调用
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("create table user (_id integer primary key autoincrement, name text, age integer)");
}
// 数据库版本更新时调用
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("drop table if exists user");
onCreate(db);
}
}
```
2. 在需要使用数据库的地方,创建该类的实例,并调用getReadableDatabase()或getWritableDatabase()方法获取可读写的数据库对象。
```java
MyDatabaseHelper dbHelper = new MyDatabaseHelper(context, "mydb", null, 1);
SQLiteDatabase db = dbHelper.getReadableDatabase();
```
3. 使用SQLiteDatabase对象进行数据库操作。
```java
// 插入数据
ContentValues values = new ContentValues();
values.put("name", "张三");
values.put("age", 20);
db.insert("user", null, values);
// 查询数据
Cursor cursor = db.query("user", null, null, null, null, null, null);
if (cursor.moveToFirst()) {
do {
String name = cursor.getString(cursor.getColumnIndex("name"));
int age = cursor.getInt(cursor.getColumnIndex("age"));
} while (cursor.moveToNext());
}
cursor.close();
// 更新数据
ContentValues values = new ContentValues();
values.put("age", 21);
db.update("user", values, "name=?", new String[]{"张三"});
// 删除数据
db.delete("user", "name=?", new String[]{"张三"});
```
4. 关闭数据库。
```java
db.close();
```
阅读全文