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

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



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

Скачати 310.86 Kb.

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




Скачати 310.86 Kb.
Сторінка2/4
Дата конвертації10.03.2017
Розмір310.86 Kb.
1   2   3   4

7. Дата видачі завдання: “25” листопада 2014 р.

Алгори́тм (латинізов. Algorithmi за араб. ім'ям узб. математика аль-Хорезмі) - набір інструкцій, які описують порядок дій виконавця, щоб досягти результату розв'язання задачі за скінченну кількість дій; система правил виконання дискретного процесу, яка досягає поставленої мети за скінченний час.
Листопа́д (падоли́ст) - одинадцятий місяць року в григоріанському календарі, він має 30 днів.




КАЛЕНДАРНИЙ ПЛАН





з/п


Назва етапів виконання дипломного

проекту


Строк виконання етапів

Примітка


1.

Вивчення літератури за тематикою проекту

15.11.2014




2.

Розроблення та узгодження технічного завдання

30.11.2014




3.

Аналіз існуючих рішень

05.02.2015




4.

Підготовка матеріалів першого розділу дипломного проекту

10.03.2015




5.

Розроблення програмного забезпечення

10.04.2015




6.

Відлагодження програмного продукту

18.04.2015




7.

Підготовка матеріалів другого розділу дипломного проекту

28.04.2015




8.

Підготовка матеріалів третього розділу дипломного проекту

05.05.2015




9.

Підготовка матеріалів четвертого розділу дипломного проекту

10.05.2015




10.

Підготовка графічної частини дипломного проекту

15.05.2015




11.

Оформлення документації дипломного проекту

24.05.2015




12.

Попередній огляд матеріалів на кафедрі

25.06.2015






Студент _________ Погонченко Д. В.

Керівник проекту _____________ Дробязко І. П.

2. ТЕХНОЛОГІЧНІ ТА ПРОГРАМНІ ЗАСОБИ РОЗРОБКИ

2.1 Вибір мови програмування та середовища розробки

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

Техноло́гія (від грец. τεχνολογια, що походить від грец. τεχνολογος; грец. τεχνη - майстерність, техніка; грец. λογος - (тут) передавати) - наука («корпус знань») про способи (набір і послідовність операцій, їх режими) забезпечення потреб людства за допомогою (шляхом застосування) технічних засобів (знарядь праці).
Віртуальна машина - модель обчислювальної машини, створеної шляхом віртуалізації обчислювальних ресурсів: процесора, оперативної пам'яті, пристроїв зберігання та вводу і виводу інформації.
Мо́ва програмува́ння (англ. Programming language) - це штучна мова, створена для передачі команд машинам, зокрема комп'ютерам. Мови програмування використовуються для створення програм, котрі контролюють поведінку машин, та запису алгоритмів.
Багато елементів самої платформи Android написано мовою Java, Android API теж було створено здебільшого для Java.
Елеме́нт (лат. elementum - стихія, первинна речовина) - нерозкладний (у даній системі) компонент складних тіл, матеріальних систем, теоретичних побудов; будь-який об'єкт, пов'язаний певними відношеннями з іншими об'єктами в єдиний комплекс.

Окрім Java, можна використовувати мови що компілюються в байт-код Java, як наприклад Scala або Kotlin. Для цього знадобиться наявність відповідних компіляторів, які можна встановити як плагіни до популярних IDE.

Популярність (від лат. populares, від populus - народ) - висока ступінь популярності чогось або когось у певній галузі. На виникнення популярності в деяких випадках впливає мода, і навпаки. Так само, як і мода, популярність прив'язана до певного і, як правило, невеликого відрізку часу.
Байт-код або байтко́д (англ. byte-code), іноді також використовується термін псевдокод - машинно-незалежний код низького рівня, що генерується транслятором і виконуваний інтерпретатором. Більшість інструкцій байт-коду еквівалентні одній або кільком командам асемблера.
Компілятор (англ. Compiler від англ. to compile - збирати в ціле) - комп'ютерна програма (або набір к. програм), що перетворює (компілює) вихідний код, написаний певною мовою програмування (мова джерела, англ. source language)
Плагін (англ. plug-in - підключати) - додаток, незалежно скомпільований програмний модуль, що динамічно підключається до основної програми, призначений для розширення або використання її можливостей. Належить до загального програмного класу додатків.
Можливо здійснювати розробку Android-додатків мовою C/C , використовуючи Android Native Development Kit (NDK), але цей метод рекомендується тільки тоді коли швидкодія є критичною, в інших випадках використання рідного коду не має видимих переваг перед використанням Java, а лише призводить до підвищення складності коду. Здійснювати розробку для Android можливо і використовуючи веб-технології та мови HTML, CSS і JavaScript, для чого існує досить багато різноманітних фреймворків. Такі програми можуть працювати не тільки на Android, а й на інших платформах, але цей спосіб має менше спільного з класичною розробкою додатків для Android і далі розглядатися не буде. Існують також фреймворки, які використовують інші мови програмування, компілюючи їх в байт-код для Android, або інших платформ. Xamarin, наприклад, дозволяє писати додатки використовуючи мову C# та бібліотеки .NET, компілюючи код як для системи Android, так і для iOS. При цьому використовується або спеціальне середовище розробки Xamarin Studio, або Microsoft Visual Studio з відповідним плагіном. Є досить велика кількість подібних інструментів, що використовують різні мови програмування.
Кількість - в Арістотелівській логіці друга з 10 категорій (класів, розрядів, які спрощують процес розумового визначення будь-якої речі), побічна обставина матеріальних речей , за допомогою якої вони поширюються в просторі, вимірюються якоюсь математичною нормою і здатні бути поділеними на окремі частини.

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

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

Java - це об'єктно-орієнтована мова програмування, випущена компанією Sun Microsystems у 1995 році як основний компонент платформи Java.

Сайт або веб-сайт (від англ. website, місце, майданчик в інтернеті) - сукупність веб-сторінок, доступних у мережі Інтернет, які об'єднані як за змістом, так і за навігацією під єдиним доменним ім'ям. Фізично сайт може розміщуватися як на одному, так і на кількох серверах.
Матеріа́л - речовина, або суміш речовин, первинний предмет праці, який використовують для виготовлення виробу (основний матеріал), або які сприяють якимось діям. У останньому випадку уточнюють, що це допоміжний, чи витратний матеріал.
Комерційна організація, також Компанія (англ. Company) - юридична особа, що ставить собі за основну мету своєї діяльності одержання прибутку, на відміну від некомерційної організації, яка не має на меті отримання прибутку і не розподіляє отриманий прибуток між учасниками.
Документа́ція - сукупність офіційно визнаних, взаємопов'язаних та складених у визначеній формі документів, які містять передбачувану інформацію про виріб, процес або діяльність даного підприємства. Відповідно до області застосування Документа́цій поділяється на бухгалтерську, конструкторську, нормативну, технічну, товарну, тощо.
Компонент (англ. component, нім. Komponente f) - різновид, складова частина чогось.
Зараз мовою займається компанія Oracle, яка придбала Sun Microsystems у 2009 році. Програми на Java транслюються в байт-код, що виконується віртуальною машиною Java, яка обробляє байтовий код і передає інструкції обладнанню як інтерпретатор. Перевага подібного способу виконання програм полягає в повній незалежності байт-коду від операційної системи і устаткування, що дозволяє виконувати Java-додатки на будь-якому пристрої, для якого існує відповідна віртуальна машина.
Інтерпретатор мови програмування (interpreter) - програма чи технічні засоби, необхідні для виконання інших програм, вид транслятора, який здійснює пооператорну (покомандну, построкову) обробку, перетворення у машинні коди та виконання програми або запиту (на відміну від компілятора, який транслює у машинні коди всю програму без її виконання).
Інструкція - правовий акт, який створюється органами державного управління для встановлення правил, що регулюють організаційні, науково-технічні, технологічні, фінансові та інші спеціальні сторони діяльності та відносин установ, закладів, підприємств, службових осіб.
Обла́днання (устаткування) (англ. equipment, нім. ausrüstung) f) - сукупність пристроїв, механізмів, приладів, інструментів або конструкцій, що використовуються в певній сфері діяльності, або з певною метою.
Іншою важливою особливістю Java є гнучка система безпеки завдяки тому, що виконання програми повністю контролюється віртуальною машиною. Будь-які операції, які перевищують встановлені повноваження програми (наприклад, спроба несанкціонованого доступу до даних або з'єднання з іншим комп'ютером) викликають негайне переривання. Слід зауважити, що фактично, більшість архітектурних рішень, прийнятих при створенні Java, було продиктовано бажанням надати синтаксис, схожий з С/C .
Повнова́ження - офіційно надане кому-небудь право певної діяльності, ведення справ.
Си́нтаксис (дав.-гр. σύνταξις - "побудова, порядок, складання", від σύν - "з, разом" і ταξις - "впорядкування") - розділ граматики, що вивчає граматичну будову словосполучень та речень у мові.
Архітекту́ра (грец. αρχιτεκτονικη - будівництво) - це одночасно наука і мистецтво проектування будівель, а також власне система будівель та споруд, які формують просторове середовище для життя і діяльності людей відповідно до законів краси.
У Java використовуються практично ідентичні угоди для оголошення змінних, передачі параметрів і операторів.

