Подача XML, загруженная в локальный файл XML, затем обработка локального файла XML

1

Я пытаюсь написать приложение, которое имеет следующие функции:

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

Моя цель - свести к минимуму ненужный сетевой трафик и справиться с ситуациями, когда вообще нет сетевого подключения. Обработка XML-данных не является проблемой, просто передача фида XML в локальный файл, если он был создан, и как добиться этого более чем в 1 операции.

Можете ли вы предложить несколько советов по предоставлению этой функции?

Заранее спасибо..... Фил

Теги:
android-activity
inputstream
local

1 ответ

0

Вы хорошо описали свою стратегию, но все еще есть пробелы.

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

  Display display = ...;
  DisplayInfo displayInfo = null;
  while (checkingForDisplayUpdates()) {
     UpdateInfo updateInfo = getUpdateInfo();
     if (displayInfo == null || updateInfo.getDisplayRevision() > displayInfo.getRevision()) {
        DisplayInfo downloadedDisplayInfo = downloadDisplayInfo();
        if (downlaodedDisplayInfo.getChecksum() == updateInfo.getDisplayChecksum()) {
          display.clearDisplayInfo();
          display.presentDisplayInfo(displayInfo);
        }
     }
     sleepTillNextUpdateCheck();
  }
  • 0
    Edwin, Обновленный XML-канал полностью находится под моим контролем (у меня есть сервер, и я обычно обновляю его ежемесячно), но пользователь приложения не знает, когда он обновляется. Сон, вероятно, не является необходимым в этом случае. Я хочу проверять канал каждый раз, когда приложение открывается, или загружать его в любом случае, если запрашивается обновление и имеется сетевое подключение.
  • 0
    Таким образом, вам нужно поток в вашем приложении, который проверяет наличие обновлений, а затем он проходит через псевдокод выше. Вы не хотите проверять каждое мгновение, поэтому вы продолжаете sleepTillNextUpdateCheck или спите до следующей проверки.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню