Android getWritableDatabase()抛出NullPointerException
我正在尝试用android上的数据库保存数据 我已经编写了处理数据库的类,就像我在几个例子中看到的那样Android getWritableDatabase()抛出NullPointerException,android,database,nullpointerexception,Android,Database,Nullpointerexception,我正在尝试用android上的数据库保存数据 我已经编写了处理数据库的类,就像我在几个例子中看到的那样 公共类MyDatabase扩展了SQLiteOpenHelper { 私人餐桌用户; 公共MyDatabase(上下文) { super(上下文、数据库名称、null、数据库版本); } public void onCreate(SQLiteDatabase db) { users.CreateTable(); } @凌驾 public void onUpgrade(SQLiteDatabas
公共类MyDatabase扩展了SQLiteOpenHelper
{
私人餐桌用户;
公共MyDatabase(上下文)
{
super(上下文、数据库名称、null、数据库版本);
}
public void onCreate(SQLiteDatabase db)
{
users.CreateTable();
}
@凌驾
public void onUpgrade(SQLiteDatabase db,int-oldVersion,int-newVersion)
{
}
}
但是当我尝试初始化变量users
时,如下所示:
users=新表(getWritableDatabase());
我得到了NullPointerException
,它不是meter,在那里。。。我试着:
公共MyDatabase(上下文)
{
super(上下文、数据库名称、null、数据库版本);
users=新表(getWritableDatabase());
}
及
public void onCreate(SQLiteDatabase db)
{
users=新表(getWritableDatabase());
users.CreateTable();
}
但是当我调用函数getWritableDatabase()
我必须确保函数
CreateTable
不会是静态的,因为它会放置初始值
我哪里错了?替换
public void onCreate(SQLiteDatabase db)
{
users = new Table(getWritableDatabase());
users.CreateTable();
}
借
当您在onCreate中时,您的可写数据库正在创建过程中。
这里的onCreate方法与活动中的不同。onCreate for SQLiteOpenHelper仅在第一次创建数据库时被调用。Ok,那么当数据库不是新的时,我将如何初始化变量?我编写的一个类包含对数据库表的操作
public void onCreate(SQLiteDatabase db)
{
users = new Table(db);
users.CreateTable();
}