Обращение к классу DBhelper из другого класса (отличного от Main)
При обращении из MainActivity все прекрасно, но при попытке обратиться из другого класса возникают ошибки.
public class DBHelper extends SQLiteOpenHelper {
...
public Context mContext;
public DBHelper(@Nullable Context context) {
super(context, "smhome.db", null, 1);
mContext = context;
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE " + TECH_TYPE + " (" + TECH_TYPE_COL_ID + " INTEGER, " + TECH_TYPE_COL_TYPE + " TEXT);");
db.execSQL("CREATE TABLE " + TECH_VENDORS + " (" + TECH_VENDORS_COL_ID + " INTEGER, " + TECH_VENDORS_COL_NAME + " TEXT, " + TECH_VENDORS_COL_TYPE + " INTEGER);");
db.execSQL("CREATE TABLE " + TECH_MODELS + " (" + TECH_MODELS_COL_ID + " INTEGER, " + TECH_MODELS_COL_TECH_TYPE_ID + " INTEGER, " + TECH_MODELS_COL_VENDOR_ID + " INTEGER, " + TECH_MODELS_COL_NAME + " TEXT);");
System.out.println("Таблицы созданы");
}
Обращаюсь из класса DbUpd
public class DbUpd {
DBHelper dbHelper;
LinkedList <Data> list;
Context cont ;
public DbUpd (){
dbHelper = new DBHelper(this);
Data data = new Data(12, "Тест");
dbHelper.AddOne(data);
list = dbHelper.Getall();
String text = "";
for (Data d:list){
text=text+d.id+" "+d.type+" \n";
}
}
В результате в строке dbHelper = new DBHelper(this) ошибка:
error: incompatible types: DbUpd cannot be converted to Context