没有调用SQLiteOpenHelper"onCreate"?(数据库不存在)

zna*_*nat 4 sqlite android sqliteopenhelper

从片段我实例化这种方式

fmdata = new FileManagerData(getActivity());
Run Code Online (Sandbox Code Playgroud)

以下课程.我不明白为什么没有调用onCreate()并且我的数据库没有被创建.

public class FileManagerData {
public static final String TAG = FileManagerData.class.getSimpleName();;


Context context;
DBHelper dbHelper;

public FileManagerData (Context context){
    this.context = context;
    dbHelper = new DBHelper();
}

private class DBHelper extends SQLiteOpenHelper{

    private static final String DB_NAME = "filename.db";
    private static final String DB_SQL = "filename.sql";
    private static final int DB_VERSION = 1; // internal number

    public DBHelper() {
        super(context, DB_NAME, null, DB_VERSION);  
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
            // this is NEVER called and my DB does not exist yet
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

    }   
}
Run Code Online (Sandbox Code Playgroud)

编辑:诀窍是必须使用数据库(读取或写入),以便调用onCreate().

mar*_*XII 11

首次访问DB后将调用onCreate方法.对DB进行查询并将被调用.onCreate