DatabaseHelper dbHelper = new DatabaseHelper(context);
 booksDB = dbHelper.getWritableDatabase();//当在你的代码里调用了getWritableDatabase时候,oncreate会被自动调用。

解决方案 »

  1.   

    在SQLiteOpenHelper中首先执行的是onCreate()方法(当数据库第一次被创建的时候)。不过在构造函数时并没有真正的创建数据库,而是在调用getWritableDatabase或者getReadableDatabase方法时才真正的区创建数据库,并返回一个SQLiteDatabase对象。
      

  2.   

    是在创建数据库时调用的!数据库是一次创建,如果有就不会创建了,onCreate也就不会调用了!
      

  3.   

    可以写个简单的代码验证一下就知道了,一楼的说法是正确的,四楼的说法是人云亦云的错误说法,从函数名称onCreate()来理解是会被误导滴 .....