Дисертація Університет Мішкольця Розробка програми щоденника прийому їжі для платформи Android Автор: Ádám Sütő Дизайнер програми Інформатика Науковий керівник: Тібор Елек Мішкольц, 2016

теза

Університет Мішкольця, факультет машинобудування та інформатики, кафедра прикладної математики Номер: Присвоєння дисертації кандидату комп'ютерних наук Ádám Sütő (FCA194). Тема дипломної роботи: Розробка програмного забезпечення Назва дипломної роботи: Розробка додатків щоденника харчування для платформи Android Деталі завдання: Розробка додатків для Android, яка виконує такі завдання: зберігає дані про щоденний раціон користувача в базі даних, зберігає заздалегідь встановлені страви, які користувач може розширити щоденне споживання поживних речовин, розбитих на речовини, користувач може переглянути харчові цінності кожного продукту харчування та інгредієнтів у ньому. Керівник (и): Тібор Елек, викладач інженерної справи Керівник (и): - Дата призначення: 23 вересня, 2015 2

Декларація про походження, підписана Ádám Sütő; Код Нептуна: FCA194 Я випускник факультету машинобудування та інформатики Університету Мішкольца, факультету машинобудування та інформатики. література, про яку йдеться там, використовувалася відповідно до правил управління ресурсами. Зазначу, що у випадку дисертації це розглядається як плагіат: повідомлення буквальної цитати без лапок та посилань; цитування змісту без посилання; вказуючи інші опубліковані думки як власні думки. Я, нижчепідписаний, заявляю, що знайомий з поняттям плагіат, і визнаю, що моя дисертація буде відхилена у випадку плагіату. Мішкольц, 2016.02.16. Студент 3

1. Необхідна модифікація дисертаційного завдання (модифікація на окремому аркуші) не потрібна. керівник (и) дати 2. Я перевірив розробку завдання: керівник (дата, підпис): керівник (дата, підпис). 3. Дисертацію можна подати. керівник (и) дати 4. Дисертація. текстова сторінка. програмний протокол (список, опис користувача). електронні носії (детально). інший додаток (детально). містять. дата (-и) керівник (и) 5. допустимо Дисертацію не можна переглянути Ім'я рецензента. дата спеціаліста 6. Оцінка дисертації - це пропозиція наукового керівника. пропозиція рецензента. кінцевий результат дисертації. Мішкольц. Голова комісії з випускного іспиту 4

Зміст 1. Вступ 6 2. Докладніше про платформу Android 7 2.1. Основні етапи розвитку Android. 9 2.2. Інструменти розробника. 10 2.2.1. Android Studio. 10 2.2.2. Android SDK. 11 2.2.3. Сценарії Gradle. 12 2.3. Представляємо концепції розробки Android. 12 2.3.1. Діяльність. 12 2.3.2. Фрагменти. 14 2.3.3. Наміри та фільтри намірів. 15 2.3.4. Ресурси. 16 2.3.5. Файл маніфесту. 18 2.3.6. Користувацький інтерфейс. 18 2.3.7. Макети. 19 3. Етапи розробки додатків 23 3.1. Важливі кроки планування. 23 3.2. Поняття. 23 3.3. Презентація запланованих функцій. 23 3.3.1. Зберігання даних. 25 3.4. Презентація занять. 25 3.4.1. Класи, що реалізують інтерфейс користувача. 26 3.4.2. Реалізувати класи зберігання даних та інші функції. 34 3.5. Тестування. 36 3.6. Інтерфейси користувача. 38 3.6.1. Домашній екран. 38 3.6.2. Меню. 39 3.6.3. Пошук. 3.6.4. Харчова добавка. 41 3.6.5. Архів. 3.7. Плани розвитку. 42 4. Резюме 44 Посилання 45 Посібник користувача для медіа 46 5

ім'я пакета, яке можна опустити, якщо на нього посилається той самий пакет, ім'я підкласу в R може бути опущено з розширення імені файлу ресурсу або значення, зазначеного в атрибуті android: name у файлі xml. 17

2.3. Концепції розробки Android можна описати як прості інструменти введення або додаткові групи, що визначають подальші частини інтерфейсу. Ця ієрархія дерев може бути настільки простою або настільки складною, наскільки ми відчуваємо потребу. Щоб оголосити макет, ми можемо створити об'єкти View у нашому коді, щоб почати будувати наше дерево, але найпростіший і найдоцільніший спосіб зробити це - зробити це у файлі xml макета. Xml показує макет нашого інтерфейсу у набагато зручнішій для людини формі. Імена кожного члена xml однакові з іменами класів, доступних у коді Java, тобто

