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

2024-01-29

我正在关注这个教程。http://www.androidhive.info/2011/11/android-sqlite-database-tutorial/ 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(); method?

什么时候被调用?正如文档所说this is Called when the database needs to be upgraded升级数据库意味着什么?

重要的

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

提前致谢。


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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么我们需要 onUpgrade(); SQLiteOpenHelper 类中的方法 的相关文章