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

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



Мобільний додаток для інформаційної підтримки студентів

Скачати 228.87 Kb.

Мобільний додаток для інформаційної підтримки студентів




Скачати 228.87 Kb.
Дата конвертації10.03.2017
Розмір228.87 Kb.

НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ УКРАЇНИ

«КИЇВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ»


Факультет прикладної математики
Кафедра системного програмування і спеціалізованих комп’ютерних систем
«До захисту допущено»

Завідувач кафедри

__________ В.П. Тарасенко

(підпис)


“___”_____________2015р.

Дипломний проект


освітньо-кваліфікаційного рівня “Бакалавр”

з напряму підготовки 6.050102 “Комп’ютерна інженерія”




на тему: Мобільний додаток для інформаційної підтримки студентів



Виконав: студент 4 курсу, групи КВ-12

Міліч Катерина Олександрівна



__________

(підпис)


Керівник ст. викл. Дробязко І.П.

__________

(підпис)


Консультант з нормоконтролю доц., доц., к.т.н. Плахотний М.В.

__________

(підпис)


Рецензент cт., вик. кафедри ОТ ФІОТ Виноградов Ю.М.

__________

(підпис)














Засвідчую, що у цьому дипломному проекті немає запозичень з праць інших авторів без відповідних посилань.

Мобільний додаток (англ. «Mobile app») - програмне забезпечення, призначене для роботи на смартфонах, планшетах та інших мобільних пристроях. Багато мобільних додатків встановлені на самому пристрої або можуть бути завантажені на нього з онлайнових магазинів додатків, таких як App Store, Google Play, Windows Phone Store та інших, безкоштовно або за плату.

Студент _____________

(підпис)

Київ – 2015



Національний технічний університет України

Київський політехнічний інститут”


Факультет прикладної математики
Кафедра системного програмування і спеціалізованих комп’ютерних систем

Освітньо-кваліфікаційний рівень “Бакалавр”



Напрям підготовки 6.050102 “Комп’ютерна інженерія”

ЗАТВЕРДЖУЮ

Завідувач кафедри

__________ В.П. Тарасенко



“___” ___________ 2015 р.

З А В Д А Н Н Я

НА ДИПЛОМНИЙ ПРОЕКТ СТУДЕНТУ

Міліч Катерині Олександрівні


1. Тема проекту Мобільний додаток для інформаційної підтримки студентів,

керівник проекту Дробязко Ірина Павлівна, старший викладач,

затверджені наказом по університету від “19” травня 201_5 р. №1039-С.

Старший викладач - в СРСР та деяких пострадянських країнах - викладацька посада у вищих навчальних закладах.


2. Строк подання студентом проекту: “17” червня 2015 р.
3. Вихідні дані для дипломного проектування: див. Технічне завдання.
4. Перелік задач, які потрібно вирішити:

    • проаналізувати літературні джерела по створенню Android-додатків;

    • обґрунтувати вибір дипломної роботи;

    • розробити програмне забезпечення Android-додатку для мобільних пристроїв;
      Програ́мне забезпе́чення (програ́мні за́соби) (ПЗ; англ. software) - сукупність програм системи обробки інформації і програмних документів, необхідних для експлуатації цих програм.


    • перевірити працездатність розробленої системи.

5. Перелік обов’язкового ілюстративного матеріалу:



    • Модуль отримання новин. Схема алгоритму.

    • Взаємодія з користувачем. Схема алгоритму.

    • Мобільний додаток для інформаційної підтримки студентів. Схема структурна.

    • Діаграма класів. Схема структурна.

6. Консультанти:

Питання

Прізвище, ініціали та посада

консультанта



Підпис, дата

завдання видав

завдання

прийняв


Нормоконтроль

Плахотний М.В., доцент






7. Дата видачі завдання: “31” жовтня 2014 р.




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





з/п


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

проекту


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

Примітка


1.

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

15.11.2014




2.

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

30.11.2014




3.

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

05.02.2015




4.

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

25.03.2015




5.

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

08.04.2015




6.

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

18.04.2015




7.

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

28.04.2015




8.

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

05.05.2015




9.

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

10.05.2015




10.

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

15.05.2015




11.

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

20.05.2015




12.

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

25.05.2015






Студент _________ Міліч К.О.

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

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

2.1. Вибір мови програмування

Одним з важливих факторів при створенні мобільних додатків є