В програмуванні Android-додатків Java використовується для всієї логіки програми, а для створення розмітки графічного інтерфейсу, текстових та інших ресурсів застосовується мова розмітки XML (Extensible Markup Language).

2.2 Вибір та середовища розробки

В якості інтегрованого середовища розробки в основному виступає Android Studio.

Оголошення - це короткі текстові повідомлення, котрі містять різну за призначенням інформацію. Переважно оголошення містять інформацію приватного рекламного характеру. Це пропозиція певних товарів чи послуг приватними особами, або малими приватними підприємствами.
Мо́ва розмі́тки - штучна мова, що використовує набір анотацій до тексту, що надає інструкції стосовно структури тексту чи його відображення.
Інтегроване середовище розробки (ІСР, англ. Integrated development environment або англ. IDE) - комплексне програмне рішення для розробки програмного забезпечення. Зазвичай, складається з редактора початкового коду, інструментів для автоматизації складання та відлагодження програм.
Воно було представлене 16 травня 2013 року на конференції Google I/O, довго перебувало на стадії бета-тесту, а перша стабільна версія вийшла 8 грудня 2014 року.
Конференція - заздалегідь заплановане, організоване зібрання людей для обговорення певної проблематики, яка визначена заздалегідь.
На цей час для завантаження доступні версії Android Studio 1.2 та Android Studio 1.3 Preview. Головне вікно Android Studio представлено на рис 2.1.

