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

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



Програмні засоби для мобільних пристроїв

Скачати 310.86 Kb.

Програмні засоби для мобільних пристроїв




Скачати 310.86 Kb.
Сторінка3/4
Дата конвертації10.03.2017
Розмір310.86 Kb.
1   2   3   4
роздільна здатність, а отже щільність розміщення пікселів, а також продуктивність процесору та графічного прискорювача, об’єм встановленої оперативної пам’яті та наявність різноманітних сенсорів, як то дактилоскопічний датчик, пульсомір або гіроскоп.
Розді́льна зда́тність або роздільність (англ. Resolution) - спроможність розрізняти дрібні деталі.
І якщо на останні параметри слід звертати увагу лише при розробці ресурсомістких додатків, наприклад, ігор або програм з активним використанням сенсорів, то параметри екрану потрібно завжди враховувати для того, щоб забезпечити своїй програмі зручне використання на пристроях з різними розмірами екранів та щільністю пікселів. Одна і та ж сама програма повинна однаково добре працювати та виглядати як на мобільних телефонах, так і на планшетних комп’ютерах.
Стільниковий телефон - автономний мобільний телефон, призначений для роботи в мережах стільникового зв'язку; використовує приймач радіодіапазону і традиційну телефонну комутацію для здійснення телефонного зв'язку на території зони покриття мережі.
Дані щодо розподілу параметрів екрану серед активних пристроїв, які представлено на офіційному сайті Android розробки приведені в табл 2.2.

Таблиця 2.2

Розподіл параметрів екрану в існуючих Android пристроях






ldpi

mdpi

tvdpi

hdpi

xhdpi

xxhdpi

Всього

Маленький

4.1
















4.1

Середнїй




7.6

0.1

39.9

19.8

15.9

83.3

Великий

0.4

4.8

2.2

0.6

0.6




8.6

Більший




3.1




0.3

0.6




4.0

Всього

4.5

15.5

2.3

40.8

21.0

15.9



Отже, при створенні додатку для платформи Google треба багато уваги приділяти питанню сумісності з різними версіями та моделями пристроїв. Важливу роль у цьому відіграє вибір мінімальної версії Android, а отже – рівня Android API, з яким додаток буде повністю сумісний. Середовище розробки Android Studio пропонує налаштувати цей параметр ще на етапі створення проекту (рис 2.3).



Рис. 2.3. Вікно створення проекту в середовищі Android Studio

Оскільки у світі ще більше 5% Android смартфонів працюють на версії Android 2.3, є сенс вибирати у якості мінімального рівня API версію 10, щоб забезпечити стабільну роботу додатку на більш як 99% активних пристроїв. Використання новіших версій може погіршити або зробити неможливою роботу на старих платформах, а отже звузити цільову аудиторію користувачів додатку до власників пристроїв з новими версіями системи, проте дозволяє застосувати нові технології та у повній мірі використовувати функціонал нових пристроїв.

Функціонал - відображення векторного простору на базову множину для цього простору, здебільшого на множину дійсних чисел. Прикладом функціоналу є норма.
Оскільки більш старі версії системи поступово виходять з обігу, поступаючись місцем новішим, орієнтуватися для забезпечення найбільш повного функціоналу все ж таки має сенс на останню версію платформи. На сьогодні останньою стабільною версією API є версія 22 та Android 5.1 і хоча вона працює менше ніж на 1% смартфонів та планшетів, в майбутньому буде набирати популярність. Також компанія Google випустила тестову версію нового API для тестування програм на майбутній версії платформи, але ця версія ще дуже незавершена і в подальшому при розробці і тестуванні даного проекту буде використовуватися саме Android API 22.

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

Майбутнє - суб'єктивна з людського погляду й об'єктивна з погляду стороннього спостерігача часова категорія сприйняття реальності, яка характеризується комплексом явищ і подій, що не здійснились і не відбулися відносно об'єкта, який перебуває в більш ранньому часі.
Бібліоте́ка або книгозбі́рня (грец. βιβλιον - книжка і θηκη - сховище, скриня) - культурно-освітній заклад, що здійснює збирання друкованих і рукописних матеріалів, проводить їх опрацювання і відображення у каталогах, організовує відповідне їх зберігання, збереження і обслуговування ними читачів.
В назві таких бібліотек звичайно вказано з якими рівнями Android API їх можна використовувати, наприклад елементи бібліотеки support-v13 можна застосовувати у проектах з мінімальним рівнем Android API версії 13. Докладніше бібліотеки, використані у даному проекті, описано в наступному розділі.


3. ПРОЕКТУВАННЯ МОБІЛЬНОГО ДОДАТКУ ДЛЯ ANDROID

3.1 Особливості функціонування Android-додатків

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

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

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