вибір інструментів розробки, сюди відноситься і вибір мови програмування.
Мо́ва програмува́ння (англ. Programming language) - це штучна мова, створена для передачі команд машинам, зокрема комп'ютерам. Мови програмування використовуються для створення програм, котрі контролюють поведінку машин, та запису алгоритмів.
При огляді важливо врахувати актуальність, продуктивність та зручність засобів.


Сьогодні найпопулярнішими мовами програмування є Java, С#, PHP, C#, JavaScript та Python. Так як комп’ютерні та мобільні технології постійно розвиваються, деякі мови програмування стають більш затребувані, інші займають нижчі позиції. Для програмування під операційну систему Android існує не багато мов, основні з них це Java та С .
Операці́йна систе́ма, скорочено ОС (англ. operating system, OS) - це базовий комплекс програм, що виконує управління апаратною складовою комп'ютера або віртуальної машини; забезпечує керування обчислювальним процесом і організовує взаємодію з користувачем.

Мова програмування Java широко застосовується при розробці додатків для ОС Android. Усі офіційні бібліотеки та вказівки по розробці написані для використання Java як основної мови програмування.

Java - об’єктно-орієнтована мова програмування, що розроблена компанією Sun Microsystems і офіційно випущена 23 травня 1995 року, зараз мовою займається компанія  Oracle, яка придбала Sun Microsystems у 2009 році. Програми на Java транслюються в байт-код, що виконується віртуальною java-машиною (JVM), яка оброблює байтовий код і інструкції, що передаються. Іншою важливою особливістю технології Java є гнучка система безпеки завдяки тому, що виконання програми повністю контролюється віртуальною машиною.

Віртуальна машина - модель обчислювальної машини, створеної шляхом віртуалізації обчислювальних ресурсів: процесора, оперативної пам'яті, пристроїв зберігання та вводу і виводу інформації.

Мова програмування Java запозичила синтаксис та об’єктну модель з С та С , проте з певними модифікаціями. У порівняні з С , у Java усунуто можливість появи деяких конфліктних ситуацій, що могли виникнути через помилки програміста, та полегшено сам процес розробки об’єктно-орієнтованих програм. Деякі з дій, які необхідно було виконувати програмісту на С , перенесені у обов’язки віртуальної машини (наприклад, так званий «збирач сміття», який вивільняє пам’ять, що не використовується, при відсутності необхідності у ній). Java розроблялась як платформо-незалежна мова, тому вона має менше низькорівневих можливостей для роботи з апаратним забезпеченням. За необхідності таких дій Java дозволяє викликати підпрограми, написані іншими мовами програмування.

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

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

Основна перевага використання байт-коду — це портативність. Тим не менш, додаткові витрати на інтерпретацію означають, що інтерпретовані програми будуть майже завжди працювати повільніше, ніж скомпільовані у машинний код, і саме тому Java одержала репутацію «повільної» мови. Проте, цей розрив суттєво скоротився після введення декількох методів оптимізації у сучасних реалізаціях JVM.

С - мова програмування високого рівня, що, в свою чергу, підтримує декілька парадигм програмування: об’єктно-орієнтовану, узагальнену та процедурну.

Оптиміза́ція (англ. optimization, optimisation) - процес надання будь-чому найвигідніших характеристик, співвідношень (наприклад, оптимізація виробничих процесів і виробництва). Задача оптимізації сформульована, якщо задані: критерій оптимальності (економічний - тощо; технологічні вимоги - вихід продукту, вміст домішок в ньому та ін.)
Паради́гма програмува́ння - це система ідей і понять, які визначають стиль написання комп'ютерних програм, а також спосіб мислення програміста.
Високорівнева мова програмування - мова програмування, розроблена для швидкого і зручного використання програмістом. Основна риса високорівневих мов - це абстракція, тобто введення смислових конструкцій, які коротко описують такі структури даних і операції над ними, опис яких на машинному коді або низькорівневій мові програмування був би дуже великим, складним для розуміння програмістів і зайняв би багато часу при написанні. Написані програми на мові високого рівня згодом перетворюються в машинний код для виконання безпосередньо операційною системою. В результаті безпосередній код, що виконується на комп'ютері і створений в процесі трансляції переважно містить певні зайві інструкції, тому виконання таких програм дещо повільніше. Швидкість також залежить від способу трансляції. Проте для сучасної обчислювальної техніки цей час не критичний. В разі якщо швидкість все ж критична, або ж потрібно напряму працювати з апаратним забезпеченням, то використовують мови низького рівня (асемблер).
Це пов’язано з походженням мови – при створенні її було названо «мова С з класами». З 1990 року мова стала однією з найуживаніших мов загального призначення. Мову використовують для системного програмування, розробки програмного забезпечення, написання драйверів, потужних серверних та клієнтських програм, а також для розробки розважальних програм, таких як відеоігри.
Розробка програмного забезпечення (англ. software engineering, software development) - це рід діяльності (професія) та процес, спрямований на створення та підтримку працездатності, якості та надійності програмного забезпечення, використовуючи технології, методологію та практики з інформатики, керування проектами, математики, інженерії та інших областей знання.

