我是新来的android和刚开始使用我的第一个应用程序。任何帮助是极大的赞赏。 我创建了一个dbhelper类,但它以NullPointer
异常失败。当我尝试调试时,上下文总是显示为空,因此mDatabase也为空。android-无法访问数据库 - 上下文始终为空
以下是我的代码。
public class PharmaExpDBHelper {
static final String DB_NAME = "pharmaApp.db";
static final int VERSION = 1;
private SQLiteDatabase db;
private Context context;
public PharmaExpDBHelper(Context context) {
this.context = context;
OpenHelper openHelper = new OpenHelper(this.context);
this.db = openHelper.getWritableDatabase();
}
private static class OpenHelper extends SQLiteOpenHelper {
OpenHelper(Context context) {
super(context, DB_NAME, null, VERSION);
}
@Override
public void onCreate(SQLiteDatabase database) {
database.execSQL("CREATE TABLE pharmacy_list(id integer primary key autoincrement, name text);");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
Log.w(PharmaExpDBHelper.class.getName(),
"Upgrading database from version " + oldVersion + " to "
+ newVersion + ", which will destroy all old data");
db.execSQL("DROP TABLE IF EXISTS" + " pharmacy_list");
onCreate(db);
}
}
}
您能给我们与其中引发错误的行号logcat的。 如果你替换OpenHelper openHeloper = new OpenHelper(context)不是this.context你有什么? –
你能告诉我你是如何在活动 – Sameer
中访问这个数据库的吗?我放弃了这一点,并开始了一个项目,因为我从那时开始学习。感谢大家的建议。 – shrmaj