我有一个我在SQLite中构建的数据库,它工作正常。我想升级数据库并添加一个新列。
当我点击RUN时,他们给了我这个:
这是我升级数据库的代码,但如果没有卸载旧版本的应用程序,它们就无法运行。
static class DBinfo extends SQLiteOpenHelper{
private static final String dataBase_Name = "dbase";
private static final String tableName = "mytable";
private static final int dataBase_Version = 2;
private static final String ID = "id";
private static final String name = "name";
private static final String nrx = "nrx";
private static final String dane = "dane";
private static final String mang = "mang";
private static final String sal = "sal";
private static final String roj = "roj";
private static final String DROP_TABLE = "DROP TABLE IF EXISTS "+tableName;
private static final String CREATE_TABLE = "CREATE TABLE "+tableName+
"("+ID+" INTEGER PRIMARY KEY AUTOINCREMENT, "+name+" VARCHAR(255), "+nrx+" VARCHAR(255), "+dane+" VARCHAR(255), "+mang+" VARCHAR(255), "+sal+" VARCHAR(255),"+roj+" VARCHAR(255));";
private Context context;
public DBinfo(Context context) {
super(context, dataBase_Name, null, dataBase_Version);
this.context = context;
}
@Override
public void onCreate(SQLiteDatabase db) {
try{
db.execSQL(CREATE_TABLE);
// Toast.makeText(context,"table created",Toast.LENGTH_LONG).show();
}catch (SQLException e){
// Toast.makeText(context,"due to: "+e,Toast.LENGTH_LONG).show();
}
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
if (newVersion > oldVersion){
db.execSQL("ALTER TABLE " +tableName+ " ADD COLUMN " +roj+ " TEXT");
}
}
}
方法OnUpgrade
代码无法正常工作,只要他们给我第一张照片。
我在互联网上搜索的时间太长但我没有解决它。
答案 0 :(得分:0)
该消息与您的数据库或其更改无关。这意味着您尝试使用与现有APK相同的程序包安装APK,但使用不同的签名。您的新应用甚至没有安装。
我不能说为什么您的签名不同,但请考虑您对构建系统或您用于签署构建的证书所做的更改。
您是否尝试在发布签名的APK之上安装调试签名的APK?