Очистка базы данных приложений

У меня есть приложение для Android, которое использует базу данных sqlite для хранения текстовых данных для конкретного пользователя. Данные считываются/записываются из/в базу данных из службы, которая периодически запускается через каждые n секунд. Мое требование - очищать данные в зависимости от возраста. Например, если файл больше 24 часов, его следует удалить.

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

  • где я должен поместить эту проверку и удалить файл; внутри приложения onCreate() или когда пользователь входит в систему/выходит из системы? Что было бы идеальным местом для запуска этой логики? Должен ли я планировать будильник, когда пользователь входит в систему?

  • Должен ли я удалить файл или просто удалить строки? Если я не запускаю логику кэширования кэша от входа/выхода из системы, не удалят проблемы с файлом, особенно если служба все еще пытается читать и писать из базы данных?

Пожалуйста, совет.

Спасибо.

Ответ 1

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

  • Вызов для открытия DB
  • Проверьте, старый ли файл DB
  • Если да, удалите его
  • Откройте базу данных (необходимо создать ее, если она не существует)