2012-08-10 40 views
0

我有getWritableDatabase()的一個問題NullPointerException異常的NullPointerException上getWritableDatabase()

public class DatabaseTable extends Activity { 
      private Context context; 
      @Override 
      public void onCreate(Bundle savedInstanceState) { 
       LBD conection = LBD.get(this); 
       super.onCreate(savedInstanceState); 
      } 
     } 

有一個實現不起作用 「openHelper.getWritableDatabase()」

 public class LBD { 
        private Context context; 
        private static SQLiteDatabase db; 
        private OpenHelper openHelper; 
        public static LBD get(Context context) { 
         LBD lbd = new LBD(context); 
         lbd.open(); 
         return lbd; 
        } 
        public LBD(Context c) { 
         context = c; 
        } 
        final public void open() { 
           openHelper = new OpenHelper(context); 
           db = openHelper.getWritableDatabase(); 

        } 
        public class OpenHelper extends SQLiteOpenHelper { 
         OpenHelper(Context context) { 
          super(context, "rss_base.db", null, 3); 
         } 
        } 
       } 

enter image description here

enter image description here

我意識到,我忘了給的onCreate初始化感謝大家

+2

你可以發佈完整的堆棧跟蹤和多一點你的代碼? – Dahaka 2012-08-10 07:47:07

+0

請發佈OpenHelper類的代碼 – 2012-08-10 08:04:27

+0

已添加OpenHelper類 – 2012-08-10 08:08:18

回答

3

最有可能你的Context

openHelper = new OpenHelper(context); 

爲空。確保您的Context已設置。但我建議你提供更多的細節,在這裏添加你的logcat。

+0

這看起來正確。傳遞給構造函數的上下文應該保存,並傳遞給OpenHelper方法。 – 2012-08-10 08:32:35

+0

我有上下文不爲空 – 2012-08-10 08:34:09

0

問題是不是在你的數據庫類,其在DatabaseTable.onCreate()..... java:27

請檢查出來。

謝謝,

Haps。

+0

public void onCreate(Bundle savedInstanceState){ \t \t super.onCreate(savedInstanceState); \t \t \t LBD conection = LBD.get(getApplicationContext()); – 2012-08-10 09:29:11

+0

Hi @MaxUsanin,老兄,請在paste.org中添加這兩個Java類的完整代碼,即「數據庫類」和此例外創建類「數據庫表」,併爲我們提供鏈接。所以我們可以很容易地理解整個班級,並幫助你消除你的錯誤。 – Harpreet 2012-08-10 10:00:45

相關問題