Переваги мови С :



  • швидкодія;

  • масштабованість;

  • можливість роботи на низькому рівні з пам'яттю, адресами, портами.

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


  • можливість використання різних стилів та технологій програмування.

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

Мова Java володіє такими особливостями, яких немає в мові C  :

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

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

  • у мові Java є чіткі певні стандарти на введення-виведення, графіку, геометрію, діалог, доступ до баз даних і інших типових застосувань. Завдяки цим особливостям, застосунки на Java мають значно кращу кросплатформенність, ніж С ;

  • у мові Java реалізована повноцінна збірка сміття, якої немає в C .

Для розробки мобільного Android-додатку було обрано мову

програмування Java.


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

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

Тому програмісту необхідно вибрати підходящий інструментарій розробки, сумісний з пакетом SDK. Подібних середовищ розробки існує декілька, але найбільш популярними сьогодні вважаються:


  • ігровий редактор Unity3D;

  • плагін для IDE Eclipse « Android Development Tools » (ADT);

  • плагін для IntelliJ IDEA;

  • плагін для середовища розробки NetBeans IDE;

  • Android Studio, основану на IntelliJ IDEA від JetBrains.

Unity3D являє собою професійний мультиплатформений ігровий редактор для створення ігор і графічних додатків. Він включає конструктор ігор - середу редагування за зручним для користувача інтерфейсом, що дозволяє створювати гру візуально. Редактор ігор простий і інтуїтивно зрозумілий: властивості об'єктів налаштовуються декількома кліками миші, включаючи призначення текстури, звуку, поведінки, прив'язку скриптів і тощо. ігрові об'єкти повністю керовані, інтерактивні і настроюються: можливо, візуальне перетягування і маніпуляції з об'єктами, їх клонування та інші складні операції. При використанні редактора розробникам не доводиться думати про апаратні та програмні конфігурації пристрою, дозволі екрану і версії операційної системи. Для створення сценаріїв можна використовувати мови програмування C # і JavaScript.

Eclipse являє собою вільне інтегроване середовище розробки модульних кросплатформерних додатків.

Інтегроване середовище розробки (ІСР, англ. Integrated development environment або англ. IDE) - комплексне програмне рішення для розробки програмного забезпечення. Зазвичай, складається з редактора початкового коду, інструментів для автоматизації складання та відлагодження програм.
Для Eclipse існує цілий ряд вільних і комерційних модулів. Спочатку середовище було розроблено для мови Java, але сьогодні існує безліч розширень для підтримки також інших мов: C/С , Fortran, JavaScript і т.д. Плагін ADT, розроблений компанією Google, розширює можливості середовища.
Google Inc. (вимовляється /ˈguːgl/, «ґу́ґл») - американська публічна транснаціональна корпорація, яку заснували 1998 року аспіранти Стенфордського університету Ларрі Пейдж і Сергій Брін. Найпопулярніший пошуковий сервіс станом на 2016 рік, має у власності, зокрема YouTube і Blogger.
Він дозволяє швидко створити нові проекти Android, включаючи інтерфейс програми, додавати пакети на основі Android Framework API і виконувати налагодження додатків з використанням інструментів Android SDK. Eclipse за допомогою зручного графічного інтерфейсу дозволяє розробнику бачити, що він робить і автоматично прив'язує події до об'єктів. У свою чергу, Unity відображає кінцевий результат, тобто як виглядає весь додаток в цілому, але об'єкти доводитися створювати самостійно і налаштовувати прив'язку сценаріїв до них.