Ім'я доступного класу Java-коду члена - TextView. Файл xml у простому вертикальному макеті, що містить поле введення тексту та кнопку, може виглядати так: Коли інтерфейс завантажується в код програми (вказуючи файл xml як ресурс), він перетворює кожен вузол у системі в середовище виконання об'єкт, що містить властивості xml, зазначені в 2.3.7. Макети Макет або макет описує структуру нашого інтерфейсу користувача, наприклад, віджет діяльності або програми. Існує два способи створення макета: Ми створюємо елементи користувача в xml: Android просто пов'язує елементи xml з класом View та його підкласами. 19

2.3. Розуміння концепцій розробки Android Кожна група подань повинна мати атрибути висоти та ширини (layout_width і layout_height). Ви можете додати точні значення до цих атрибутів, але це не найпоширеніший метод. Натомість ми можемо встановити наступні два значення: за допомогою wrap_content подання завжди матиме розмір, який потрібен дочірньому перегляду. При використанні match_parent подання буде таким великим, наскільки дозволяє батьківський подання. Не рекомендується встановлювати ці значення з точними значеннями, такими як кількість пікселів. Натомість ми можемо використовувати незалежно від щільності пікселів піксельні одиниці для короткого dpt. Ця одиниця виміру гарантує, що наш додаток буде виглядати однаково на всіх пристроях, незалежно від розміру дисплея. Ми згадали, що існує лінійне розташування та відносне розташування. На додаток до них важливим видом є також подання списку. ListView - це група подань, яка відображає прокручуваний список елементів. Елементи списку автоматично вставляються за допомогою класу Adapter, який витягує вміст із масиву або бази даних і перетворює вилучені дані у вигляд, який може відображатися у списку. 22

3.4. Презентація занять 3.4.1. Класи, що реалізують інтерфейс користувача Клас MainActivity вважається центральним класом програми. Його основна функція - відображення екрана журналу та виклик класів різних функцій та їх користувальницьких інтерфейсів. Метод oncreate () містить екземпляри класів даних та відповідні виклики, які використовуються для завантаження даних користувача та програми. Нижче наведено детальну інформацію про метод oncreate () та файл xml для журналу, що відображає користувальницький інтерфейс: protected void oncreate (Bundle savedinstancestate) < super. oncreate ( savedinstancestate ); setcontentview (R. layout. activity_main ); Toolbar toolbar = ( Toolbar ) findviewbyid ( R. id. toolbar ); setsupportactionbar ( toolbar ); NaploModifier. setup (this ); JsonOperator. setup (this ); NaploModifier. settingtoday (); 26

3.4. Представляємо класи> JsonOperator. loaddata (); спробуй < Adatok. settaplaleklista ( AdatLoader. loadtaplalekok ( JsonOperator. getdata ())); Adatok. setusertaplaleklista ( AdatLoader. loadtaplalekok ( JsonOperator. getusertaplalekdata ())); AdatLoader. loaduserdata (); >зловити (JSONException e) < e. printstacktrace (); >NaploModifier. Refreshnaploadatok (Napok. EGESZ); getupportactionbar (). setdisplayhomeasupenabled (true); drawerfragment = (NavigationDrawerFragment) getsupportfragmentmanager (). findfragmentbyid (R. id. fragment_navigation_drawer); фрагмент шухляди. налаштування (R. id. fragment_navigation_drawer, (DrawerLayout) findviewbyid (R.id. drawer_layout), панель інструментів);.

3.4. Представляючи класи Натискання кнопки Додати в цьому класі відкриває для користувача відфільтрований список SearchActivity, у якому видно лише вихідні матеріали. 3.4.2. Впровадження сховищ даних та інших класів функцій Основним класом цієї частини моєї програми є клас даних, який відповідає за агрегування даних. Елемент даних списку дотичних списків містить список проникних продуктів, які вже завантажені з файлу в класи Java. Журнал списку містить продукти в журналі. Usertaplaleklista містить перелік продуктів харчування, складених з інгредієнтів, доданих користувачем. Член даних archivenaplo містить сім даних для поточно відкритого архіву. Метод resetarchivenaplo () видаляє з файлу вже завантажений та відображений журнал архіву. Це відбувається, коли користувач переходить із архівованої діяльності вибраного тижня на основну. Це лише для економії пам’яті. Метод resetnaplo () видаляє дані з журналу. Метод changetaplaleknaplo () модифікує продукти, які вже були додані до журналу. Це називається, коли користувач згодом регулює кількість їжі. 34