微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

我正在遵循这个教程

可以任何身体请让我清楚这段代码.

// 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应该会有所帮助,但是如果它更改架构那么它应该只有更改脚本.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