Рис. 2.1. Головне вікно Android Studio 1.3 Preview

Android Studio прийшов на зміну плаґіну ADT для платформи Eclipse. Середовище побудоване на базі продукту IntelliJ IDEA Community Edition, що розробляється компанією JetBrains. Android Studio розвивається в рамках відкритої моделі розробки та поширюється під ліцензією Apache 2.0.

Apache License (Apache Software License до версії 2.0) - ліцензія на вільне програмне забезпечення Apache Software Foundation.
Бінарні складання підготовлені для Linux (для тестування використаний Ubuntu), Mac OS X і Windows. Середовище надає засоби для розробки програм не тільки для смартфонів і планшетів, але і для носимих пристроїв на базі Android Wear, телевізорів (Android TV), окулярів Google Glass і автомобільних інформаційно-розважальних систем (Android Auto).
. Телеві́зор (ТВ) - пристрій, який призначено для демонстрації нерухомих і рухомих зображень із звуковим супроводом. Слово походить від грецького τῆλε (TELE, 'далеко') і латинське (videre VIEWER, 'бачити').
Автомобі́ль, авто́ (від грец. αὐτός - сам і лат. mobilis - той, що рухається) - самохідна колісна машина, яка приводиться в рух встановленим на ній двигуном і призначена для перевезення людей, вантажу, буксирування транспортних засобів, виконання спеціальних робіт та перевезення спеціального устаткування безрейковими дорогами.
Для додатків, спочатку розроблених з використанням Eclipse і ADT Plugin, підготовлений інструмент для автоматичного імпорту існуючого проекту в Android Studio.

Середовище розробки адаптоване для виконання типових завдань, що вирішуються в процесі розробки додатків для платформи Android. У тому числі у середовище включені засоби для спрощення тестування програм на сумісність з різними версіями платформи та інструменти для проектування додатків, що працюють на пристроях з екранами різної роздільності (планшети, смартфони, ноутбуки, годинники, окуляри тощо).

Годинник (арх.: дзиґа́р, дзиґарі́) - пристрій для вимірювання часу.
Крім можливостей, присутніх в IntelliJ IDEA, в Android Studio реалізовано кілька додаткових функцій, таких як нова уніфікована підсистема складання, тестування і розгортання додатків, заснована на складальному інструментарії Gradle і підтримуюча використання засобів безперервної інтеграції.

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

