Android java:SQLiteDatabase数据库上的错误db=this.getWritableDatabas



我是android java的初学者。

SQLiteDatabase db = this.getWritableDatabase();行出现错误

public boolean deleteItem(Todomodel todomodel){
SQLiteDatabase db = this.getWritableDatabase(); //HERE
ContentValues cv = new ContentValues();
int numb = todomodel.getId();
String whereClause = "id=?";
String whereArgs[] = {String.valueOf(numb)};
db.delete("CUSTOMER_TABLE", whereClause, whereArgs);
db.close();
return false;
}

错误:

E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.monday, PID: 9794
java.lang.NullPointerException: Attempt to invoke virtual method 'java.io.File android.content.Context.getDatabasePath(java.lang.String)' on a null object reference
at android.content.ContextWrapper.getDatabasePath(ContextWrapper.java:330)
at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:292)
at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:238)
at com.example.monday.database.deleteItem(database.java:72)

我已经在insert函数中调用了getWritabledatabase。但当我再次尝试写作时。它不起作用。

您需要将有效的Context传递给SQLiteOpenHelper构造函数。

最新更新