У меня короткий вопрос к учебнику по блокнотам на сайте Android.Я написал простую функцию в коде учебника, чтобы удалить всю базу данных.Это выглядит так:
DataHelper.java
public void deleteDatabase() {
this.mDb.delete(DATABASE_NAME, null, null);
}
Notepadv1.java
@Override
public boolean onCreateOptionsMenu(Menu menu) {
boolean result = super.onCreateOptionsMenu(menu);
menu.add(0, DELETE_ID, 0, "Delete whole Database");
return result;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case DELETE_ID:
mDbHelper.deleteDatabase();
return true;
}
return super.onOptionsItemSelected(item);
}
Но когда я запускаю приложение и пытаюсь удалить базу, я получаюэта ошибка в LogCat:
sqlite вернул: код ошибки = 1, msg = нет такой таблицы: данные
Можете ли вы помочь, как исправитьЭта проблема.Кажется, что функция deleteDatabase не может достичь базы данных.
Большое спасибо.
Феликс
Спасибо за сообщения.Теперь я обновил код:
DataHelper.java
public boolean deleteDatabase(Context context) {
return context.deleteDatabase(DATABASE_NAME);
}
Notepadv1.java
@Override
public boolean onCreateOptionsMenu(Menu menu) {
boolean result = super.onCreateOptionsMenu(menu);
menu.add(0, DELETE_ID, 0, "Delete whole Database");
return result;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case DELETE_ID:
mDbHelper.deleteDatabase(this);
return true;
}
return super.onOptionsItemSelected(item);
}
Но теперь мне нужно перезапустить приложение, которое удаляет базу данных.Я не работаю во время работы приложения.