Чистый сервис в приложении для Android - PullRequest
0 голосов
/ 30 декабря 2010

У меня есть сетевая служба в моем приложении, сейчас не имеет значения, является ли это потоком в контексте приложения или службой, важно то, что у меня возникли проблемы с получением правильного ответа.Служба работает, и я получаю ответы, прямо сейчас я работаю с шаблоном дизайна наблюдателя, который является сукой в ​​Android :-( Я должен удалить слушателя на уничтожить, а затем проверить сеть, если все готово закончено иобрабатывать разные сценарии.Я хочу изменить свой подход, но я не уверен, каков правильный путь для Android, похоже, что действия сделаны для опроса, что плохо для моей архитектуры и подвержено ошибкам: - (.

Я думал оследующие два метода, но не, кажется, дают мне реальное решение:

  1. создать приемник braodcast, который отправит букву с флажком, если ответ или ошибка поступили из сети, он склонен к активности для опросаправильные данные и дескриптор. Я действительно задаюсь вопросом об этом, так как, если я регистрируюсь для broacast, я в основном должен удалить слушателя во время паузы, так что я МОГУ пропустить трансляцию, тогда он снова проверяет состояние сети в onCreate, так же, как и яделаю сейчас - отстой ...
  2. регистрирую активность, которая является событием, и отправляю ему намерение, используя startActivity, но здесь, если активность находится на паузе или остановке, я перенесу ее на фронт, яЯ не хочу такого поведения, я только хочу, чтобы мероприятие получило событие, несмотря ни на что, и начинает задаваться вопросом, есть ли способсделай это.

Событие пейзаж \ портрет убивает меня, как-нибудь из этого?

1 Ответ

0 голосов
/ 19 января 2011

я обнаружил следующее:

  1. я могу решить справиться с пейзажные \ портретные события себя и тогда я устраняю 90% проблемы
  2. я могу использовать широковещательные приемники, но с прикрепленным флагом, который заставит меня ждать, я просто должен сначала проверить, получил ли я это намерение, я его еще раз получу, если он липкий портрет, я могу получить его дважды при повороте экрана)

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

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