Я хочу получить доступ к базе данных и вставить данные в базу данных SQLite. Чтобы получить доступ к базе данных, я пытаюсь создать созданный мной класс DBHelper, расширяющий класс SQLiteOpenHelper
.Конструктор класса DBHelper
имеет вид:
public DBHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
. Поэтому я пытаюсь указать класс с помощью этого кода
DBHelper myDb = new DBHelper(getContext());
Выдает сообщение об ошибке "невозможно разрешить метод getContext (); "Когда getContext()
функция используется в качестве аргумента для конструктора класса DBHelper
.
Класс DBHelper выглядит следующим образом:
package com.violator.it17250_test1.Database;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import com.violator.it17250_test1.UserProfile;
public class DBHelper extends SQLiteOpenHelper {
private static final String SQL_CREATE_ENTRIES =
"CREATE TABLE " + UserProfile.Users.TABLE_NAME + " (" +
UserProfile.Users.COLUMN_NAME_ID + " INTEGER PRIMARY KEY AUTOINCREMENT," +
UserProfile.Users.COLUMN_NAME_USERNAME + " TEXT," +
UserProfile.Users.COLUMN_NAME_DOB + " TEXT, " +
UserProfile.Users.COLUMN_NAME_GENDER + "TEXT )";
private static final String SQL_DELETE_ENTRIES =
"DROP TABLE IF EXISTS " + UserProfile.Users.TABLE_NAME;
public static final int DATABASE_VERSION = 1;
public static final String DATABASE_NAME = "users1.db";
public DBHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
DBHelper myDb = new DBHelper(getContext());
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(SQL_CREATE_ENTRIES);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL(SQL_DELETE_ENTRIES);
onCreate(db);
}
public void addInfo(){
// Gets the data repository in write mode
SQLiteDatabase db = myDb.getWritableDatabase();
}
}