Форум программистов, компьютерный форум 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
11.02.2013, 14:49  [ТС]
Цитата Сообщение от flashok Посмотреть сообщение
p.s. интересно что вы решите в итоге
Ну значится идея такова:
1. Делаем Сервис. Внутри сервиса крутится поток, который коннектится через интернет к серверу и получает различную информацию.
2. В самом же Сервисе имеется Объект Данных, хранящий все необходимые данные, в том числе и список критичных сообщений.
3. После получения данных и обновления Объекта Данных, Сервис вызывает BroadcastReсiever. Который является частью Activity.
4. Activity в ответ выполняет Bind-инг к Сервису и через него получает доступ к методам Сервиса. Сервис отдает необходимые данные, в том числе критичные сообщения и Activity их отображает (в том числе обновляет некритичные данные, если требуется). Заодно Сервис сбрасывает критичные сообщения, дабы более они не отображались
5. Одновременно, в случае наличия критичного сообщения, BroadcastReciever создает Notification, который отображается в строке состояния.
6. Если пользователь тыкает в Уведомление, то аналогично вызывается Activity, которое в свою очередь.. см.п.4
7. Если нужно передать что-то из Activity в Сервис, то делаем это через Bind-инг, либо вызывая startService с соответствующим Intent-ом. Пока не решил как правильнее и удобнее. Вероятно через Intent, потому как это и может стать самым первым запуском Сервиса и, по-сути, быть стандартным обращением и можно не заботится о наличии Сервиса при желании ему чего-то отправить.

Т.о. решаются задачи:
Сервис крутится самостоятельно и не заботится об отображении. Он хранит данные и генерирует Intent-ы к BroadcastReciever-у. Причем Activity может и не существовать вовсе - данные будут получаться и сохраняться в Сервисе до момента их получения кем либо через Bind-инг.
А отображением занимается Activity, абсолютно не заботясь, откуда данные пришли, главное их забрать у Сервиса через Bind-инг (предполагаем, что сервис неубиваем).
Момент передачи данных - при старте/рестарте Activity (если не было запущено или было в стопе/паузе или система прибила Activity в случае нехватки ресурса или вызвалась по Уведомлению), при вызове BroadcastReciever-а (оперативное уведомление Activity).

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