Первая страница
Наша команда
Контакты
О нас

    Головна сторінка



1Аналіз існуючих реалізацій та вибір алгоритму роботи системи 8

1Аналіз існуючих реалізацій та вибір алгоритму роботи системи 8




Сторінка10/16
Дата конвертації10.03.2017
Розмір0.85 Mb.
1   ...   6   7   8   9   10   11   12   13   ...   16

2.10 Основні принципи розробки додатків для ОС Android.

У силу розвитку мобільних пристроїв частину навантаження з персональних комп'ютерів перекладається на смартфони. Відповідно удосконалюються спеціалізовані ОС і засоби розробки додатків для них.

На сьогоднішній день можна виділити три операційні системи для мобільних пристроїв, що стрімко розвиваються.

Перша - Windows Phone – ОС корпорації Microsoft, яка поки що не отримала широкого розповсюдження. Друга - iOS, створена корпорацією Apple тільки для своїх пристроїв. Третя - Android, розроблена корпорацією Google. Вона охоплює всі цінові категорії мобільних пристроїв, починаючи від бюджетних телефонів і закінчуючи дорогими планшетами.

Android – портативна ОС, платформа для комунікаторів, планшетних комп'ютерів, цифрових програвачів, наручних годинників, нетбуків і смартбуків, заснована на ядрі Linux. Спочатку вона розроблялася компанією Android Inc., Яку потім купила Google. Згодом Google ініціювала створення альянсу Open Handset Alliance (OHA), до якого входять такі компанії як Intel, Texas Instruments, Qualcomm, MIPS, Acer, Asus, Samsung, HTC, який зараз і займається підтримкою і подальшим розвитком платформи.

Texas Instruments Incorporated - американська високотехнологічна компанія, виробляє між іншим напівпровідникові елементи, мікросхеми, електроніку та вироби на їх основі. Розташована у Далласі (штат Техас, США).

Годинник (арх.: дзиґа́р, дзиґарі́) - пристрій для вимірювання часу.

Open Handset Alliance - альянс 84 компаній по розробці відкритих стандартів для мобільних пристроїв, що включає в себе такі фірми, як Google, HTC, Sony, Dell, Intel, Motorola, Qualcomm, Texas Instruments, Samsung Electronics, LG Electronics, T-Mobile, Sprint Nextel, Nvidia і Wind River Systems.

Android дозволяє створювати Java-додатки, що керують пристроєм через розроблені Google бібліотеки [Android].

Програми для Android являють собою програми для віртуальної машини Dalvik. На відміну від більшості віртуальних машин (наприклад, Java Virtual Machine), які є стек-орієнтованими, Dalvik є регістр-орієнтованої, що не можна назвати стандартним рішенням.

Перше в історії ДТП, зареєстроване за участю автомобіля (причому це був електромобіль) відбулося 30 травня 1896 року в Нью-Йорку: Генрі Уелс на своєму транспортному засобі зіткнувся з велосипедом Евеліна Томаса, який відбувся переломом ноги.

Dalvik проектувалася спеціально під платформу Android. Віртуальна машина оптимізована для економного споживання пам'яті і роботи на мобільному апаратному забезпеченні.

Апара́тне забезпе́чення (англ. hardware; сленг. залі́зо) - комплекс технічних засобів, який включає електронний пристрій і, зокрема, ЕОМ: зовнішні пристрої, термінали, абонентські пункти тощо, які необхідні для функціонування тієї чи іншої системи; фізична частина ЕОМ.

Починаючи з версії Android 2.2., Dalvik використовує JIT (just-in-time) компіляцію.

Компіляція (лат. compilatio - буквально: крадіжка, грабіж, від лат. compilo - грабую) - неоригінальний, несамостійний твір; праця, побудована на використанні інших творів; поєднання інших творів.

У силу цих особливостей, вийшла продуктивна віртуальна машина, що не може не позначатися на роботі додатків в цілому. Dalvik використовує власний байт-код. При розробці програм під Android вихідний код програми перекладається компілятором в спеціальний машинно-незалежний низькорівневий код. На виході виходить виконуваний файл Android Package (APK).

Абстракції Android набагато більш ускладнені. Слід врахувати обмеження, що вносяться самим принципом роботи і обчислювальними ресурсами мобільних пристроїв: обмежена продуктивність процесора, обсяг оперативної пам'яті, немає файлу підкачки, пристрої працюють від акумулятора, що має обмежений заряд [27].

