2012-08-30 59 views
0

我收到此錯誤的原因:什麼都不可能是這個錯誤的android系統

USER_COMMENT= 
APP_VERSION_CODE=44 
APP_VERSION_NAME=2.0 
ANDROID_VERSION=4.0.3 
PHONE_MODEL=Transformer Prime TF201 
CUSTOM_DATA= 
STACK_TRACE=java.lang.NullPointerException 
at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:157) 
at android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:231) 
at com.mypackage.BLL_FriendRequest.findRowByID(BLL_FriendRequest.java:75) 
at com.mypackage.Global$6.onComplete(Global.java:400) 
at com.mypackage.AsyncRequestListener.onComplete(AsyncRequestListener.java:58) 
at com.mypackage.AsyncRunner$3.run(AsyncRunner.java:360) 

我檢查了SQLiteOpenHelper.java和157線是做什麼mContext.CreateTable(bla bla bla); ....所以我認爲上下文是空的...什麼可以用來代替..試圖使用getApplicationContext()但沒用。

此類異常不會定期發生,但有些用戶正在經歷這種情況。

+3

你應該檢查BLL_FriendRequest.java行75 –

+0

還要檢查對數據庫的訪問是否同步。 –

+0

你是否在構造函數中爲你的活動運行它,如果是的話,將它移動到onCreate(),因爲我相信構造函數中的上下文爲空 – jtwigg

回答

1

顯然(!)BLL_FriendRequest :: 75正在調用getReadableDatabase。

然後調用getWritableDatabase,因爲這是getReadableDatabase所做的。

它不調用createTable(blablabla)(因爲表的創建取決於你),而是openOrCreateDatabase。

我不明白上下文可能爲空,因爲您可能在此之前使用它(它通常來自活動內部的'this')。在本地實現上下文中引發異常是可能的。

無論如何,您可能需要在您的上下文中測試null,並嘗試/抓住數據庫創建的周圍。這可能是暫時的,你可以稍後再試。