오늘까지 12 개의 다른 테이블로 데이터베이스를 만들려고합니다. 이제는 앱을 제거하고 다시 설치 한 후 (또는 앱 데이터를 지운 후에) 처음으로 앱을 시작할 때마다 제목에 오류 메시지가 표시됩니다. 그러나,이 오류가 발생 후 응용 프로그램을 시작할 두 번째로 잘 작동합니다. 아래 코드는 안드로이드 메모장 튜토리얼과 거의 같은 내 DatabaseHelper 클래스의 코드입니다.안드로이드 : 데이터베이스를 생성 할 때 setLocale()을 수행하지 못했습니다.
이 오류는 데이터베이스가 내 활동에서 열리고 첫 번째 쿼리를 작성하려고 시도한 후에 발생합니다.
이 문제의 원인과 해결 방법에 대한 제안 사항은 무엇입니까?
private static class DatabaseHelper extends SQLiteOpenHelper {
private static String DB_PATH = "/data/data/my_app/databases/";
DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
if (!checkDataBase()) {
db.execSQL(TABLE_1);
db.execSQL(TABLE_2);
db.execSQL(TABLE_3);
db.execSQL(TABLE_4);
db.execSQL(TABLE_5);
db.execSQL(TABLE_6);
db.execSQL(TABLE_7);
db.execSQL(TABLE_8);
db.execSQL(TABLE_9);
db.execSQL(TABLE_10);
db.execSQL(TABLE_11);
db.execSQL(TABLE_12);
}
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
Log.w(TAG, "Upgrading database from version " + oldVersion + " to " + newVersion + ", which will destroy all old data");
db.execSQL("DROP TABLE IF EXISTS " + TABLE_1);
db.execSQL("DROP TABLE IF EXISTS " + TABLE_2);
db.execSQL("DROP TABLE IF EXISTS " + TABLE_3);
db.execSQL("DROP TABLE IF EXISTS " + TABLE_4);
db.execSQL("DROP TABLE IF EXISTS " + TABLE_5);
db.execSQL("DROP TABLE IF EXISTS " + TABLE_6);
db.execSQL("DROP TABLE IF EXISTS " + TABLE_7);
db.execSQL("DROP TABLE IF EXISTS " + TABLE_8);
db.execSQL("DROP TABLE IF EXISTS " + TABLE_9);
db.execSQL("DROP TABLE IF EXISTS " + TABLE_10);
db.execSQL("DROP TABLE IF EXISTS " + TABLE_11);
db.execSQL("DROP TABLE IF EXISTS " + TABLE_12);
onCreate(db);
}
private boolean checkDataBase() {
SQLiteDatabase checkDB = null;
try {
checkDB = SQLiteDatabase.openDatabase(DB_PATH + DATABASE_NAME, null, SQLiteDatabase.OPEN_READONLY);
checkDB.close();
} catch (SQLiteException e) {
}
return checkDB != null ? true : false;
}
}
어쩌면이 대답을 시도해보십시오. 그것은 나를 위해 일했습니다. http://stackoverflow.com/questions/2528489/no-such-table-android-metadata-whats-the-problem – gonzobrains