2011-12-07 6 views
0

나는 라인에 NUllPointerException을 가지고 계속 :안드로이드 : 널 포인터 예외

return mDb.insert(DATABASE_TABLE, null, initialValues); 

나는 이유를 알고하지 않습니다. 누구든지 나를 도울 수 있습니까? 이것은 내 응용 프로그램의 SQLite 데이터베이스입니다 :

public MessagesDBAdapter open() throws SQLException { 
      mDbHelper = new DatabaseHelper(mCtx); 
      mDb = mDbHelper.getWritableDatabase(); 
      return this; 
     } 

    public void close() { 
     mDbHelper.close(); 
    } 

    public long createNote(String phoneNo, String message) { 
     ContentValues initialValues = new ContentValues(); 
     initialValues.put(KEY_RECIPIENT, phoneNo); 
     initialValues.put(KEY_MESSAGE, message); 

     return mDb.insert(DATABASE_TABLE, null, initialValues); 
    } 

    public boolean deleteNote(long rowId) { 

     return mDb.delete(DATABASE_TABLE, KEY_ROWID + "=" + rowId, null) > 0; 
    } 
+0

null이란 무엇입니까? 최소한 스택 추적 중 일부는 편리 할 수 ​​있습니다. –

답변

1

mDb가 설정되지 않는 것 같습니다. createNote를 호출하기 전에 open()을 호출 했습니까? 그렇지 않으면 다음과 같이 createNote 메서드에서 open()에 대한 호출을 추가하십시오.

public long createNote(String phoneNo, String message) { 
    ContentValues initialValues = new ContentValues(); 
    initialValues.put(KEY_RECIPIENT, phoneNo); 
    initialValues.put(KEY_MESSAGE, message); 

    open(); 

    return mDb.insert(DATABASE_TABLE, null, initialValues); 
}