IntelliJ IDEA — комерційне інтегроване середовище розробки для Java від компанії JetBrains. Система поставляється у вигляді обмеженої за функціональності безплатної версії "Community Edition" і повнофункціональної комерційної версії "Ultimate Edition", для якої активні розробники відкритих проектів мають можливість отримати бесплатну ліцензію. Початкові тексти Community-версії поширюються в рамках ліцензії Apache 2.0. Бінарні складання підготовлені для Linux, Mac OS X і Windows.

Community версія середовища IntelliJ IDEA підтримує інструменти для проведення тестування TestNG і JUnit, системи контролю версій CVS, Subversion, Mercurial і Git, засоби складання Maven і Ant, мови програмування Java, Java ME, Scala, Clojure і Groovy. Підтримується розробка додатків для мобільної платформи Android. До складу входить модуль візуального проектування GUI-інтерфейсу Swing UI Designer, XML-редактор, редактор регулярних виразів, система перевірки коректності коду, система контролю за виконанням завдань і доповнення для імпорту та експорту проектів з Eclipse.

В програмуванні, регулярний вираз (від англ. regular expression, скорочено regex або regexp, а іноді ще й називають rational expression ) - це рядок, що описує або збігається з множиною рядків, відповідно до набору спеціальних синтаксичних правил.
Доступні засоби інтеграції з системами відстеження помилок JIRA, Trac, Redmine, Pivotal Tracker, GitHub, YouTrack, Lighthouse.

Комерційна версія "Ultimate Edition" відрізняється наявністю підтримки додаткових мов програмування (наприклад, PHP, Ruby, Python, JavaScript, CoffeeScript, HTML, CSS, SQL), підтримкою технологій Java EE, UML-діаграм, підрахунком покриття коду, можливістю роботи з фреймворками (Rails, Grails, Google Web Toolkit, Spring, Play Java Web framework і Hibernate), засобами інтеграції з Perforce, Microsoft Team Foundation Server і Rational ClearCase.

NetBeans IDE — вільне інтегроване середовище розробки (IDE) для мов програмування Java, JavaFX, C/C , PHP, JavaScript, HTML5, Python, Groovy. Середовище може бути встановлене і для підтримки окремих мов, і у повній конфігурації. Середовище розробки NetBeans за умовчанням підтримує розробку для платформ J2SE і J2EE. Поширюється у початкових текстах під ліцензіями GPLv2 і CDDL. Проект NetBeans IDE підтримувався і спонсорувався фірмою Sun Microsystems і після придбання Sun — Oracle, проте розробка NetBeans ведеться співтовариством розробників (NetBeans Community) і компанією NetBeans.Org.

NetBeans IDE доступна для платформ Microsoft Windows, GNU/Linux, FreeBSD, і Solaris. Для інших платформ доступна можливість зібрати NetBeans самостійно із початкових текстів. За якістю і можливостями останні версії NetBeans IDE змагаються з найкращими інтегрованими середовищами розробки для мови Java, підтримуючи рефакторінг, профілювання, виділення синтаксичних конструкцій кольором, автодоповнення мовних конструкцій на льоту, шаблони коду та інше.

Windows - узагальнююча назва операційних систем для ЕОМ, розроблених корпорацією Microsoft. Перші версії були не повноцінними операційними системами, а лише оболонками до ОС MS-DOS. На 2014 рік, за даними сайтів NetApplications та GoStats, Microsoft Windows встановлена більш як на 90% персональних комп'ютерів світу.
Си́нтаксис (дав.-гр. σύνταξις - "побудова, порядок, складання", від σύν - "з, разом" і ταξις - "впорядкування") - розділ граматики, що вивчає граматичну будову словосполучень та речень у мові.

Android Studio - це інтегроване середовище розробки (ІСР) для Android платформи. Воно було оголошене 16 травня 2013 року на конференції Google I/O менеджером по продукції корпорації Google - Еллі Пауерс (Ellie Powers). Станом на червень 2015 року, продукт доступний користувачам для безкоштовного використання. Базуючись на програмному забезпеченні JetBrains' IntelliJ IDEA, Android Studio розробляється спеціально для розробки під Android. Наразі є доступним для вільного завантаження на операційних системах: Windows, Mac OS X та Linux.

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

