2011-12-07 24 views
0

私はライン上NUllPointerExceptionを持つに保つ:アンドロイド:NULLポインタ例外

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); 
} 
関連する問題