我正在尝试使用 android 上的数据库保存数据。
我已经编写了处理数据库的类,就像我在几个示例中看到的那样。
public class MyDatabase extends SQLiteOpenHelper
{
private Table users;
public MyDatabase(Context context)
{
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
public void onCreate(SQLiteDatabase db)
{
users.CreateTable();
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
{
}
}
但是当我尝试初始化变量users
时,就像这样:
users = new Table(getWritableDatabase());
我得到NullPointerException
了,它不是米在哪里......我试过了:
public MyDatabase(Context context)
{
super(context, DATABASE_NAME, null, DATABASE_VERSION);
users = new Table(getWritableDatabase());
}
和
public void onCreate(SQLiteDatabase db)
{
users = new Table(getWritableDatabase());
users.CreateTable();
}
NullPointerException
但是当我调用该函数时我仍然会得到getWritableDatabase()
。
我必须确保该函数CreateTable
不是静态的,因为它放置了初始值。
我哪里错了?