Також було виділено такі особливості даного середовища:



  • консоль розробника: підказки по оптимізації, допомога по перекладу, стеження за напрямком, агітації та акції - метрики Google аналітики;

  • резерви бета релізів та покрокові релізи;

  • базування на Gradle;

  • Android-орієнтований;

  • рефакторінг та швидкі виправлення;

  • Lint утиліти для продуктивності, зручності користування, сумісності версій та інших проблем;

  • шаблони для створення поширених Android дизайнів та компонентів;

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



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

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



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

3.1. Концептуальна модель додатку

Концептуальна модель додатку полягає у систематизованому змістовному описі системи,

що моделюється. На рисунку 3.1 представлені основні елементи концептуальної моделі.


Мобільний додаток




Сервер

Користувач

Про кафедру

Новини


Розклад

Бібліотека

Фотогалерея



Рис.3.1 Концептуальна модель додатку

Блок Користувач може являти собою власне студента, викладача, абітурієнта або іншу людину на телефоні, якої встановлено додаток.

Далі розглянемо більш детально загальний блок «Мобільний додаток».

Він включає в себе блоки:



  • Про кафедру;

  • Новини;

  • Розклад;

  • Бібліотека;

  • Фотогалерея.

Всі ці блоки будуть безпосередньо взаємодіяти з блоком Сервер і отримувати інформацію. Блок Новини буде отримувати і відображати новини університету, факультету, блок Розклад відповідно буде отримувати і відображати розклад для обраної групи і т.д.

3.2. Структура додатку



Загальний додаток для мобільних пристроїв під управлінням ОС Android складається з основних папок з ресурсами (resources folder) та папок з вихідним кодом (source folder). Додатково, програма використовує підключення до бази даних та до файлів ресурсів додатку (preferences) для збереження даних.

Типовий Android-додаток містить наступні папки: src, gen, bin, libs та res. Кожній папці властивий свій ряд завдань, які вони вирішують. Структура типового Android-додатку зображена на рис. 3.2.



Рис. 3.2 Структура проекту в Android Studio



Папка src вміщує в собі вихідний код програми у вигляді java-класів. Тут міститься інформація про поведінку додатку, оброблення натискань та механізми взаємодії з зовнішніми та внутрішніми даними.

У цій папці міститься код точки входження у програму – клас MainActivity.java. Згідно структури додатків, написаних мовою програмування Java, усі файли класів розміщуються у пакетах, що слугують для визначення простору імен.

Папка gen містить згенеровані системні файли. Ці файли слугують для отримання ідентифікаторів ресурсів та констант, що використовуються у проекті. Додатково, у цій папці міститься клас R.java, що надає можливість іншим класам звертатись до згенерованих посилань до ресурсів. Наприклад, для доступу до рядкової константи типу String з ідентифікатором my_string використовується метод getString(id), куди передається значення ідентифікатору, взятого з класу R – R.string.my_string. Змінювати вміст класу R власноруч не рекомендується.



Папка bin містить скомпільовані файли проекту. Зокрема, тут можна знайти архів додатку project.apk, який є незалежною програмою – його можна скопіювати на пристрій та встановити.

Папка libs містить різноманітні бібліотеки, які використовує додаток. Зазвичай, ці бібліотеки допомагають програмісту у вирішенні проблем, що часто зустрічаються чи завдань, що потребують багато часу на реалізацію.

У папці res містяться ресурси проекту. Вони можуть бути різного типу:

  • іконки, зображення додатку для різних роздільних здатностей екрану (містяться у вкладених папках drawable);

  • xml-файли, що описують структуру і елементи екрану (вкладена папка layout);

  • ресурси, що описують елементи меню (menu);

  • константи різноманітного типу, наприклад рядки чи стилі.

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

Архітектура мобільного додатку будується на основі концептуальної моделі додатку та основних вимог. Основні модулі співпадають з назвами блоків мобільного додатку (Рис.3.3).

Додаток складається з шести Activity ( 5 – основних, 1 – другорядний) :


  • Menu Activity (другорядний) ;

  • GenInfo Activity;

  • Schedule Activity;

  • RSS Activity;

  • Gallery Activity;

  • Book Activity.

Menu Activity

RSS Activity

GenInfo Activity

Gallery Activity

Book Activity

Schedule Activity


Рис. 3.3 Структурна схема мобільного додатку

Активність з головним меню (MenuActivity):



  • містить інтерфейс з кнопками;

  • запускає відповідну активність;

  • є точкою входу у програму.

