Как удалить базу данных sqlite android studio

Как удалить базу данных SQLite из Android программным способом

Я хотел бы удалить файл базы данных из Android file system программно? Можно ли запустить оболочку script launch adb , которая по очереди запускает оболочку script в пространстве Android для удаления базы данных? Могу ли я сделать это из тестового примера JUnit (с вызовом system() )?

Как удалить всю базу данных в Android? Мне нужно, чтобы все это исчезло, поэтому я могу протестировать создание базы данных. Я могу отказаться от таблиц, но этого недостаточно. Это находится в эмуляторе, а не на телефоне.

8 ответов

Как только у вас есть Контекст и узнайте имя базы данных, используйте:

Когда эта строка запускается, база данных должна быть удалена.

Легко просто ввести из оболочки:

Статический метод 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.

Проведите вправо до Список всех приложений. Игнорировать списки запущенных и загружаемых приложений. Вам нужен список всех приложений.

Выберите приложение, которое вы хотите отключить. Появится экран свойств с кнопку для принудительного останова в левом верхнем углу и другую для Отключите или удалите обновления в верхней правой части.

Источник

Полный список

— используем методы update и delete с указанием условия

На прошлом уроке мы разобрали, как вставить запись, считать все записи из таблицы и очистить таблицу. Теперь посмотрим, как обновить и удалить конкретную запись.

Новый проект создавать не будем, используем P0341_SimpleSQLite с прошлого урока. Немного поменяем экран, добавим поле для ввода ID и кнопки для обновления и удаления.

По нажатию кнопки Update мы будем читать содержимое полей Name и Email, и обновлять запись в таблице, для которой id = значению из поля ID. По нажатию кнопки Delete будем удалять запись из таблицы по id = значению из поля ID. Экран получился, конечно, не самый лучший с точки зрения эргономики и юзабилити, но у нас тут не кружок юных дизайнеров, а серьезное изучение БД.

Читайте также:  Найти iphone для андроида

Подредактируем MainActivity.java. Добавим описание и определение новых экранных элементов, присвоение обработчиков для кнопок.

(Обращайте внимание только на выделенные строки)

Теперь дополним реализацию onClick:

(Добавляете только выделенный текст)

Мы добавляем переменную id, пишем в нее значение поля etID. В switch добавляем две новые ветки:

btnUpdобновление записи в mytable. Проверяем, что значение id не пустое, заполняем cv данными для апдейта и обновляем запись. Для этого используется метод update. На вход ему подается имя таблицы, заполненный ContentValues с значениями для обновления, строка условия (Where) и массив аргументов для строки условия. В строке условия я использовал знак ?. При запросе к БД вместо этого знака будет подставлено значение из массива аргументов, в нашем случае это – значение переменной id. Если знаков ? в строке условия несколько, то им будут сопоставлены значения из массива по порядку. Метод update возвращает нам кол-во обновленных записей, которое мы выводим в лог.

btnDelудаление записи из mytable. Проверяем, что id не пустое и вызываем метод delete. На вход передаем имя таблицы, строку условия и массив аргументов для условия. Метод delete возвращает кол-во удаленных строк, которое мы выводим в лог.

Обратите внимание, что условия и для update и для delete у меня одинаковые, а именно id = значение из поля etID. Но реализовал я их немного по-разному. Для update использовал символ ? в строке условия и массив аргументов. А для delete вставил значение сразу в строку условия. Таким образом, я просто показал способы формирования условия. А вы уже используйте тот, что больше нравится или лучше в конкретной ситуации.

Все сохраним и запустим. На прошлом уроке мы добавляли пару записей, но потом их удалили. Так что я буду добавлять снова. Добавлю пару записей, нажму Read, вижу в логе:

ID = 3, name = Ivan Petrov, email = ipetrov @abc.com
ID = 4, name = Anton Sidorov, email = asidorov @def.com

Теперь попробуем обновить запись с ID=3. Для этого вводим 3 в поле ID и новые данные в поля Name и Email:

Жмем Update, смотрим лог:

— Update mytable: —
updated rows count = 1

обновилась одна запись, все верно.

Нажмем Read и убедимся в этом. Лог:

ID = 3, name = Petr Ivanov, email = pivanov @abc.com
ID = 4, name = Anton Sidorov, email = asidorov @def.com

Запись действительно обновилась.

Теперь давайте удалим запись с ID = 4. Вводим 4 в поле ID

Жмем Delete, смотрим лог:

— Delete from mytable: —
deleted rows count = 1

одна запись удалена.

Жмем Read, смотрим лог:

— Rows in mytable: —
ID = 3, name = Petr Ivanov, email = pivanov @abc.com

осталась одна запись.

