我有一个MunchaDbAdapter打开连接并将SQLiteDatabase初始化为getWritableDatabase,如下所示:
public MunchaDbAdapter open() throws SQLException {
mDbHelper = new MunchDbHelper(mCtx);
mDb = mDbHelper.getWritableDatabase();
return this;
}
现在在另一个班级我打开了像这样的MunchaDbAdapter
private MunchaDbAdapter mDbHelper;
private SQLiteDatabase mDb;
public long insert(Recipient recipient, String[] images){
ContentValues initialValues = new ContentValues();
initialValues.put(FLD_RECIPIENT_ID, Recipient.getFldRecipientId());
initialValues.put(FLD_INFO, Recipient.getFldInfo());
initialValues.put(FLD_LATITUDE, Recipient.getFldLatitude());
initialValues.put(FLD_LONGITUDE, Recipient.getFldLongitude());
for(int i=0;i<images.length;i++){
if(images[i]!=null){
initialValues.put("FLD_IMAGE_URL"+(i+1), images[i]);
}
}
mDbHelper.open();
return mDb.insert(DATABASE_TABLE, null, initialValues);
}
这是我的错误,mDb为空,那么问题是什么,任何机构都可以提到它?
答案 0 :(得分:0)
我可以从代码中获得的是,您正在尝试这样做:
第1课:
public SQLiteDatabase open() throws SQLException {
MunchDbHelper mDbHelper = new MunchDbHelper(mCtx);
SQLiteDatabase mDb = mDbHelper.getWritableDatabase();
return mDb;
}
第2课:
private MunchaDbAdapter mDbHelper;
private SQLiteDatabase mDb;
public long insert(Recipient recipient, String[] images){
ContentValues initialValues = new ContentValues();
initialValues.put(FLD_RECIPIENT_ID, Recipient.getFldRecipientId());
initialValues.put(FLD_INFO, Recipient.getFldInfo());
initialValues.put(FLD_LATITUDE, Recipient.getFldLatitude());
initialValues.put(FLD_LONGITUDE, Recipient.getFldLongitude());
for(int i=0;i<images.length;i++){
if(images[i]!=null){
initialValues.put("FLD_IMAGE_URL"+(i+1), images[i]);
}
}
mDbHelper = new MunchDbHelper(getApplicationCOntext());
mDb = mDbHelper.open();
return mDb.insert(DATABASE_TABLE, null, initialValues);
}
当然,如果你详细说明你的代码我可以帮助你更好。