众所周知,当前android平台上采用的是SQLite数据库。该数据库轻量级,占有资源少,在目前较多的嵌入式设备上都有使用。
android平台上给我们提供了一个SQLiteOpenHelper的帮助类。使我们能更方便地操作数据库。
新建类继承SQLiteOpenHelper,重写onCreate(首次使用该类是初始化数据库,表等的初始化操作),onUpgrade(进行数据库的更新)
对构造函数进行重载
例如:
public MY_DBhelper(Context con) {
super(con,DATABASE_NAME, null, VERSION);
} //第二个参数是数据库名称,而第四个是版本号,主要用于 在onUpgrade时更新数据库使用,
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
db.execSQL("create table test(id int primary key , name varchar(20))");
db.execSQL("insert into test values (3,'sds')");
}//如上在OnCreate可以执行数据库初建的初始化操作,然后,在执行完这些内容的时候,目录下数据库并没有生成,记得以前使用也没说类似需要权限什么的,不得解,查了不少资料,大致方法都是这样。
留心看Google提供的开发文档,可以看到下面这句:
This class makes it easy for ContentProvider
implementations to defer opening and upgrading the database until first use, to avoid blocking application startup with long-running database upgrades.
本人英语水平不佳,它的大致意思是说,为了防止应用程序阻塞,直到第一次使用前,推迟数据库的开放和升级。就是说我们在使用函数查询。或者修改它之前,在目录下创建数据库的操作一直被推迟。