データベースの作成中に次のエラーが発生しました。データベースの作成中にエラーが発生しました
01-18 12:08:01.157: ERROR/AndroidRuntime(3079): Caused by: java.lang.IllegalArgumentException: Version must be >= 1, was 0
この点についてご支援ください。
データベースの作成中に次のエラーが発生しました。データベースの作成中にエラーが発生しました
01-18 12:08:01.157: ERROR/AndroidRuntime(3079): Caused by: java.lang.IllegalArgumentException: Version must be >= 1, was 0
この点についてご支援ください。
作成する各データベースにはバージョン番号があります。そうすることで、アプリケーションをアップグレードする場合(既存データのアップグレードに必要なデータベース変更を実行する場合)、それらを追跡することができます。
private static class OpenHelper extends SQLiteOpenHelper {
OpenHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE " + TABLE_NAME + "
(id INTEGER PRIMARY KEY, name TEXT)");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
Log.w("Example", "Upgrading database, this will drop tables and recreate.");
db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
onCreate(db);
}
onUpgrade
が必要なすべてのデータベースのアップグレードを処理します:あなたは、次のコードを見れば、バージョン番号は1
から開始する必要があります。場合によっては、現在のデータベースを破棄(ドロップ)して新しいデータベースを作成することもできます。
以前のバージョンを0に設定しているようですが、電話からアプリを削除して再インストールしてください。新しいバージョンが以前のバージョンよりも大きいことを確認してください。
データベースの古いバージョンを取得する方法 – shvivek
'onUpgrade'コールバックで渡されます。それは 'oldVersion'と呼ばれています。 – DanielS