Організа́ція (від грец. ὄργανον - інструмент) - цільове об'єднання ресурсів для досягнення певної мети.
Розробка програмного забезпечення (англ. software engineering, software development) - це рід діяльності (професія) та процес, спрямований на створення та підтримку працездатності, якості та надійності програмного забезпечення, використовуючи технології, методологію та практики з інформатики, керування проектами, математики, інженерії та інших областей знання.
Дуже важливо постійно приділяти увагу оптимізації програмного забезпечення на всіх етапах його розробки. Для цього потрібно вимірювати час виконання елементів програмного коду, аналізувати хід роботи програмного забезпечення, виділяти обмежені ділянки програмного коду, слідкувати за виділенням пам’яті та часом життя об’єктів.
Оптиміза́ція (англ. optimization, optimisation) - процес надання будь-чому найвигідніших характеристик, співвідношень (наприклад, оптимізація виробничих процесів і виробництва). Задача оптимізації сформульована, якщо задані: критерій оптимальності (економічний - тощо; технологічні вимоги - вихід продукту, вміст домішок в ньому та ін.)
Вимі́рювання - пізнавальний процес визначення числового значення вимірюваної величини, а також дія, спрямована на знаходження значення фізичної величини дослідним шляхом, порівнюючи її з одиницею вимірювання за допомогою засобів вимірювальної техніки.
Середній час життя або просто час життя - чисельна характеристика тривалості спонтанного розпаду нестабільних систем, час, протягом якого кількість таких систем зменшується в e разів (e - основа натуральних логарифмів).
Початковий код (англ. source code; також перекладається українською як вихідний код, програмний код, джерельний код, первинний код, текст програми, у професійному середовищі також сирцевий код, у контексті код або сирці) - будь-який набір інструкцій або оголошень, написаних комп'ютерною мовою програмування у формі, що її може прочитати і модифікувати людина.

Приступаючи до розробки мобільних додатків, необхідно мати уявлення про те, які види додатків існують. Справа в тому, що якщо вдасться визначити до якого типу належить додаток, то стане зрозуміло на які моменти в процесі його розробки необхідно звертати основну увагу. Можна виділити наступні види додатків:

1) Додатки переднього плану виконують свої функції тільки, коли видимі на екрані, в іншому ж випадку їх виконання призупиняється. Такими додатками є, наприклад, ігри, текстові редактори, відеопрогравачі. При розробці таких програм необхідно дуже уважно вивчити життєвий цикл активності, щоб переключення в фоновий режим і назад проходили гладко (безшовно), тому що повернення додатку на передній план повинно бути непомітним. Для досягнення цієї непомітності необхідно стежити за тим, щоб при вході в фоновий режим додаток зберігав свій стан, а при виході на передній план відновлювало його. Ще один важливий момент, на який обов'язково треба звернути увагу при розробці додатків переднього плану – зручний і інтуїтивно зрозумілий інтерфейс.

2) Фонові програми після настройки не припускають взаємодії з користувачем, більшу частину часу перебувають і працюють в прихованому стані. Прикладами таких додатків можуть служити, служби екранування дзвінків, SMS-автовідповідачі. У більшості своїй фонові програми націлені на відстеження подій, породжуваних апаратним забезпеченням, системою або іншими додатками, працюють непомітно.

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

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

