【问题标题】:Using a database in android activity在 android 活动中使用数据库
【发布时间】:2012-11-17 19:49:30
【问题描述】:

我正在学习如何在 Android 活动中使用 sql 数据库。我正在向this tutorial 学习。我有一个活动,我使用教程中的数据库处理程序。 我在活动类中声明了变量。

DatabaseHandler db;

在 oncreate 方法中,我创建了一个新的 DatabaseHandler 对象:

DatabaseHandler db = new DatabaseHandler(this);

我想在单击按钮后使用数据库。所以我在 onClick 方法中使用了连接,但是我得到一个空指针异常,除非我在 onclick 中创建一个新对象。为什么会这样,对于不同类型的对象,我可以像在这个例子中那样声明变量。

DatabaseHandler的构造函数是:

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

超级是 SQLiteOpenHelper。

【问题讨论】:

    标签: android sqlite onclick oncreate


    【解决方案1】:

    您收到 null 异常是因为您实例化不正确。您将 db 声明为字段,但随后将 不同 对象 DatabaseHandler db = new DatabaseHandler(this);

    db = new DatabaseHandler(this);
    

    或者如果 onClick 在 onCreate 中,通过应用 final 修饰符。 (并删除字段对象)

    【讨论】:

    • @mango 如何在任何活动中使用db = new DatabaseHandler(this);,例如使用数据库的自定义类?
    猜你喜欢
    • 1970-01-01
    • 2012-12-30
    • 1970-01-01
    • 2018-10-08
    • 1970-01-01
    • 1970-01-01
    • 2012-06-16
    • 1970-01-01
    相关资源
    最近更新 更多