#android
Интерес располагается к схеме работы слушателя через сетевое соединение для какой нибудь базы данных, например, имеются службы в которых всё это реализовывается, к примеру в вашем телефоне приложение вконтакте, viber, whatsapp и подобные. Происходят моментальные уведомления об сообщениях и моментальный вывод. То есть, по большому счёту приложение слушает базу данных, таблицу, ту что нужно, подсчитывает кол-во сообщений и т.д Непосредственно через API. Всё это, происходит в реальном времени. Кто может мне подсказать в каком направлении идти, создавать отдельный поток и рекурсивно проверять базу? Или сделать какой нибудь хитрый слушатель, правда я ещё не уверен в этом, хотя рекурсивный метод дорого стоит, кто сталкивался с подобным на практике?
Ответы
Ответ 1
Здесь есть 2 варианта: Через Google Cloud Messaging механизм описанный @KoVadim. Кроме очевидных плюсов описанных @KoVadim метод имеет один существенный минус - вы должны иметь доступ к серверу для реализации доступа из сервера к облаку Google, что не всегда возможно. Более кондовый способ: "дерганье" собственно самого сервера непосредственно из вашей аппы. Механизм обычно устраивается так: а) Фоновый поток/сервис, который с заданным интервалом "дергает" сервер и результаты пишет в локальную БД б) Над БД устраивается ContentProvider, далее сверх ContentProvider'а уже можно устроить CursorAdapter с соответствующим LoaderManager в) Завершающий штрих CursorAdapter может иметь слушателя ContentObserver, который вы и будете ловить на предмет изменений в локальной базе, следовательно и на сервере. P.S. Это вам не ПЖИВ-ПЖИВ орать на площадях :)
Комментариев нет:
Отправить комментарий