Абсолют (від лат. absolutus - безумовний, необмежений) - в ідеалістичній філософії і релігійних тлумаченнях - вічна, незмінна нескінченна першооснова Всесвіту (бог, абсолютна ідея тощо). Те, що нічим не зумовлене, ні від чого не залежне.
Поштовий клієнт, клієнт електронної пошти, емейл-клієнт - комп'ютерна програма, яка встановлюється на комп'ютері користувача і призначена для одержання, написання, відправлення та зберігання повідомлень електронної пошти одного або декількох користувачів (у випадку, наприклад, кількох облікових записів на одному комп'ютері) або декількох облікових записів одного користувача.
Можливість реагувати на користувача введення і при цьому не втрачати працездатності у фоновому режимі є характерною особливістю змішаних додатків. Такі програми зазвичай містять як видимі активності, так і приховані (фонові) сервіси, і при взаємодії з користувачем повинні враховувати свій поточний стан. Можливо буде потрібно оновлювати графічний інтерфейс, якщо додаток знаходиться на передньому плані, або ж посилати користувачеві повідомлення з фонового режиму, щоб тримати його в курсі, що відбувається. І ці особливості необхідно враховувати при розробці подібних додатків.

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

Організація виконання додатків в ОС Android також має свої особливості. Як вже було зазначено програми під Android розробляються мовою програмування Java, компілюється у файл з розширенням .apk, після чого цей файл використовується для установки програми на пристрої. Після установки кожен Android додаток існує у своєму власному безпечному середовищі. Це виглядає наступним чином:



  • за замовчуванням, система призначає кожній програмі унікальний користувальницький ID, який використовується тільки системою і невідомий іншим програмам;

  • система встановлює права доступу до всіх файлів програми наступним чином: доступ до елементів програми має тільки користувач з відповідним ID;

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

  • кожному процесу відповідає окремий екземпляр віртуальної машини, у зв'язку з цим код програми виконується ізольовано від інших програм.
    В 1895 році відбулися автомобільні перегони за маршрутом Париж-Бордо-Париж на відстань 1150 кілометрів. З-поміж учасників першим прибув на фініш через 48 годин і 47 хвилин двомісний «Папар-Лавассор» (3,5 к.с.). За кермом сидів його конструктор Еміль Лавассор. Коли він виліз із машини, то вигукнув: «Яке то було божевілля! Я летів із швидкістю 30 кілометрів за годину!».


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

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

Bluetooth (англ. Bluetooth) - технологія бездротового зв'язку, створена у 1998 році групою компаній: Ericsson, IBM, Intel, Nokia, Toshiba.
Поведі́нка - родовий термін, який охоплює різні реакції живого організму чи групи організмів.

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

Світло́пис або Фотогра́фія (від грецького φώς (φωτός) - світло та γράφω - пишу) - сукупність різноманітних науково-технічних засобів і технологій, які мають на меті реєстрацію одиничних довготривалих зображень об'єктів за допомогою світла.
Напевно на пристрої вже є програма для отримання фотографій з камери і досить запустити відповідну активність, зробити фотографію і повернути її в додаток, так що користувач буде вважати, що камера є частиною додатку, з яким він працює.

Коли система запускає компонент, вона запускає процес програми, якому належить компонент, якщо він ще не запущений, і створює екземпляри класів, необхідних компоненту. Тому на відміну від більшості інших систем, в системі Android програми не мають єдиної точки входу (немає методу main(), наприклад). В силу запуску кожної програми в окремому процесі і обмежень на доступ до файлів, додаток не може безпосередньо активувати компонент іншої програми. Таким чином, для активації компонента іншої програми необхідно надіслати системі повідомлення про намір запустити певний компонент і система активує його.

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



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

  • Активності (Activities). Активність - це видима частина додатку (екран, вікно, форма), відповідає за відображення графічного інтерфейсу користувача.
    Руйнува́ння - процес, а також і наслідок процесу порушення цілісності матеріалу конструкції або її елементу.
    Інтерфе́йс користувача́ (англ. user interface, UI, дружній інтерфейс) - засіб зручної взаємодії користувача з інформаційною системою. Сукупність засобів для обробки та відображення інформації, максимально пристосованих для зручності користувача; у графічних системах інтерфейс користувача реалізовується багатовіконним режимом, змінами кольору, розміру, видимості (прозорість, напівпрозорість, невидимість) вікон, їхнім розташуванням, сортуванням елементів вікон, гнучкими налаштовуваннями як самих вікон, так і окремих їхніх елементів (файли, папки, ярлики, шрифти тощо), доступністю багатокористувацьких налаштувань.
    При цьому додаток може мати кілька активностей, наприклад, у програмі, призначеній для роботи з електронною поштою, одна активність може використовуватися для відображення списку нових листів, інша активність - для написання, і ще одна - для читання листів.
    Електро́нна по́шта (англ. e-mail, або email, скорочення від electronic mail) - популярний сервіс в інтернеті, що робить можливим обмін даними будь-якого змісту (текстові документи, аудіо-, відеофайли, архіви, програми).
    Незважаючи на те, що для користувача додаток представляється єдиним цілим, все активності додатку не залежать одина від одної. У зв'язку з цим будь-яка з цих активностей може бути запущена з іншої програми, що має доступ до активностей цього додатку. Наприклад, додаток камери може запустити активність створення нових листів, щоб відправити щойно зроблену фотографію адресату, зазначеному користувачем.

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

  • Контент-провайдери (Content providers). Контент-провайдер управляє розподіленням даних програми. Дані можуть зберігатися в файловій системі, в базі даних SQLite, в мережі, в будь-якому іншому доступному для програми місці.
    Фа́йлова систе́ма - спосіб організації даних, який використовується операційною системою для збереження інформації у вигляді файлів на носіях інформації. Також цим поняттям позначають сукупність файлів та директорій, які розміщуються на логічному або фізичному пристрої.
    Контент-провайдер дозволяє іншим програмам за наявності у них відповідних прав робити запити або навіть міняти дані. Наприклад, у системі Android є контент-провайдер, який управляє інформацією про контакти користувача. У зв'язку з цим, будь-який додаток з відповідними правами може зробити запит на читання і запис інформації будь-якого контакту. Контент-провайдер може бути також корисний для читання і запису приватних даних програми, не призначених для доступу ззовні.

  • Приймачі широкомовних повідомлень (Broadcast Receivers). Приймач – компонент, який реагує на широкомовні повідомлення. Більшість таких оповіщень породжуються системою, наприклад, повідомлення про те, що екран відключився або про низький заряд акумулятора. Додатки також можуть ініціювати широкомовлення, наприклад, розіслати іншим додаткам повідомлення про те, що деякі дані завантажені і доступні для використання. Хоча приймачі не відображають користувацького інтерфейсу, вони можуть створювати повідомлення на панелі станів, щоб попередити користувача про появу повідомлення. Такий приймач служить
1   2   3   4


Скачати 310.86 Kb.