Разбор xml один раз для использования во многих мероприятиях - PullRequest
0 голосов
/ 09 февраля 2011

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

Есть ли способ, которым я анализирую xml только один раз в течение жизни программы?

Спасибо.

Ответы [ 4 ]

0 голосов
/ 09 февраля 2011

Часто задаваемые вопросы по Application Framework обсуждают, как делиться структурами данных между действиями . Поскольку каждое действие обычно имеет свой собственный процесс, это не так просто, как объявление объекта-одиночки.

0 голосов
/ 09 февраля 2011

Когда-то раньше я сталкивался с подобной проблемой, проблема в том, что android разрешает отправлять только некоторые общие типы данных между действиями, и если ваш тип данных не является универсальным, то единственное решение, с которым я столкнулся, делает его общедоступным и статическим

0 голосов
/ 09 февраля 2011

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

В Android есть средство для расширения класса Application и объявления его файла манифеста.Таким образом, в любой деятельности вы можете выполнить getApplication () и получить доступ к одному экземпляру этого класса.Опять же, это будет похоже на класс Singleton.

0 голосов
/ 09 февраля 2011

Конечно, просто проанализируйте его один раз и сохраните то, что вы хотите запомнить, в переменных.

Более полно, вы, вероятно, создали бы класс (или классы) классов, которые представляют со свойствами ту же информацию, что и в документе xml.Конструктор класса примет xml в качестве аргумента, проанализирует его и заполнит свойства.

Надеюсь, это поможет.

...