Очистка базы данных приложений
У меня есть приложение для Android, которое использует базу данных sqlite для хранения текстовых данных для конкретного пользователя. Данные считываются/записываются из/в базу данных из службы, которая периодически запускается через каждые n секунд. Мое требование - очищать данные в зависимости от возраста. Например, если файл больше 24 часов, его следует удалить.
Проверка возраста файла кажется простой, просто сравните текущее время с временем создания файла. Проблема заключается в следующем:
-
где я должен поместить эту проверку и удалить файл; внутри приложения onCreate() или когда пользователь входит в систему/выходит из системы? Что было бы идеальным местом для запуска этой логики? Должен ли я планировать будильник, когда пользователь входит в систему?
-
Должен ли я удалить файл или просто удалить строки? Если я не запускаю логику кэширования кэша от входа/выхода из системы, не удалят проблемы с файлом, особенно если служба все еще пытается читать и писать из базы данных?
Пожалуйста, совет.
Спасибо.
Ответы
Ответ 1
Ну, все это зависит от вашей логики для приложения для второй части. Я не могу понять, почему вы удаляете базу данных, если только она не используется для хранения временных данных, которые не имеют значения. В любом случае идеальным местом для этой проверки и удаления является класс доступа к данным, который открывает соединение с базой данных. Ниже была бы моя логика...
- Вызов для открытия DB
- Проверьте, старый ли файл DB
- Если да, удалите его
- Откройте базу данных (необходимо создать ее, если она не существует)