Редагува́ння - це приведення об'єкта редагування у відповідність із чинними у певний час у конкретному суспільстві нормами, а також його творча оптимізація, метою яких є отримання заданого соціального ефекту.
Для створення нестандартних інтерфейсів присутній майстер створення власних елементів оформлення, що підтримує використання шаблонів. У середовище вбудовані функції завантаження типових прикладів коду з GitHub. До складу також включені пристосовані під особливості платформи Android розширені інструменти рефакторингу, перевірки сумісності з минулими випусками, виявлення проблем з продуктивністю, моніторингу споживання пам'яті та оцінки зручності використання. У редактор доданий режим швидкого внесення правок. Система підсвічування, статичного аналізу та виявлення помилок розширена підтримкою Android API. Інтегрована підтримка оптимізатора коду ProGuard. Вбудовані засоби генерації цифрових підписів. Надано інтерфейс для управління перекладами на інші мови.
Ана́ліз (від грец. αναλυσις - «розклад») - розчленування предмету пізнання, абстрагування його окремих сторін чи аспектів. Метод дослідження, який вивчає предмет, уявно чи реально розчленовуючи його на складові елементи, як-от частини об'єкта, його ознаки, властивості, відношення, відтак розглядає кожен з виділених елементів окремо в межах єдиного цілого; протилежний метод - синтез.
Генерація - покоління, що представлене більш чи менш одноманітними особинами, які змінюються наступним поколінням, яке при диференціації життєвого циклу може істотно відрізнятися від попереднього. Наприклад: при чергуванні поколінь (гетерогонії, метагенезі) у тлі (Aphidoidea), галиць (Cecidomyiidae) та деяких інших комах.
Моніторинг (англ. monitoring, нім. Monitoring n) - комплекс наукових, технічних, технологічних, організаційних та інших засобів, які забезпечують систематичний контроль (стеження) за станом та тенденціями розвитку природних, техногенних та суспільних процесів.
Пере́клад - відтворення оригіналу засобами іншої мови із збереженням єдності змісту і форми. Ця єдність досягається цілісним відтворенням ідейного змісту оригіналу в характерній для нього стилістичній своєрідності на іншій мовній основі.

Також можна використовувати Eclipse, IntelliJ IDEA чи NetBeans з відповідними плагінами та за наявності встановленого Android SDK, наприклад для середовища Eclipse випускається плагін Android Development Tools (ADT), що дозволяє створювати додатки та тестувати їх у вбудованому емуляторі операційної системи.

На сьогодні найбільш зручним та логічним рішенням є використання саме Android Studio. Це єдине середовище, що розроблялось спеціально для створення додатків для платформи Android. Воно включає в себе весь необхідний інструментарій для розробки, включаючи емулятор Android Virtual Device та віртуалізатор Intel Hardware Accelerated Execution Manager (HAXM) для прискорення роботи емулятора не потребує жодних плагінів чи налаштувань для роботи та використовує Gradle. До того ж це повністю офіційне середовище, яке розробляється і підтримується компанією Google.

Google Inc. (вимовляється /ˈguːgl/, «ґу́ґл») - американська публічна транснаціональна корпорація, яку заснували 1998 року аспіранти Стенфордського університету Ларрі Пейдж і Сергій Брін. Найпопулярніший пошуковий сервіс станом на 2016 рік, має у власності, зокрема YouTube і Blogger.
Android Studio дозволяє імпорт проектів, які розроблялися за допомогою IDE Eclipse з плагіном ADT.
Проектува́ння - процес створення проекту, прототипу, прообразу майбутнього об'єкта, стану та способів його виготовлення. У проектуванні застосовують системний підхід, який полягає у встановлені структури системи, типу зв'язків, визначені атрибутів, аналізуванні впливів зовнішнього середовища.

2.3 Вибір засобів Android для розробки

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

Таблиця 2.1

Розподіл версій платформи Android



Версія

Назва

API

Розподіл

2.2

Froyo

8

0.3%

2.3.3 – 2.3.7

Gingerbread

10

5.6%

4.0.3 – 4.0.4

Ice Cream Sandwich

15

5.1%

4.1.x

Jelly Bean

16

14.7%

4.2.x

17

17.5%

4.3

18

5.2%

4.4

KitKat

19

39.2%

5.0

Lollipop

21

11.6%

5.1

22

0.8%

Ця таблиця побудована за даними Google за 1 червня 2015 року. До неї не увійшли вірсії Android старші за Android 2.1, а також версії, що займають менш ніж 0.1% активних пристроїв. Більш наглядно інформація про розподіл версій представлена на рис 2.2.



Рис. 2.2. Діаграма розподілу версій платформи Android

На сьогодні у світі використовуються смартфони і планшети з версіями системи починаючи від Android 2.2 (використовує версію API 8) і закінчуючи Android 5.1 (API 22). При цьому застарілі та дуже нові версії використовуються на досить невеликому відсотку пристроїв, на Android 5.1, наприклад, зараз працює всього 0.8% смартфонів. А найбільшу популярність досі має Android 4.4 Kit Kat, який було випущено ще у 2013 році. Ця версія займає наразі 39.2% пристроїв за даними Google. Android 5.0 Lollipop, який вийшов у листопаді 2014 року, зараз тільки почав набирати популярність.

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

1   2   3   4


Скачати 310.86 Kb.

  • КАЛЕНДАРНИЙ ПЛАН
  • Примітка