首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQLiteOpenHelper未调用onCreate

SQLiteOpenHelper未调用onCreate
EN

Stack Overflow用户
提问于 2011-08-24 00:25:00
回答 1查看 6.9K关注 0票数 2

这是我第一次使用SQLiteOpenHelper (或安卓上的数据库)。当我得到一个可写的数据库时,我想知道为什么类的每个新实例都不调用onCreate。我做错了什么吗?

代码语言:javascript
复制
public class DatabaseHelper extends SQLiteOpenHelper {
    private static final String DATABASE_NAME = "MyDatabase.db";
    private static final int DATABASE_VERSION = 1;
    private String PrSQLcmd = "";


public DatabaseHelper(Context context)
{
    super(context, DATABASE_NAME, null, DATABASE_VERSION);  
}


@Override
public void onCreate(SQLiteDatabase db) 
{
    db.execSQL("CREATE TABLE IF NOT EXISTS Contact(Firstname TEXT, LastName TEXT");
}


@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    // TODO Auto-generated method stub

}

}

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-24 00:43:36

在SQLiteOpenHelper中,“onCreate”的含义与它在活动中的含义是不同的。在这里,'onCreate‘只被调用一次,这是您第一次创建数据库。下次你运行应用程序时,数据库已经在那里了,所以它不会调用'onCreate‘。您的对象级初始化应该在构造函数中完成,而不是在“onCreate”中完成

要查看正在调用的'onCreate‘,请手动删除db文件,或者直接卸载应用程序。

票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7164303

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档