Главная » Разработка для Android » ДРУГИЕ КОМПОНЕНТЫ  – ANDROID ПРИЛОЖЕНИЯ

0

 

В создании приложений для Android участвуют еще три других компонента: сервисы (services), поставщики содержимого (content providers) и широковещательные приемники (broadcast receivers). Класс Service поддерживает фоновые функции. Класс ContentProvider обеспечивает множественным приложениям доступ к хранилищу данных, a Broadcast Recei ver позволяет нескольким участникам слушать намерения, которые транслируются приложениями в системе.

Вы увидите, что приложение, по сравнению с его компонентами, является в Android относительно малозначительной сущностью. Хорошо написанные приложения «растворяются» в среде Android, где они могут запускать активности в других приложениях, чтобы воспользоваться их функциями, либо могут дополнять собственную функциональность, пользуясь другими компонентами Android, поддерживающими их работу. Можно считать поставщики содержимого и намерения Android вторичными API, которые следует научиться применять, чтобы иметь возможность пользоваться сильнейшими качествами Android и плавно интегрировать свое приложение в платформу Android.

Сервис

Класс Service в Android предназначен для решения фоновых задач, которые могут быть в активном состоянии (выполняться), но эта работа никак не будет отражаться на экране. Приложение-плеер также, вероятно, будет реализовано в форме сервиса, чтобы воспроизведение музыки не прекращалось, пока пользователь, к примеру, будет просматривать веб-страницы. Сервисы также позволяют приложениям совместно использовать функции в ходе долговременных соединений. Такая практика напоминает интернет-сервисы (веб-службы), такие как FTP и HTTP, которые ожидают, пока их не активирует запрос от клиента. На платформе Android не принята практика возвращения сервисных ресурсов в общее пользование, поэтому, когда сервис запускается, он, скорее всего, будет доступен, если только нет серьезного дефицита памяти.

Подобно классу Activity, класс Service предлагает методы, управляющие его жизненным циклом, которые, в частности, отвечают за остановку и перезапуск сервиса.

Поставщики содержимого

Поставщики содержимого – это компоненты, которые в целом аналогичны веб-сервису с передачей состояния представления (RESTful). Поставщики содержимого находятся по URI (универсальному идентификатору ресурса), а операции подкласса ContentProvider можно сопоставить с веб-операциями RESTful-сервисов в том, как, например, происходит при работе с ними ввод и получение данных. Особый уникальный идентификатор ресурса, начинающийся с content:// (этот идентификатор распознается в пределах всего локального устройства), предоставляет вам доступ к данным, содержащимся в поставщике содержимого. Для использования ContentProvider вы указываете уникальный идентификатор ресурса и сообщаете, как нужно поступить с данными, на которые поставлена ссылка. Ниже приведен список операций, которые способны выполнять поставщики содержимого. Это знаменитый «квартет» базовых активностей, связанных с обработкой данных: создание (вставка), считывание (запрос), обновление и удаление.

Вставка (Insert) – метод іnsert класса ContentProvider аналогичен операции POST, которая применяется с REST-сервисами. Он вставляет новые записи в базу данных.

Запрос (Query) – метод query класса ContentProvider аналогичен операции GET, которая применяется с REST-сервисами. Он возвращает набор записей в специализированном классе коллекций, называемом Cursor.

Обновление (Update) – метод update класса ContentProvider аналогичен операции UPDATE, которая применяется с REST-сервисами. Он заменяет старые записи в базе данных новыми.

Удаление (Delete) – метод delete класса ContentProvider аналогичен операции DELETE, которая применяется с REST-сервисами. Он удаляет из базы данных методы, соответствующие заданным условиям.

Компоненты поставщика содержимого Android – это ядро модели содержимого в этой операционной системе. Предоставляя ContentProvider, ваше приложение может использовать данные совместно с другими приложениями и управлять моделью данных приложения. Класс-партнер, ContentResolver, позволяет другим компонентам системы Android находить поставщики содержимого. Поставщики содержимого встретятся вам во всех частях платформы. Вы увидите, что они используются как в самой операционной системе, так и в приложениях, написанных другими разработчиками. Необходимо отметить, что основные приложения Android используют поставщики содержимого, которые могут предоставлять быстрые и отлаженные функции для новых приложений Android. В том числе поставщики предоставляются браузером (Browser), календарем (Calendar), списком контактов (Contacts), историей звонков (Call Log), медиа (Media) и настройками (Settings).

Поставщики содержимого – это уникальное явление в системах межпроцессной связи (IPC), встречающихся на других платформах, в частности CORBA, RMI и DCOM, в которых значительную роль играют вызовы удаленных процедур.

Поставщики содержимого действуют и как механизм длительного хранения данных, и как форма межпроцессной коммуникации. Вместо того чтобы просто допустить возможность межпроцессных вызовов методов, поставщики содержимого позволяют разработчикам эффективно использовать целые базы данных SQL – совместно для нескольких процессов. Поставщики содержимого дают возможность совместно применять не объекты, а целые таблицы SQL.

Источник: Android. Программирование на Java для нового поколения мобильных устройств

По теме:

  • Комментарии