Активність роботи з новинами (RSS Activity):

  • формує та надсилає запити на сервер;

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


Активність роботи з інформацією про кафедру (GenInfo Activity):

  • формує та надсилає запити на сервер;

  • отримує та відображає інформацію з сайту кафедри системного програмування і спеціалізованих комп’ютерних систем .

Активність роботи з розкладом (Schedule Activity):



  • формує та надсилає запити на сервер;

  • отримує та відображає інформацію з сайту Розклад НТУУ “КПІ”.

Активність роботи з галереєю (Gallery Activity):

  • формує та надсилає запити на сервер;

  • отримує та відображає інформацію з сайту факультету прикладної математики.

Активність роботи з бібліотекою (Book Activity):

  • формує та надсилає запити на сервер;

  • отримує та відображає інформацію з сайту студентської ради факультету прикладної математики.

3.3. Опис основних модулів

MenuActivity

Клас MenuActivity наслідує стандартний клас Activity та має стандартний життєвий цикл (рис.3.4).

Даний клас реалізує меню за допомогою якого користувач, може запустити інші модулі. При створенні користувацького інтерфейсу спочатку йде ініціалізація додатку у класі MenuActivity.java.

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

Рис. 3.4 Стандартний життєвий цикл Activity



Метод onCreate відповідає за ініціалізацію даного activity та використовується для встановлення першочергових налаштувань та значень основних змінних разом з виконанням обов’язкових дій. До таких дій можна віднести метод setContentView(int id), що створює вміст даного activity з файлу шаблону (layout). У метод передається ідентифікатор необхідного xml-файлу графічного зображення activity.

onClick – метод, у середині якого реалізовано обробку натискання на будь-яку область екрану: кнопку, піктограму програми, ярлик чи зображення. При цьому врахована можливість запуску однієї програми декількома способами: натисканням на текст, зображення чи при виборі пункту меню. Для визначення елементу, який обирає користувач, використовуються засоби класу View по визначенню ідентифікатора об’єкту View – метод getId. При натисканні на вільну область екрану даний обробник натискань не спрацьовує, що дозволяє уникнути зайвих перевірок та зменшити загальний обсяг коду програми.

Увесь процес розробки інтерфейсу мобільного додатку для Google Android полягає в створенні Вигляду мовою XML і написанні коду мовою Java, який обробляє тільки взаємозв’язок користувача з цим Виглядом.

Android - (вимов. Андроїд) операційна система і платформа для мобільних телефонів та планшетних комп'ютерів, створена компанією Google на базі ядра Linux. Підтримується альянсом Open Handset Alliance (OHA).
Інтерфейс для даного модулю описано мовою XML в файлі activity_menu.xml. Інтерфейс MenuActivity представлений п’ятьма кнопками «Про кафедру», «Галерея» «Новини», «Розклад» та «Бібліотека». (рис. 3.5).



Рис. 3.4 Інтерфейс головного екрану

Кожна з кнопок при натисканні на них запускає відповідні GenInfo Activity, RSS Activity, Schedule Activity, Gallery Activity та Books Activity.

Модуль перегляду новин факультету

Даний модуль розроблений для отримання та перегляду новин факультету. Модуль надсилає запит для отримання інформації на сайт факультету прикладної математики. Головним класом в даному модулі являється RSSActivity, що наслідує стандартний клас ActionBarActivity. Клас ActionBarActivity містить у собі можливості для реалізації activity з ActionBar. Даний стандартний клас наслідується для доступу та використання в додатку спеціального меню. В даному меню можна запрограмувати спеціальні елементи керування функціональними можливостями.

Головні методи, що реалізовані в класі RSSActivity:

- onCreate;

- onOptionsItemSelected.

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

Метод onOptionsItemSelected спрацьовує при виборі в додатковому меню для оновлення новин.

Також важливими для роботи даного модуля є класи RSSListFragment та SettingsItemFragment. RSSListFragment створений для відображення отриманих новин з серверу у вигляді списку в фрагменті.

В класі SettingsItemFragment знаходяться основні налаштування для доступу до серверу та методи, для їх реалізації.

Інтерфейс для даного модулю описано мовою XML в файлах ресурсів activity_rss.xml та fragment_rss_list.xml. Реалізовано фрагменти, що відображають на екрані мобільного пристрою список новин, який отримується з серверу. Для оновлення списку новин створена кнопка «Оновити».

Модуль перегляду інформації про кафедру

