【SQLite使用流程】
1. 打开/创建数据库
2. 创建数据表(如果数据表不存在的话)
3. 操作数据表中的数据(增删改查)
4. 关闭数据库连接
openOrCreateDatabase(“tedu.db”,MODE_PRIVATE,null)会拿到数据库对象,但是如果执行创建数据表操作的话,就会每次运行代码时都重复创建数据表。因此,需要对数据表进行管理,也就引入了SQLiteOpenHelper。
public class DBOpenHelper extends SQLiteOpenHelper {
public DBOpenHelper(Context context, String name, CursorFactory factory,
int version) {
super(context, name, factory, version);
}
//第一次创建数据库时调用
@Override
public void onCreate(SQLiteDatabase db) {
// 只有在第一次创建数据库的时候会创建数据表
String sql = "create table words (" +
"_id integer primary key autoincrement, " +
"en varchar(16) not null unique, " +
"zh varchar(50) not null" +
")";
db.execSQL(sql);
}
//当传入的版本号有更新时调用
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
SQLiteOpenHelper openHelper = new DBOpenHelper(context, "dict.db", null, 5);
//如果没有这个数据库文件,那么会创建数据库,并且会调用onCreate()创建数据表。
//如果此数据库已存在,那么直接拿取此数据库,并且不会再重复创建数据表。
//如果此数据库已存在,并且传入的版本号大于旧版本号,那么会调用onUpgrade()
SQLiteDatabase db = openHelper.getWritableDatabase();