android--sqlite数据库创建的真正时候

来源:互联网 发布:解析json文件的代码 编辑:程序博客网 时间:2024/05/18 17:00

     最近项目不忙,打算自己封装android 数据库的操作。以前都是把别人的代码copy下来就用,今天意识到自己不亲手写一遍,东西始终是别人的。

      如果想要在android中使用数据库,使用SQLite是一个非常好的选择,因为它是android内置的数据库,提供了很多支持。我们先手动创建一张表

继承SQLiteOpenHelper

复制代码
public class SQLHelper extends SQLiteOpenHelper {    public SQLHelper(Context context, String name, CursorFactory factory,                     int version) {        super(context, name, factory, version);    }    @Override    public void onCreate(SQLiteDatabase db) {
String sql = "CREATE TABLE " + TABLE_NAME + " (" + BOOK_ID
" INTEGER primary key autoincrement, " + BOOK_NAME + " text, "+ BOOK_AUTHOR +" text);";
db.execSQL(sql);
}    @Override    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {}}
复制代码

        然后我们再在Activity这样使用:

SQLHelper helper = new SQLHelper(this, "Student.db", null, 1);

        版本号(不能为负数)是为了方便以后升级数据库,由于是初版,版本号就是1。
        SQLiteOpenHelper是一个抽象的数据库操作类,首先执行的是OnCreate,这里我们可以执行创建表等动作,但该方法并没有真正创建数据库,创建数据库是在以下的情况:

SQLiteDatabase database = helper.getWritableDatabase();

        调用getWritableDatabase()或者getReadableDatabase()时,就会真正创建数据库。

       唉。。。,一个小问题纠结了一个多小时。特记录下来,以免忘记。

0 0
原创粉丝点击