ацій або для забезпечення роботи віддалених процесів, але в загальному випадку це просто режим, який функціонує, коли додаток не в фокусі. Прикладом такого процесу може стати прослуховування музики в той час, коли користувач робить щось інше або отримання даних по мережі без блокування поточної активності. Сервіс сам по собі не надає користувальницького інтерфейсу, тобто з користувачем не взаємодіє, а запускається, управляється і пов'язаний з іншими компонентами, наприклад, activity. Також може запускатися разом з сістемой.providers Даний компонент управляє наборами даних, які додатки надають іншим. Ці дані можуть зберігатися в файловій системі, базах даних SQLite, в мережі, або в будь-якому іншому постійному місці, до якого додаток може мати доступ. Допомогою content provider інший додаток може запитувати дані і, якщо виставлені відповідні дозволи, змінювати їх. Наприклад, система Android містить content provider, який управляє користувальницької інформацією про контактах. Він дозволяє будь-якому додатком, котрий володіє відповідними правами викликати складові цього компонента для того, щоб зчитувати, записувати або змінювати інформацію про конкретну людину.
У більш загальному випадку, content provider можна використовувати для читання і запису даних, які використовуються додатком і не є відкритими для інших. Наприклад, додаток Note Pad використовує такий компонент для збереження зроблених записів.
Дані компоненти реалізуються як підклас ContentProvider. І для того, щоб інші програми могли вчинити операції з даними, їм необхідно надати стандартний набір API.receivers. Цей компонент відповідає за поширення загальносистемних повідомлень, відстеження та реагування на дії. Багато оповіщення йдуть від системи, наприклад, повідомлення про те що заряд батареї малий або екран вимкнений. Додатки також можуть ініціювати такі оповіщення, наприклад, сигналізувати про те, що інформація завантажена на влаштування та доступна до використання. Як і сервіси, broadcast receiver не надає користувальницького інтерфейсу, однак, він здатний створювати повідомлення в рядку стану, щоб попереджати користувача про те, що сталося якусь подію. Проте частіше broadcast receiver взаємодіє з іншими компонентами для того, щоб самому виконувати мінімальний обсяг роботи. Так, він може ініціювати сервіси для виконання дій, прив'язаних до якоїсь події.
1.2 Архітектура операційної системи Android
Якщо уявити компонентну модель Android у вигляді деякої ієрархії, то в самому низу, як сама фундаментальна і базова складова, розташовуватиметься ядро ??операційної системи.
o Часто компонентну модель ще називають програмним стеком. Дійсно, це визначення тут доречно, тому що йдеться про набір програмних продуктів, які працюють разом для отримання підсумкового результату. Дії в цій моделі виконуються послідовно, і рівні ієрархії також послідовно взаємодіють між собою.
Як відомо, Андроїд заснований на кілька урізаному ядрі ОС Linux і тому на цьому рівні ми можемо бачити саме його (версії 2.6.x). Воно забезпечує функціонування системи та відповідає за безпеку, управління пам'яттю, енергосистемою і процесами, а також надає мережевий стек і модель драйверов.Ядро також діє як рівень абстракції між апаратним забезпеченням і програмним стеком.
«Вище» ядра, як програмне забезпечення проміжного шару, лежить набір бібліотек (Libraries), призначений для забезпечення найважливішого базового функціоналу для додатків. Тобто саме цей рівень відповідає за надання реалізованих алгоритмів для вищерозміщених рівнів, підтримку файлових форматів, здійснення кодування і декодування інформації (в приклад можна навести мультимедійні кодеки), отрисовку графіки та багато іншого. Бібліотеки реалізовані на C/C ++ і скомпільовані під конкретне апаратне забезпечення пристрою, разом з яким вони і поставляються виробником в передвстановленому вигляді.
Перелічимо деякі з них: Manager - в ОС Android використовується композитний менеджер вікон, на зразок Compiz (Linux), але більш спрощений. Замість того щоб виробляти отрисовку графіки безпосередньо в буфер дисплея, система посилає надходять команди отрисовки в закадровий буфер, де вони накопичуються разом з іншими, складаючи якусь композицію, а потім виводяться користувачеві на екран. Це дозволяє системі створювати цікаві безшовні ефекти, прозорість вікон і плавні переходи.Framework - бібліотеки, реалізовані на базі PacketVideo OpenCORE. З їх допомогою система може здійснювати запис і відтворення аудіо та відео контенту, а також висновок статичних зображень. Підтримуються багато популярних форматів, включаючи MPEG4, H.264, MP3, AAC, AMR, JPG і PNG.- легковага і продуктивна реляційна СУБД, використовувана в Android в якості основного движка для роботи з базами даних, використовуваними ...