Если попробовать удалить запись с пустым полем ID, то ничего не будет, т.к. мы реализовали проверку. Если же попробовать удалить запись с несуществующим ID, то метод delete вернет 0. Т.е. ничего не было удалено, т.к. не нашлось записей для удаления.

Теперь вы умеете читать, вставлять, удалять и изменять записи в SQLite.

Полный код MainActivity.java:

На следующем уроке:

— подробно разбираем метод чтения данных query
— используем сортировку, группировку, условия, having

Присоединяйтесь к нам в Telegram:

— в канале StartAndroid публикуются ссылки на новые статьи с сайта startandroid.ru и интересные материалы с хабра, medium.com и т.п.

— в чатах решаем возникающие вопросы и проблемы по различным темам: Android, Kotlin, RxJava, Dagger, Тестирование

— ну и если просто хочется поговорить с коллегами по разработке, то есть чат Флудильня

— новый чат Performance для обсуждения проблем производительности и для ваших пожеланий по содержанию курса по этой теме

Источник

Как удалить базу данных SQLite из Android программным способом

Я хотел бы удалить файл базы данных из Android file system программы? Можно ли запустить сценарий оболочки, adb который, в свою очередь, запускает сценарий оболочки в пространстве Android для удаления базы данных? Могу ли я сделать это из JUnit теста (с помощью system() звонка)?

Читайте также:  Android включить датчика приближения

Как удалить всю базу данных в Android? Мне нужно, чтобы все прошло, чтобы я мог проверить создание базы данных. Я могу отбросить таблицы, но этого недостаточно. Это в эмуляторе, а не на телефоне.

Когда у вас есть свой Контекст и вы знаете имя базы данных, используйте:

Когда эта строка запускается, база данных должна быть удалена.

Это просто, просто наберите из вашей оболочки:

Статический метод SQLiteDatabase.deleteDatabase (File file) был добавлен в API 16. Если вы хотите писать приложения, поддерживающие более старые устройства, как вы это делаете?

Я пытался: file.delete ();

но это портит SQLiteOpenHelper.

НЕВАЖНО! Позже я понял, что вы используете Context .deleteDatabase (). Context один прекрасно работает и удаляет журнал тоже. Работает для меня.

Кроме того, я обнаружил, что мне нужно вызвать SQLiteOpenHelp.close () перед выполнением удаления, чтобы затем я мог использовать LoaderManager для его воссоздания.

Также из Eclipse вы можете использовать DDMS, что делает его действительно простым.

Просто убедитесь, что ваш эмулятор работает, а затем переключитесь на перспективу DDMS в Eclipse. У вас будет полный доступ к File Explorer, который позволит вам войти и легко удалить всю базу данных.

Это может кому-то помочь. Вы должны упомянуть расширение, иначе оно не будет работать.

context.deleteDatabase (DATABASE_NAME); удалит базу данных, только если все соединения закрыты. Если вы поддерживаете одноэлементный экземпляр для обработки вашего помощника по базе данных — легко закрыть открытое соединение.

В случае, если база данных helper используется в нескольких местах путем непосредственного создания экземпляра, deleteDatabase + killProcess выполнит эту работу, даже если некоторые соединения открыты. Это можно использовать, если в сценарии приложения нет проблем при перезапуске приложения.

Удалить старую базу данных при удалении приложения.

Установка android: allowBackup = «false» в теге приложения в AndroidManifest.xml устранила проблему. Кажется, по какой-то странной причине ОС Android восстанавливала из резервной копии каждый раз, когда я развертывал приложение.

Вы можете создать файл объекта текущего пути к базе данных, а затем удалить его, как мы удаляем файл из папки

Я использовал метод удаления базы данных Android и база данных успешно удалена

Я использовал следующее для «форматирования» базы данных на устройстве после того, как изменил структуру базы данных в активах. Я просто раскомментирую строку в MainActivity, когда хочу, чтобы база данных снова читалась из ресурсов. Это сбросит значения и структуру базы данных устройства в соответствии с занятой базой данных в папке активов.

Далее я реализую кнопку, которая будет запускать deleteDatabase, чтобы пользователь мог сбросить свой прогресс в игре.

Из диспетчера приложений вы можете удалить все приложение с данными. Или просто данные сами по себе. Это включает в себя базу данных.

Перейдите в Настройки. Вы можете войти в меню настроек либо в меню приложений, либо, на большинстве телефонов, потянув вниз панель уведомлений и нажав там кнопку.

Выберите подменю Apps. На некоторых телефонах это меню будет иметь немного другое имя, например, Диспетчер приложений.

Проведите вправо до списка Все приложения. Игнорируйте списки запущенных и загруженных приложений. Вы хотите список всех приложений.

