私はアンドロイドを初めて使っていて、最初のアプリを使い始めました。どんな助けでも大歓迎です。 dbhelperクラスを作成しましたが、失敗するのはNullPointer
例外です。私がデバッグしようとすると、コンテキストは常にnullであるように見えます。その結果、mDatabaseもnullになります。アンドロイド - dbコンテキストに常にアクセスできません
以下は私のコードです。
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(コンテキスト)ではなくthis.context何を持っていましたか? –
アクティビティでこのデータベースにアクセスする方法を教えてください – Sameer
私はこれをあきらめて、私が学んで以来、最初からプロジェクトを始めました。みなさん、おかげさまで提案に感謝します。 – shrmaj