2011-01-13 9 views
4

Ich erstellte eine DBTest-Klasse SQLiteOpenHelperGetReadableDatabase Fehler Android

Dann rief ich dies von meinem Haupt-UI.

Es stürzt ab, wenn ich die DB.GetReadableDatabase() und das Protokoll ist keine Hilfe, sagt nur Nullzeiger, aber ich weiß nicht, wo zu suchen.

Alles funktioniert, wenn ich

SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READONLY); 

Same Datenbank

Hier ist die Klasse für die Helfer und unter dem Fehler verwenden:

public class DBTest extends SQLiteOpenHelper { 

      private static String DB_NAME = "DB"; 

      private SQLiteDatabase myDataBase; 

      private final Context myContext; 

      public DBTest(Context context) { 

       super(context, DB_NAME, null, 1); 
       this.myContext = context; 
      } 

      @Override 
      public void onCreate(SQLiteDatabase db) { 
       // TODO Auto-generated method stub 

      } 

      @Override 
      public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
       // TODO Auto-generated method stub 

      } 
    } 

unten, wo der Fehler passiert:

public class Main extends Activity 
{ 

    DataBaseHelper db = new DataBaseHelper(null); 
    static SQLiteDatabase Db; 



    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     SQLiteDatabase Db; 

     DBTest db1 = new DBTest(null); 

     Db = db1.getReadableDatabase(); <<< blow up here 


     } 
} 
+1

Er sagt Ihnen, wo der Nullzeiger ist ... Zeigen Sie uns das Protokoll. – Falmarri

Antwort

4
DBTest db1 = new DBTest(this.getApplicationContext()); 

Kontext kann nicht null sein