Выберите приложение, которое вы хотите отключить. Появится экран свойств с кнопкой для принудительной остановки в левом верхнем углу и другой кнопкой для отключения или удаления обновлений в правой верхней части.

Источник

Как удалить базу данных в sqlite?

Я использую SQLite в android. Я хочу удалить базу данных.

Например: mysql- drop database dbname

Как реализовать этот код в SQLite?

Концепция создания или удаления базы данных не имеет смысла для встроенного механизма базы данных, такого как SQLite. Он имеет смысл только с системой базы данных клиент-сервер, например, MySQL или Postgres.

Читайте также:  Разделы жесткого диска андроид

Чтобы создать новую базу данных, просто выполните sqlite_open() или из командной строки sqlite3 databasefilename .

Чтобы удалить базу данных, удалите файл.

Ссылка: sqlite – неподдерживаемый SQL

Чтобы удалить базу данных приложений, попробуйте следующее:

Это приведет к удалению файла базы данных

Вы можете отбрасывать tables , выдавая команду SQL, как обычно. Если вы хотите удалить всю базу данных, вам придется удалить файл. Вы можете удалить файл, расположенный в

Вы можете сделать это из вида eclipse под названием «FileBrowser» из категории «Android», например. Или прямо на ваш эмулятор или телефон.

Если вы хотите удалить базу данных программно, вы можете использовать deleteDatabase из класса Context :

DeleteDatabase (имя строки)
Удалите существующую приватную SQLiteDatabase, связанную с этим пакетом приложений Context.

Чтобы создать новую базу данных, просто выполните sqlite_open (). Чтобы удалить базу данных, удалите файл.

Как программно удалить базу данных SQLite из Android

Если вы используете SQLiteOpenHelper, вы можете сделать это

Источник

Как программно удалить базу данных SQLite из Android

Я хотел бы удалить файл базы данных из Android file system программно? Могу ли я запустить скрипт запуска оболочки, который по очереди запускает сценарий оболочки в пространстве Android для удаления базы данных? Могу ли я сделать это в рамках тестового примера JUnit (с вызовом system() )?

Как удалить всю базу данных на Android? Мне нужно, чтобы все это исчезло, поэтому я могу протестировать создание базы данных. Я могу отказаться от таблиц, но этого недостаточно. Это находится в эмуляторе, а не на телефоне.

После того, как у вас есть Контекст и знаете имя базы данных, используйте:

Когда эта строка запускается, база данных должна быть удалена.

Легко просто напечатать из оболочки:

Статический метод SQLiteDatabase.deleteDatabase (File file) был добавлен в API 16. Если вы хотите писать приложения, поддерживающие старые устройства, как вы это делаете?

Я попробовал: file.delete ();

Но он запутывает SQLiteOpenHelper.

НЕВАЖНО! Позже я понял, что вы используете Context .deleteDatabase (). Контекст отлично работает и удаляет журнал. Работает на меня.

Кроме того, я обнаружил, что мне нужно было вызвать SQLiteOpenHelp.close () перед выполнением удаления, чтобы затем использовать LoaderManager для его воссоздания.

Также из Eclipse вы можете использовать DDMS, что делает его очень легким.

Просто убедитесь, что ваш эмулятор запущен, а затем переключитесь на перспективу DDMS в Eclipse. У вас будет полный доступ к файловому проводнику, который позволит вам легко и просто удалить всю базу данных.

context.deleteDatabase (DATABASE_NAME); Удалит базу данных только в том случае, если все соединения закрыты. Если вы поддерживаете экземпляр singleton для обработки вашего помощника базы данных – легко закрыть открытое соединение.

Если база данных используется в нескольких местах, создавая экземпляр напрямую, файл deleteDatabase + killProcess выполнит эту работу, даже если некоторые соединения открыты. Это можно использовать, если в сценарии приложения нет проблем при перезапуске приложения.

Из Application Manager вы можете удалить все приложение с данными. Или просто данные сами. Это включает в себя базу данных.

Перейдите к настройкам. Вы можете перейти в меню настроек либо в меню приложений, либо на большинстве телефонов, потянув вниз ящик уведомлений и нажав кнопку там.

Выберите подменю Службы. На некоторых телефонах это меню будет иметь немного другое имя, например Application Manager.

Проведите по экрану в списке «Все приложения». Игнорируйте списки запущенных и загруженных приложений. Вам нужен список всех приложений.

Выберите приложение, которое вы хотите отключить. Появится экран свойств с кнопкой для принудительного останова в левом верхнем углу, а другой – для отключения или удаления обновлений в верхней правой части.

Удалить данные.

Вы можете перейти к своему эмулятору> Настройки> Приложение>. Затем щелкните приложение, из которого вы хотите удалить базу данных, и нажмите> Очистить данные. ,

Источник

Оцените статью