我正在使用Android的SQLite基於某些文件創建級別的數據庫。我首先創建一個SQLiteOpenHelper,並在其上我打電話getReadableDatabase()或getWritableDatabase()這樣的onCreate()方法被調用,我的數據庫將被創建:SQLite getReadableDatabase()返回NULL
@Override //Main Activity
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
dbHelper = new DbOpenHelper(this);
database = dbHelper.getWritableDatabase(); //is a field
- 也
public DbOpenHelper(Context context) {
super(context, DB_NAME, null, DATABASE_VERSION);
Log.d("CREATING CLASSS", "OSDIFJE*(#");
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(DB_TABLE_CREATE);
loadLevelData();
}
// Load data into the database on creation
private void loadLevelData() {
Log.d("DbOpenHelper", "Loading Level Data");
AssetManager mgr = MenuActi ~~snip~~
Log.d("dataaosdifj",MenuActivity.database.toString()); //NullPointerException!
MenuActivity.database.insert(DB_TABLE_NAME, null, info);
}
我嘗試在loadLevelData()方法內調用getWritableDatabase(),結果相同。
我看到這是一個相當常見的問題,然而大多數線程都沒有任何解決方案!
請:'(
您的DbOpenHelper是否擴展了SQLiteOpenHelper?數據庫的類型是什麼? – kosa 2012-02-04 15:06:34
是的,數據庫是一個SQLiteDatabase。 – user717572 2012-02-04 15:12:25