onCreate()不能在SQLiteHelper中访问

时间:2015-03-08 20:03:17

标签: android sqlite sqliteopenhelper

我是Android的新手,我尝试使用API​​创建BD sqlite。 我的类exted SQLiteHelper,构造方法是正常但创建方法不是调用。编译时没有错误。 我怀疑的不是onCreate或onUpdate事件是否被调用。

如果我要擦除数据'在VM中,不创建BD。 如果我放置新版本(从1到2,从2到3,......),则不会创建BD。 在Android Studio-> Device Monitor->文件资源管理器中,在app文件夹中BD和文件夹不存在。

MainActivity.java代码:

public class MainActivity extends ActionBarActivity {
    private DBTesteHelper dbHelper;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        dbHelper = new DBTesteHelper(this);
        setContentView(R.layout.activity_main);
    }
}

DBTesteHelper.java代码:

public class DBTesteHelper extends SQLiteOpenHelper {

private static final String DATABASE_NAME = "bd_teste.db";
private static final int DATABASE_VERSION = 1;


public DBTesteHelper(Context context){
    super(context, DATABASE_NAME, null, DATABASE_VERSION);
}

@Override
public void onCreate(SQLiteDatabase db) {
    String CREATE_TABLE_STUDENT = "CREATE TABLE tb_estudante ("
            + " id INTEGER PRIMARY KEY AUTOINCREMENT ,"
            + " name TEXT, "
            + " idade INTEGER, "
            + " email TEXT )";

    db.execSQL(CREATE_TABLE_STUDENT);
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    db.execSQL("DROP TABLE IF EXISTS tb_estudante");
    onCreate(db);
    }
}

0 个答案:

没有答案