Android: обновление на месте в приложении - PullRequest
0 голосов
/ 07 июня 2011

У меня есть приложение для Android, где часть приложения представляет собой список данных, который в настоящее время содержится в строковом массиве (в ресурсе xml).В настоящее время я выпускаю обновления очень часто для реального приложения, которые не делают ничего, кроме обновления этого списка данных.(да, задним числом этот метод был плохой идеей для начала).

Теперь моя цель - изменить это так, чтобы я мог обновлять только ту часть приложения, которую необходимо изменить.У меня есть веб-сервер, и теперь я отправляю JSON-версию данных с URL-адреса.Поэтому все, что нужно приложению, это нажать на этот URL, проверить, не изменился ли он (возможно, с использованием номера версии), а затем обновить.

Моя проблема заключается в реальной реализации:

  • Где / как мне хранить эти данные?Как сырой файл?SharedPrefs?База данных?[то есть каковы плюсы и минусы каждого из них]
  • Как я могу выполнить плавное обновление, при котором даже если во время обновления происходит что-то разрушительное [например, пользователь тянет батарею ...], он все равно выигрывает »сломать приложение?
  • Должен ли код обновления существовать в службе?

1 Ответ

0 голосов
/ 07 июня 2011

Я бы выделил ваши данные в небольшой фоновый сервис.Используйте предоставленный SQLLite.Для проверки согласованности данных вы можете использовать проверки md5, функции отката базы данных и, самое главное, разработать небольшой набор тестов.Одну только отправку частичного файла, т. Е. «Испорченный тест на передачу», мусорный файл и т. Д. Держите его как отдельный и тестируемый компонент вашего приложения.

...