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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android OnPress - OnRelease (Кнопки) http://www.cyberforum.ru/android-dev/thread780807.html
Курил форум - не нашел ничего толкового. Есть ли в API что-то вроде Time.timeDelay (Unity3D)? Т.е. ПОКА нажата кнопка - выполняется действие, как только кнопка отпускается - действие прекращается. В частности мне необходимо при зажатии кнопки выводить на экран ползунок с растущим значением, а как кнопку откпускаешь - значение сбрасывается на ноль и ползунок исчезает. Что читать? Куда копать?...
Программирование Android не отображается карта здравствуйте,возникла проблема,не отображается карта. т.е все компилируется без ошибок,но сама карта не отображается.если запускаю google sample то даже есть реакция на нажатие но карты нет, просто белый экран. <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" ... http://www.cyberforum.ru/android-dev/thread780741.html
Программирование Android Контакты с гугл аккаунта
Используя контент провайдер получаю список контактов у которых есть дни рождения. Этот список вывожу в виджет. Получаю 5, 10 строк не больше. На телефонах, где телефонная книжка большая, примерно 150-200 контактов программа подвисает или вообще вылетает с ошибкой. Проверить не могу, что бы отследить ошибку на моих телефонах все работает. Может на вскидку кто может указать вектор проблемы? От...
Программирование Android Рисование
Здравствуйте, можно ли кинуть поверх бэкграунда прозрачный слой и рисовать на нем? на канве вроде нельзя прозрачность ставить.. или если можно на andengine рисовать на спрайтах..
Программирование Android Пути и подводные камни Монетизации http://www.cyberforum.ru/android-dev/thread780164.html
Доброго времени суток! Интересуют такие моменты: 1) Варианты вывода денег для Украинских разработчиков (прозрачные и теневые). 2) Payoneer. Много Интернет-источников посвящены этому вопросу, но вот на одном из форумов была дискуссия о том, надо ли при регистрации Payoneer-карты и EIN указывать реальные адреса. В частности, было высказано, что "после начала боле-менее активной...
Программирование Android Не запускается эмулятор Сигнатура проблемы: Имя события проблемы: APPCRASH Имя приложения: emulator-arm.exe Версия приложения: 0.0.0.0 Отметка времени приложения: 50c006de Имя модуля с ошибкой: atioglxx.dll Версия модуля с ошибкой: 6.14.10.9232 Отметка времени модуля с ошибкой: 4b0c9a24 Код исключения: c0000005 Смещение исключения: 0000b212 подробнее

Показать сообщение отдельно
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).

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