【发布时间】:2012-02-04 14:52:41
【问题描述】:
我正在使用 Android 的 SQLite 根据一些文件创建关卡数据库。我首先创建一个 SQLiteOpenHelper,然后在其上调用 getReadableDatabase() 或 getWritableDatabase(),这样会调用 onCreate() 方法并创建我的数据库:
@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?数据库的类型是什么?
-
是的,数据库是一个 SQLiteDatabase。
标签: android database sqlite nullpointerexception