나는이 방법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) {
}
}
편집 : 트릭은 데이터베이스가 호출되는()에서 onCreate 있도록 (읽거나 쓰기 위해) 사용되어야한다는 것이다.
DBHelper를 먼저 열거 나 사용해야합니까? –
이것은 좋은 팁이었습니다. 대답으로 표시하여 받아 들일 수 있습니다. – znat