2010-10-05 7 views
1

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

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

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

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

Прошу совета.

Спасибо.

ответ

1

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

  1. Позвоните, чтобы открыть DB
  2. Проверьте, если файл БД старый
  3. Если да, то удалите его
  4. Open Database (следует создать, если он не существует)
Смежные вопросы