2014-02-13 8 views
0

Я хочу знать, что можно использовать WebService, которые генерируют данные динамически на основе динамических полей, и приложение поддерживает его изменения во время разбора? мне не ясно, как я могу использовать веб-сервис, который может быть добавлен позже, поэтому синтаксический анализатор для json в более старой версии приложения больше не будет применяться, и он будет генерировать исключения. Каковы наилучшие методы обработки динамических веб-сервисов и переход на новые изменения в Android? теперь я использую Gson для разбора json запросов с предопределенными классами, поэтому все будет понятным для синтаксического анализа, а затем я буду использовать этот класс. любые советы, учебники или образцы для динамического анализа будут оценены.Обработка динамических веб-сервисов

ответ

1

Возможно, лучше всего включить атрибут версии в сообщение JSON. Затем вы можете проверить версию перед разбором сообщения.

Я работал над приложениями в прошлом, когда мы имели преобразователи, которые могли бы преобразовать из

  • версии 1 -> Версия 2
  • версия 2 -> Версия 3
  • версия 3 -> Версия 4

Таким образом, в вашем приложении вы всегда можете указать код с последней сущностью (то есть версией 4). Если приходит сообщение версии 1, оно передается через 3 конвертера и входит в приложение в виде сообщения версии 4. Если приходит сообщение версии 2, оно проходит только через два преобразователя.

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

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

Смежные вопросы