Даний модуль розроблений для отримання та перегляду інформації про кафедру СП і СКС. Модуль надсилає запит для отримання інформації на сайт кафедри системного програмування і спеціалізованих комп’ютерних систем. Головним класом в даному модулі являється GenInfoActivity, що наслідує стандартний клас ActionBarActivity. Батьківський клас є базовим для усіх activity, що використовують бібліотеку підтримки старих версій операційної системи та містять у собі можливості панелі дій ActionBar.

Головні методи, що реалізовані в класі GenInfoActivity:

- onCreate;

- onOptionsItemSelected.

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

Метод onOptionsItemSelected спрацьовує при виборі в додатковому меню для оновлення інформації.

Також важливими для роботи даного модуля є класи GInfoItemFragment та GenInfoLoader.

GInfoItemFragment створений для відображення отриманих новин з серверу на екрані.

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

Інтерфейс для даного модулю описано мовою XML в файлах ресурсів activity_geninfo.xml та fragment_geninfo.xml. Реалізовано фрагменти, що відображають на екрані мобільного пристрою список новин, який отримується з серверу. Для оновлення списку новин створена кнопка «Оновити».

Модуль перегляду розкладу студентів

Даний модуль ScheduleActivity розроблений для отримання та перегляду розкладу студентів факультету прикладної математики. Модуль надсилає запит для отримання інформації на сайт «Розклад КПІ». В якості сервера з розкладом було обрано саме цей сайт, тому що для нього реалізовано Web API.

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

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

Web API – використовується в веб-розробці, це деякий набір HTTP-запитів, а також визначення HTTP-відповідей, для вираження яких використовують XML або JSON формати.

Головним класом в даному модулі являється ScheduleActivity, що наслідує стандартний клас ActionBarActivity. Даний стандартний клас наслідується для доступу та використання в додатку спеціального меню. В даному меню можна запрограмувати спеціальні елементи керування функціональними можливостями.

Головні методи, що реалізовані в класі ScheduleActivity:

- onCreate;

- onOptionsItemSelected.

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

Метод onOptionsItemSelected спрацьовує при виборі в додатковому меню для оновлення розкладу.

Також важливими для роботи даного модуля є класи ScheduleLoader та ScheduleItemFragment.

ScheduleItemFragment створений для відображення отриманого розкладу з серверу.

В класі ScheduleLoader знаходяться основні налаштування для доступу до серверу та методи, для їх реалізації.

Інтерфейс для даного модулю описано мовою XML в файлах ресурсів activity_schedule.xml та listsubject_fragment.xml. Реалізовано фрагменти, що відображають на екрані мобільного пристрою розклад обраної групи , який було отримано з серверу.

Модуль перегляду фотогалереї

Даний модуль розроблений для отримання та перегляду галереї факультету прикладної математики. Модуль надсилає запит для отримання інформації на сайт факультету прикладної математики. . Головним класом в даному модулі являється GalleryActivity, що наслідує стандартний клас ActionBarActivity.

Головні методи, що реалізовані в класі GalleryActivity:

- onCreate;

- onOptionsItemSelected.

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

Метод onOptionsItemSelected спрацьовує при виборі в додатковому меню для оновлення галереї.

Інтерфейс для даного модулю описано мовою XML в файлах ресурсів activity_gallery.xml та gallerylist_fragment.xml. Реалізовано фрагменти, що відображають на екрані мобільного пристрою фотогалерею факультету прикладної математики.

Модуль перегляду бібліотеки

Даний модуль розроблений для отримання та перегляду бібліотеки факультету прикладної математики. Модуль надсилає запит для отримання інформації на сайт факультету прикладної математики. . Головним класом в даному модулі являється BooksActivity, що наслідує стандартний клас ActionBarActivity.

Головні методи, що реалізовані в класі GalleryActivity:

- onCreate;

- onOptionsItemSelected.

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

Метод onOptionsItemSelected спрацьовує при виборі в додатковому меню для оновлення новин.



Інтерфейс для даного модулю описано мовою XML в файлі ресурсів activity_books.xml. Реалізовано фрагменти, що відображають на екрані мобільного пристрою бібліотеку факультету прикладної математики.


Скачати 228.87 Kb.

  • Дипломний проект
  • З А В Д А Н Н Я
  • КАЛЕНДАРНИЙ ПЛАН
  • Примітка