私はこのようSQLiteOpenHelper "onCreate"が呼び出されていませんか?断片から
fmdata = new FileManagerData(getActivity());
次のクラスをインスタンス(DBが存在しません)。 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) {
}
}
EDIT:トリックは、データベースを使用しなければならないことである(読み書きする)ので、のonCreate()が呼び出されます。
DBHelperを最初に開いて使用する必要がありますか? –
これは良いヒントだったので、私はそれを受け入れてupvote – znat