Android java : SQLiteDatabase db = this.getWritableDatabase() 错误;
Android java : Error on SQLiteDatabase db = this.getWritableDatabase();
我是 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)
我已经在插入函数中调用了getWritabledatabase。
但是当我再次尝试写的时候。没用。
您需要将有效的 Context
传递给您的 SQLiteOpenHelper
构造函数。
我是 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)
我已经在插入函数中调用了getWritabledatabase。 但是当我再次尝试写的时候。没用。
您需要将有效的 Context
传递给您的 SQLiteOpenHelper
构造函数。