Я все же действительно понимаю весь этот контекст, который мы нашли много в программировании для Android. поэтому я попытался создать функцию, чтобы удалить все мои таблицы, а вот мой частичный код:Проводящий контекст из неактивного
public class DBAdapter {
private static class DbHelper extends SQLiteOpenHelper {
private boolean databaseCreated = false;
public DbHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
public void deleteTables(){
Log.d("DBAdapter","dlm drop tables pre");
this.sqlDatabase.execSQL("DROP TABLE IF EXISTS ["+TABLE_TV+"];");
this.sqlDatabase.execSQL("DROP TABLE IF EXISTS ["+TABLE_CAMERA+"];");
this.sqlDatabase.execSQL("DROP TABLE IF EXISTS ["+TABLE_GPS+"];");
}
}
}
и ту часть, где я буду называть функция deleteTables
public class UpdateDatabase {
public void updateTable(String table,JSONObject jsonObject){
DBAdapter db = new DBAdapter(this);
db.deleteTables();
}
}
но, конечно, вернет ошибку, поскольку DBAdapter ожидает контекст. Открытый класс UpdateDatabase не является классом активности. Вызов DbAdapter db = новый DBAdapter (это) из класса активности будет работать только найти. Итак, как мне найти исправление для этой проблемы?
благодаря
'updateTable' - это _static method_, у него нет' this' –
ok, я исправил это и удалил static из updateTable, но все же, как я могу передать контекст в DBAdapter отсюда? – imin