Как удалить старые элементы из базы данных и избежать их добавления в следующий раз на Android? - PullRequest
0 голосов
/ 24 марта 2011

У меня есть ListView, который отображает записи (фильмы) из БД SQLite. Каждая запись, кроме других полей, имеет поля movieId (уникальные) и date_added.

Моя работа по синхронизации получает новые фильмы с сайта и добавляет их в БД. При этом предполагается удалить фильмы, которые были добавлены более 3 дней назад. Но если я просто удаляю их из БД, то они могут быть добавлены снова во время синхронизации (поскольку фильм с таким movieId не будет существовать в БД).

Как лучше всего избежать этого? Будет ли это нормально, если я не удалю всю запись, а просто обнулю все наши поля, кроме этого movieId? Или есть другой, более правильный подход?

Ответы [ 2 ]

1 голос
/ 24 марта 2011

Если вы не хотите отображать фильмы, которые были добавлены более 3 дней назад, вам, вероятно, придется хранить их в базе данных.

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

Единственное изменение - вместо того, чтобы использовать задание синхронизации для удаления старых записей, вам придется использовать адаптер списка, чтобы получать только новые записи в своем запросе.

0 голосов
/ 24 марта 2011

Оставить только movieId будет работать до переустановки. Я бы предпочел хранить такие данные, как кто скачал на сервере, и фильтровать их во время синхронизации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...