调用getWritableDatabase()后,Android Sqlite始终为null

时间:2016-09-09 14:39:31

标签: java android sqlite android-studio getwritabledatabase

早上好stackoverflow爱好者:) 我写了我的Sqlite类,但是有一个错误 "引起:java.lang.NullPointerException:尝试调用虚方法' void android.database.sqlite.SQLiteDatabase.execSQL(java.lang.String)'在null对象引用"

我知道这是因为(db)为null,但我已经给它一个getWritableDatabase()的值,这里是我的代码

    public class sqlite extends SQLiteOpenHelper{
    public SQLiteDatabase db;
    public sqlite(Context context , String db_name , int db_version){
    super(context, db_name, null, db_version, null);
    this.db=db();
    }


   public SQLiteDatabase db(){
       if(this.db==null){try{this.db=getWritableDatabase();}catch(Exception e){this.db=getReadableDatabase();}}
       return this.db;
   }

   public void test(table){
        db.execSQL("CREATE TABLE IF NOT EXISTS "+table); ***//ERROR db is null , why????***

}
}

0 个答案:

没有答案