gpt4 book ai didi

android - SQLite 数据库,onUpgrade for version1 发布

转载 作者:搜寻专家 更新时间:2023-10-30 23:35:29 25 4
gpt4 key购买 nike

好的,我的应用程序已准备好全面发布。我想正确准备我的 SQLite 数据库以供发布。我最初的开发程序使用以下代码进行 onUpgrade(SQLite 数据库辅助类)。

 @Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
onCreate(db);
}

然后,因为我需要更新我的数据库,所以我关注了this。增加修订号、添加列的教程,一切都很好。比如我的onUpgrade就改成了这样。

    private static final String DATABASE_ALTER_ADD_VELOCITY = "ALTER TABLE walk_run_table ADD COLUMN VELOCITY_CALC REAL";

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
if (oldVersion < 2) db.execSQL(DATABASE_ALTER_ADD_VELOCITY);
if (oldVersion < 3) db.execSQL(DATABASE_ALTER_ADD_ELEVATION);
}

现在,我正在准备发布并希望将我的版本降到 1(因为当然所有用户都将获得全新安装)。我的 onUpgrade 是否应该恢复为“如果存在则删除表”...?然后按照前面提到的教程中所示进行修改?这在开发中对我很有效,我怀疑在发布时也能很好地工作,但要确保将我的程序上传到谷歌播放。是否有更好的做法来为将来的修订准备 SQLite 数据库?

最佳答案

您使用的实际版本号并不重要;它可以达到四十亿。而且 future 的应用程序版本无论如何都必须增加数据库版本;现在将它设置为 1 没有任何好处。

您发布的应用永远不会遇到旧数据库,因此您可以删除代码以从较旧的开发版本进行更新。如果您确实遇到了较小的版本号,则可能是您不小心在开发机器上运行了它,或者数据库文件已损坏,或者有人将伪造的数据库复制到您的应用程序的存储中。在所有情况下,正确的 react 都是错误输出。

关于android - SQLite 数据库,onUpgrade for version1 发布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43307788/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com