Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Использование Сервисов - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android OnPress - OnRelease (Кнопки) http://www.cyberforum.ru/android-dev/thread780807.html
Курил форум - не нашел ничего толкового. Есть ли в API что-то вроде Time.timeDelay (Unity3D)? Т.е. ПОКА нажата кнопка - выполняется действие, как только кнопка отпускается - действие прекращается....
Программирование Android не отображается карта здравствуйте,возникла проблема,не отображается карта. т.е все компилируется без ошибок,но сама карта не отображается.если запускаю google sample то даже есть реакция на нажатие но карты нет, просто... http://www.cyberforum.ru/android-dev/thread780741.html
Программирование Android Контакты с гугл аккаунта
Используя контент провайдер получаю список контактов у которых есть дни рождения. Этот список вывожу в виджет. Получаю 5, 10 строк не больше. На телефонах, где телефонная книжка большая, примерно...
Программирование Android Рисование
Здравствуйте, можно ли кинуть поверх бэкграунда прозрачный слой и рисовать на нем? на канве вроде нельзя прозрачность ставить.. или если можно на andengine рисовать на спрайтах..
Программирование Android Пути и подводные камни Монетизации http://www.cyberforum.ru/android-dev/thread780164.html
Доброго времени суток! Интересуют такие моменты: 1) Варианты вывода денег для Украинских разработчиков (прозрачные и теневые). 2) Payoneer. Много Интернет-источников посвящены этому...
Программирование Android Не запускается эмулятор Сигнатура проблемы: Имя события проблемы: APPCRASH Имя приложения: emulator-arm.exe Версия приложения: 0.0.0.0 Отметка времени приложения: 50c006de Имя модуля с ошибкой: atioglxx.dll ... подробнее

Показать сообщение отдельно
obrazer
70 / 70 / 1
Регистрация: 04.09.2012
Сообщений: 170
07.02.2013, 22:19  [ТС]
Цитата Сообщение от dubok79 Посмотреть сообщение
Все очень понятно написано.
Спасибо. Этот ресурс я уже изучал. немного сразу не догнал некоторые моменты, сейчас вчитался подробнее

Вопрос остается открытым по поводу явного наличия Активити и Сервиса в одном процессе. Как в написано в этом же источнике - "Как вы понимаете, это сработает только, если сервис и приложение выполняются в одном процессе"

Т.е. учитывая жизненный цикл приложения могу предположить, что:
1. Приложение запускается, отображается некоторое Активити, которое запускает Сервис.
2. Сервис работает и может через БроадкастРесивер или через Биндинг отдавать данные или получать доступ к методом сервиса.
3. Устройство заснуло. Активити перешло в Паузу Или вообще в Стоп, а в последствии может даже было "убито" системой.
4. Сервис по-прежнему работает, и в случае получения Критичного сообщения создает уведомление и должен где-то сохранить данные, вероятно в каком-либо своем поле.
5. Пользователь получив уведомление будит девайс и тыкает в уведомление. Уведомление открывает соответствующее Активити и вроде как Активити должно опять иметь возможность либо через БроадкастРесивер или посредством Биндинга получить доступ к Сервису. Вот тут вопрос - это Активити будет создано в том же процессе, что и Сервис?

Если восстановленное Активити создается в том же процессе что и сервис, то самым рациональным вижу просто прибиндиться еще раз и получить критичное сообщение непосредственно с Сервиса.

Т.е. Сервис работает с сетью, получает все сообщения и хранит актуальное состояние данных, в том числе накапливает критичные сообщения и создает уведомления.

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

Подтвердите/опровергните/уточните мое понимание процесса.

Добавлено через 9 минут
Цитата Сообщение от YuraAAA Посмотреть сообщение
с помощью паттерна Observer-Observable.
Это предполагает оперативное информирование Активити об изменении в Сервисе. Но Активити может быть в Паузе, Стопе или вообще убито системой. И после восстановления Активити уже не узнает, что в Observable происходили какие либо изменения. Да и после восстановления придется снова добавляться в Observable, который является частью Сервиса, а для этого надо сперва подключиться к Сервису

Хотя отображать Критичные сообщения в случае когда Активити активно это может помочь.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru