gpt4 book ai didi

android - 为什么我们需要 onUpgrade(); SQLiteOpenHelper 类中的方法

转载 作者:IT王子 更新时间:2023-10-29 06:22:08 24 4
gpt4 key购买 nike

我正在学习本教程。 http://www.androidhive.info/2011/11/android-sqlite-database-tutorial/

任何人都可以让我清除这段代码。

 // Creating Tables
@Override
public void onCreate(SQLiteDatabase db) {
String CREATE_CONTACTS_TABLE = "CREATE TABLE " + TABLE_CONTACTS + "("
+ KEY_ID + " INTEGER PRIMARY KEY," + KEY_NAME + " TEXT,"
+ KEY_PH_NO + " TEXT" + ")";
db.execSQL(CREATE_CONTACTS_TABLE);
}

// Upgrading database
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// Drop older table if existed
db.execSQL("DROP TABLE IF EXISTS " + TABLE_CONTACTS);

// Create tables again
onCreate(db);
}

问题

onUpgrade(); 方法的目的是什么?

什么时候调用?正如文档所说 当数据库需要升级时调用 升级数据库意味着什么?

重要

为什么我们在这个方法中删除表并重新创建?

提前致谢。

最佳答案

onUpgrade 基本上用于为您的应用程序的任何新版本处理新的数据库更改(可能是新的列添加、表添加)。

在 onUpgrade 中并不总是需要删除表,这完全取决于您的用例。如果要求不保留旧版本应用程序中的数据,那么 drop 应该会有所帮助,但如果它喜欢更改架构,那么它应该只有更改脚本。

关于android - 为什么我们需要 onUpgrade(); SQLiteOpenHelper 类中的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15667965/

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