Скачать презентацию Сервисы в Android Санкт-Петербург 2016 Service Сервис Скачать презентацию Сервисы в Android Санкт-Петербург 2016 Service Сервис

лекция 16.ppt

  • Количество слайдов: 14

Сервисы в Android Санкт-Петербург, 2016 Сервисы в Android Санкт-Петербург, 2016

Service Сервис (служба) - один из четырех компонентов Android приложениях, предназначенных для выполнения операции Service Сервис (служба) - один из четырех компонентов Android приложениях, предназначенных для выполнения операции в фоновом режиме. Activity Content. Provider Broadcast. Receiver Service

Создание сервиса: Создание сервиса:

Создание сервиса: Создание сервиса:

Реализация сервиса: 1. 2. * *объявление службы в Android. Manifest. xml Реализация сервиса: 1. 2. * *объявление службы в Android. Manifest. xml

Методы жизненного цикла: • on. Create() • on. Start. Command() • on. Destroy() Методы жизненного цикла: • on. Create() • on. Start. Command() • on. Destroy()

Жизненный цикл служб Жизненный цикл служб

Условно есть два вида взаимодействия с сервисом: ● start. Service() ● bind. Service() Service Условно есть два вида взаимодействия с сервисом: ● start. Service() ● bind. Service() Service bind. Service() IBinder Activity 1 Service start. Service() IBinder Activity 2 Activity 3

 Внимание! ● Служба работает в основном потоке ведущего процесса — служба не создает Внимание! ● Служба работает в основном потоке ведущего процесса — служба не создает своего потока и не выполняется в отдельном процессе (если вы не указали иное). Это означает, что если ваша служба собирается выполнять любую работу с высокой нагрузкой ЦП или блокирующие операции (например, воспроизведение MP 3 или сетевые операции), вы должны создать в службе новый поток для выполнения этой работы. Используя отдельный поток, вы снижаете риск возникновения ошибок «Приложение не отвечает» , и основной поток приложения может отрабатывать взаимодействие пользователя с вашими операциями

Intent. Service start. Service() Это подкласс обычного Service. on. Create() -Асинхронность -Остановка сервиса после Intent. Service start. Service() Это подкласс обычного Service. on. Create() -Асинхронность -Остановка сервиса после выполнения. on. Handle. Intent() вызывается в отдельном потоке завершится автоматически on. Destroy()

Запуск службы • Пример для явного вызова службы с именем Hello. Service: • Пример Запуск службы • Пример для явного вызова службы с именем Hello. Service: • Пример для неявного вызова службы с именем My. Service:

Уничтожение процессов процессы уничтожаются в особом приоритете. start. Foreground (int id, Notification notification). stop. Уничтожение процессов процессы уничтожаются в особом приоритете. start. Foreground (int id, Notification notification). stop. Foreground (boolean remove. Notification). Activity уничтожаются первыми Service Foreground Service верояность уничтожения стремится к 0

Broadcast. Receiver Широковещательные сообщения Приёмник широковещательных сообщений — это компонент для получения внешних событий Broadcast. Receiver Широковещательные сообщения Приёмник широковещательных сообщений — это компонент для получения внешних событий и реакции на них. -Broadcast. Receiver базовый класс для всех приемников сообщений. -Инициализировать передачи могут другие приложения или службы Broadcast. Receiver 1 sender send. Broadcast() OS Broadcast. Receiver 2 Broadcast. Receiver N

 Что важно понять ●сервис - не отдельный процесс. ●сервис выполняется в главном потоке Что важно понять ●сервис - не отдельный процесс. ●сервис выполняется в главном потоке приложения. ●сервис помогает сообщить системе, что приложение желает совершать операции в фоновом режиме.