我在版本创建我的数据库时遇到以下错误。
01-18 12:08:01.157: ERROR/AndroidRuntime(3079): Caused by: java.lang.IllegalArgumentException: Version must be >= 1, was 0
请帮我解决这个问题。
答案 0 :(得分:3)
您创建的每个数据库都有一个版本号。这样,如果升级应用程序,则可以跟踪它们(对现有数据的升级执行必要的数据库更改)。版本号必须从1开始。
如果您查看以下代码:
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 :(得分:-1)
您似乎已将之前的版本设为0,从手机中删除您的应用,重新安装,确保新版本比之前的版本更大。