Одним з найважливіших понять в Android є те, що додатки можуть викликати частини інших додатків, якщо мають на це право. Для реалізації такого підходу довелося відмовитися від класичної схеми додатки з однією точкою входу. Android додаток будується таким чином, щоб кожен окремий його компонент міг викликатися при необхідності окремо.

Додатки в Android використовують чотири основні типи компонентів:

а) діяльність – це візуальний компонент додатку, який відповідає за інтерфейс.

Поня́ття - форма мислення, яка відображає істотні властивості, зв'язки і відношення предметів і явищ в їхній суперечності і розвитку; думка або система думок, що узагальнює, виділяє предмети деякого класу за визначеними загальними і в сукупності специфічними для них ознаками.

Людська діяльність - процес (процеси) активної взаємодії суб'єкта з об'єктом, під час якого суб'єкт задовольняє будь-які свої потреби, досягає мети. Діяльністю можна назвати будь-яку активність людини, якій вона сама надає деякий сенс.

Наприклад, список контактів на смартфоні є діяльністю, а якщо вибрати контакт і вивести додаткову інформацію про нього, відкриється інша діяльність. Тобто діяльність - це те, з чим можна взаємодіяти. Додаток може містити як кілька діяльностей, так і зовсім не містити їх;

б) сервіси – це те що виконується, поки програма не знаходиться у фокусі. Найпростіший приклад – програвач музики. Сервіс може запускатися разом з системою і "висіти" в фоні, виконуючи деякі дії. Взаємодіяти з сервісом можна за допомогою інтерфейсів;

в) слухач повідомлень – один з найважливіших компонентів програми. Слухач повідомлень, також як і сервіс, не має видимого інтерфейсу. Його завдання відстежувати певні дії або системні повідомлення і реагувати на це. Але так як сам по собі слухач повідомлень зробити нічого не може – він передає сигнал далі, чи то це буде діяльність, викликана по події, чи то сповіщення користувачу, тощо;

г) постачальник вмісту надає певні дані іншим додатком. Ці дані можуть зберігатися в файловій системі, SQLite базі даних, тощо.

Фа́йлова систе́ма - спосіб організації даних, який використовується операційною системою для збереження інформації у вигляді файлів на носіях інформації. Також цим поняттям позначають сукупність файлів та директорій, які розміщуються на логічному або фізичному пристрої.

Кожен екран користувача інтерфейсу являє собою діяльність. Кожна діяльність має свій власний життєвий цикл. Додаток має одну або більше діяльностей, плюс процес Linux, прив'язаний до нього. Тут криється одна з особливостей Android. У цій ОС додаток може бути «живим», навіть якщо його процес був завершений, тобто, життєвий цикл діяльності не прив'язаний до життєвого циклу процесу. У цьому одна з відмінностей Android від інших ОС.

У відмінності від домашніх комп'ютерів в Android немає поняття "завершити роботу програми". Система тримає програму в пам'яті, поки ця пам'ять їй не буде потрібно для інших цілей. Метод finish() класу діяльності або stopService() класу сервісу завершує роботу компонента (діяльності або сервісу), але не завершує програму. Так, наприклад, якщо в цих компонентах були запущені фонові нитки, то вони продовжують роботу [Android].

Для взаємодії компоненти обмінюються намірами, і кожна компонента має процедуру обробки таких намірів. Обробка всіх намірів відбувається в одному потоці. Для виконання довгих завдань компонента повинна запустити спеціальний потік, щоб не блокувати користувача інтерфейс. Ця або інша компонента повинна подбати про коректної зупинки цього потоку при вивантаженні компоненти або додатки.

Кожен компонент має свій життєвий цикл. Найбільш складний цикл є у діяльності. Потрібно коректно обробляти всі зміни статусу компонента і звільняти або запитувати знову потрібні ресурси, а також керувати запущеними нитками.

Компонент, який одержує управління при запуску Android - програми, визначається у файлі конфігурації завданням спеціального фільтру для події запуску. Запуск програми розглядається, як звичайна обробка події, згенерованого системою.

Одне з унікально і потужних якостей Android (чого немає в інших ОС) те, що всі програми мають загальний рівень. Android не проводить відмінності між основними системними програмами та програмами сторонніх розробників. Всі вони користуються рівними правами доступу до можливостей мобільного пристрою, надаючи користувачам широкий спектр додатків і послуг. З пристроями, побудованими на платформі Android, користувачі будуть мати можливість повною мірою адаптувати наприклад телефон під свої інтереси. Вони можуть поміняти домашній екран телефону, стиль дзвінка, будь-яку з програм, тощо [30].


1   ...   6   7   8   9   10   11   12   13   ...   16



  • Open Handset Alliance