Я хотел бы удалить файл базы данных из Android file system
программно? Можно ли запустить оболочку script launch adb
, которая по очереди запускает оболочку script в пространстве Android для удаления базы данных? Могу ли я сделать это из тестового примера JUnit
(с вызовом system()
)?
Как удалить всю базу данных в Android? Мне нужно, чтобы все это исчезло, поэтому я могу протестировать создание базы данных. Я могу отказаться от таблиц, но этого недостаточно. Это находится в эмуляторе, а не на телефоне.
Как только у вас есть Контекст и узнайте имя базы данных, используйте:
context.deleteDatabase(DATABASE_NAME);
Когда эта строка запускается, база данных должна быть удалена.
Легко просто ввести из оболочки:
adb shell
cd /data/data
cd <your.application.java.package>
cd databases
su rm <your db name>.db
Try:
this.deleteDatabase(path);
или
context.deleteDatabase(path);
Статический метод SQLiteDatabase.deleteDatabase(File file) был добавлен в API 16. Если вы хотите писать приложения, поддерживающие старые устройства, как вы это делаете?
Я попытался: file.delete();
но он запутывает SQLiteOpenHelper.
Спасибо.
NEVER MIND! Позже я понял, что вы используете Контекст.deleteDatabase(). Контекст отлично работает и удаляет журнал. Работает для меня.
Кроме того, я обнаружил, что мне нужно было вызвать SQLiteOpenHelp.close(), прежде чем делать удаление, чтобы затем использовать LoaderManager для его создания.
Также из Eclipse вы можете использовать DDMS, что делает его очень легким.
Просто убедитесь, что ваш эмулятор запущен, а затем переключитесь на перспективу DDMS в Eclipse. У вас будет полный доступ к файловому проводнику, который позволит вам входить и легко удалять всю базу данных.
context.deleteDatabase(DATABASE_NAME); удалит базу данных только в том случае, если все соединения закрыты. Если вы поддерживаете экземпляр singleton для обработки вашего помощника базы данных - легко закрыть открытое соединение.
Если база данных используется в нескольких местах, создавая экземпляр напрямую, файл deleteDatabase + killProcess выполнит эту работу, даже если некоторые соединения открыты. Это можно использовать, если в сценарии приложения нет проблем при перезапуске приложения.
Вы можете перейти к своему эмулятору > Настройки > Приложение > . затем щелкните приложение, из которого вы хотите удалить базу данных, и нажмите > Очистить данные.,
В Диспетчере приложений вы можете удалить все приложение с данными. Или просто данные сами. Это включает в себя базу данных.
Перейдите к настройкам.. Вы можете перейти в меню настроек либо в меню ваших приложений или, на большинстве телефонов, потянув уведомление выдвижной ящик и нажав кнопку там.
Выберите подменю Службы. На некоторых телефонах это меню будет иметь немного другое имя, например Application Manager.
Проведите вправо до Список всех приложений. Игнорировать списки запущенных и загружаемых приложений. Вам нужен список всех приложений.
Выберите приложение, которое вы хотите отключить. Появится экран свойств с кнопку для принудительного останова в левом верхнем углу и другую для Отключите или удалите обновления в верхней правой части.
Удалить данные.