我初始化对象db并从我当前的类调用它的方法:
db = new DBHelper(context);
db.addCallerInfo(FragmentCaller.iName.getText().toString(),
FragmentCaller.sex.getSelectedItemPosition(),
FragmentCaller.iAddress.getText().toString(),
FragmentCaller.iTel.getText().toString(),
FragmentCaller.callerType.getSelectedItemPosition(),
FragmentCaller.iSpecify.getText().toString());
在DBhelper类:
public void addCallerInfo(String name,int sex ,String address,String tel,int callerType_id,String specify) {
ContentValues values = new ContentValues();
values.put("name", name);
values.put("sex", sex);
values.put("address", address);
values.put("tel", tel);
values.put("specify", specify);
values.put("callerType_id", callerType_id);
db.insert(TableHelper.TABLE_callerInfo, null, values);
}
然后它有问题java.lang.NullPointerException:
尝试在空对象引用
上调用虚方法long android.database.sqlite.SQLiteDatabase.insert(java.lang.String, java.lang.String, android.content.ContentValues)
请帮忙!感谢。
答案 0 :(得分:1)
在 addCallerInfo()方法中添加以下行。然后,您可以将 contentValues 插入数据库。
SQLiteDatabase db = this.getWritableDatabase();
答案 1 :(得分:-1)
您无法声明Database
类型Writable
或Readable
首先按照inserting values
声明它:
SQLiteDatabase database = this.getWritableDatabase();
And For just Readable database
SQLiteDatabase db = this.getReadableDatabase();