Masarykova univerzita Fakulta informatiky Vínny degustačný lístok pre platformu Android Bakalárska práca Marek Scholtz Brno, jar 2017 Namiesto tejto stránky vložte kópiu oficiálneho podpísaného zadania práce a prehlásenie autora školského diela. Prehlásenie Prehlasujem, že táto bakalárska práca je mojím pôvodným autorským dielom, ktoré som vypracoval samostatne. Všetky zdroje, pramene a literatúru, ktoré som pri vypracovaní používal alebo z nich čerpal, v práci riadne citujem s uvedením úplného odkazu na príslušný zdroj. Marek Scholtz Vedúci práce: Ing. Petr Adámek i Poďakovanie Rád by som sa poďakoval vedúcemu práce Ing. Petrovi Adámkovi za jeho cenné rady a pomoc pri tvorbe tejto práce. Moja vďaka patrí taktiež Silvii Borzovej za lekciu TeXu a rodine za podporu počas celého štúdia. iii Zhrnutie Cieľom tejto bakalárskej práce bolo vytvoriť aplikáciu pre mobilnú platformu Android, ktorá zjednoduší návštevníkovi vinárstva degus- táciu vín a majiteľovi sprevádzanie hostí. V práci sa venujem samot- nému operačnému systému Android, aplikáciám na tejto platforme, ako aj návrhu a implementácii aplikácie. Súčasťou práce je aj analýza aplikácií z rovnakého odvetvia. iv Kľúčové slová Android, degustačný lístok, NFC, QR kód, Material design v Obsah 1 Úvod 1 2 Operačný systém Android 3 2.1 História ............................3 2.2 Súčasnosť ...........................3 2.3 Architektúra ..........................4 2.3.1 Jadro operačného systému . .4 2.3.2 Hardvérová abstraktná vrstva . .4 2.3.3 Knižnice . .4 2.3.4 Android Runtime . .5 2.3.5 Application framework . .5 2.3.6 Aplikácie . .5 3 Aplikácie pre Android 7 3.1 Hlavné komponenty aplikácie .................7 3.1.1 Activity . .7 3.1.2 Service . .8 3.1.3 Broadcast receiver . .8 3.1.4 Content provider . .8 3.2 Vedľajšie komponenty aplikácie ................8 3.2.1 Fragment . .8 3.2.2 View . 10 3.2.3 Layout . 11 3.2.4 Intent . 11 3.2.5 Resources . 11 3.2.6 Manifest . 11 3.3 Štruktúra Android aplikácií .................. 11 3.3.1 AndroidManifest.xml . 11 3.3.2 Priečinok res . 12 3.3.3 Priečinok java . 14 4 Aplikácie z oblasti vinárstva 15 4.1 My cellars and tastes ..................... 15 4.2 My wine cellar ........................ 15 4.3 Delectable Wine ........................ 16 vii 5 Analýza a návrh 19 5.1 Požiadavky .......................... 19 5.1.1 Funkčné požiadavky . 19 5.1.2 Nefunkčné požiadavky . 20 5.2 Grafický návrh ........................ 21 5.2.1 Material design . 21 5.2.2 Základný návrh . 21 5.2.3 Zobrazenie vína . 21 5.3 Technológie .......................... 22 5.3.1 NFC . 22 5.3.2 QR kód . 23 5.3.3 Google Sign-In . 23 5.3.4 Firebase . 24 6 Implementácia 27 6.1 Android Studio ........................ 27 6.2 Gradle ............................. 27 6.3 Knižnice ............................ 27 6.3.1 ZXing Android Embedded . 28 6.3.2 MaterialShowcaseView . 28 6.3.3 Picasso . 28 6.3.4 OkHttp . 28 6.3.5 Gson . 29 6.4 Komponenty aplikácie ..................... 29 6.4.1 LaunchScreenActivity . 29 6.4.2 MainActivity . 29 6.4.3 TastingTicketFragment . 29 6.4.4 LoadTastingTicketActivity . 30 6.4.5 CompleteOfferFragment . 31 6.4.6 ShoppingCartFragment . 31 6.4.7 HistoryFragment . 31 6.4.8 PreferencesFragment . 32 6.4.9 AddWineActivity . 33 7 Záver 35 Bibliografia 37 viii Zoznam obrázkov 2.1 Architektúra operačného systému Android [5] 6 3.1 Fragmenty emailovej aplikácie [7] 9 3.2 Životný cyklus aktivity [8] 10 3.3 Životný cyklus fragmentu [9] 10 3.4 Jedna ikona aplikácie, 5 rôznych veľkostí 13 3.5 Linear Layout [12] 13 3.6 Relative Layout [12] 13 4.1 My cellars and tastes (zoznam vín) 16 4.2 My wine cellar (štatistika) 16 4.3 Delectable Wine (nástenka) 17 4.4 Delectable Wine (zobrazenie vína) 17 5.1 Diagram prípadov užitia 20 5.2 Navigačný panel 22 5.3 Jednoduché zobrazenie vína 22 5.4 Zobrazenie vína po rozkliknutí 22 5.5 Sony Xperia NFC tagy [19] 23 5.6 QR kód 23 5.7 Nástroje platformy Firebase [22] 25 6.1 Aplikačné skratky 30 6.2 Degustačný lístok 30 6.3 Nákupný košík 32 6.4 História 32 ix 1 Úvod Mobilné telefóny sa za posledné roky stali neoddeliteľnou súčasťou dnešného moderného sveta. Nadobudli obrovské spektrum funkcií, ktoré ich umožňujú využiť aj na iné činnosti ako sú telefonovanie alebo posielanie SMS správ. Do špecifikácie pribudli názvy ako Wi-Fi na pri- pojenie na internet, Bluetooth na komunikáciu s ďalšími zariadeniami, gyroskop na zistenie aktuálnej polohy samotného zariadenia, GPS (Global Positioning System) na zistenie geografickej polohy či NFC (Near Field Communication) na čítanie dát z NFC tagov alebo bez- kontaktné platby. Príchod smartfónov naviac zjednodušil užívateľom inštaláciu ďal- ších funkcionalít a vývojárom ich implementáciu. Medzi najznámejšie mobilné platformy patria Android od spoločnosti Google, iOS od firmy Apple či Windows Phone od Microsoftu. Najrozšírenejší znich, Android, si počas svojej takmer desaťročnej komerčnej existencie vy- budoval obrovskú popularitu. Svoje miesto si dnes drží na viac ako dvoch tretinách mobilných zariadení [1]. Smartfóny a tablety priniesli do sveta nový trend, kedy si žiadna vplyvnejšia spoločnosť nemôže dovoliť absenciu vlastnej mobilnej aplikácie a prostredníctvom nej ponúkať užívateľom svoje služby. Ovplyvnili všetky druhy odvetví, okrem iného aj vinárstvo. Cieľom tejto bakalárskej práce bolo navrhnúť a naimplementovať univerzálnu mobilnú aplikáciu pre vinárstva a vínne pivnice, zjed- nodušujúcu užívateľovi ich návštevu a majiteľovi sprevádzanie hostí. Hlavnou prioritou bol interaktívny degustačný lístok, ktorý si náv- števník načíta pred začiatkom degustácie a aplikácia mu zoznam ochutnávaných vín v jednoduchej a prehľadnej forme vypíše. Užívateľ bude môcť u každého z vín na degustačnom lístku zanechať hodno- tenie pomocou hviezdičiek, prípadne textovú poznámku. Aplikácia ďalej umožní prezrieť si kompletnú ponuku vinárstva a možnosť ob- jednať vybrané vína. V histórii užívateľ nájde svoje minulé návštevy, degustované vína a výpis z prípadnej objednávky. 1 2 Operačný systém Android Android je plnohodnotná mobilná platforma vyvíjaná spoločnosťou Google primárne určená pre dotykové zariadenia ako sú smartfóny a tablety. Jeho používateľské rozhranie je založené na priamej mani- pulácií použitím dotykových gest. Okrem základnej verzie operačného systému Google vyvíja aj An- droid Wear pre inteligentné hodinky, Android TV pre televízie a An- droid Auto pre autá. Varianty tohto operačného systému sa nachádzajú aj v notebookoch, herných konzolách, digitálnych kamerách či inej elektronike. Zdrojový kód operačného systému Android je vydávaný pod open source licenciou, čo znamená, že vývojári môžu modifikovať systém pre každé zariadenie. 2.1 História Android bol pôvodne vyvíjaný rovnomennou spoločnosťou od roku 2003. Google v roku 2005 tento startup odkúpil a Android Inc. sa stal jeho dcérskou spoločnosťou. 5. novembra roku 2007 vzniklo konzor- cium Open Handset Alliance, ktoré zahŕňalo spoločnosti zaoberajúce sa výrobou mobilných zariadení, čipov alebo aplikácií, ako napríklad Google, Sony, Intel, Qualcomm a podobne. Jeho cieľom bolo vyvi- núť otvorený štandard pre mobilné zariadenia. V ten istý deň toto konzorcium ohlásilo svoj prvý produkt, Android. Google dal jasne najavo, že s platformou Android má na mobilných zariadeniach veľké ambície. Už v roku 2008 bol v Spojených štátoch predstavený prvý ko- merčný telefón s Androidom 1.0, HTC Dream, známy aj ako T-Mobile G1. Zároveň s týmto zariadením bol uvoľnený balíček nástrojov pre vývojárov vo verzii 1.0 [2]. 2.2 Súčasnosť Operačný systém Android si dnes drží svoje miesto na 65,19 % všet- kých mobilných telefónov a tabletov [1]. K máju 2017 je aktuálnou verziou Android 7.1.2 Nougat, ktorá bola uvoľnená začiatkom apríla 3 2. Operačný systém Android 2017. V percentuálnom zastúpení jednotlivých verzií operačného sys- tému vedie Android 6.0 Marshmallow s 31,2 %, nasledovaný verziou 5.1 Lollipop s 23,3 % [3]. 2.3 Architektúra Operačný systém Android je rozdelený do 5 vrstiev (obrázok 2.1). Každá vrstva má svoj účel a nemusí byť striktne oddelená od ostatných vrstiev [4]. 2.3.1 Jadro operačného systému Najnižšou vrstvou architektúry je jadro operačného systému, ktoré tvorí abstraktnú vrstvu medzi používaným hardvérom a zvyškom softvéru vo vyšších vrstvách. Jadro systému Android je postavené na Linuxe vo verzii 2.6. Využíva mnoho jeho vlastností, ako sú podpora správy pamäte, správa sietí, zabudované ovládače, správa procesov alebo súbežný beh aplikácií, ktoré bežia ako samostatné procesy s pri- oritou stanovenou systémom. Táto vlastnosť prispieva k stabilite a tiež k ochrane systému [4]. 2.3.2 Hardvérová abstraktná vrstva Hardvérová abstraktná vrstva poskytuje jednotné rozhranie ovláda- júce rôzne fungujúci hardvér. Skladá sa z viacerých knižničných mo- dulov, z ktorých každý implementuje rozhranie pre konkrétny typ hardvérového zariadenia, ako je fotoaparát alebo Wi-Fi. Ak apliká- cia uskutoční výzvu na prístup k hardvérovému zariadeniu, systém Android načíta modul práve pre toto zariadenie [5]. 2.3.3 Knižnice Mnoho základných komponentov a služieb systému Android, ako napríklad Android Runtime alebo hardvérová abstraktná vrstva, sú postavené z natívneho kódu, ktorý vyžaduje natívne knižnice napí- sané v C a C++. Platforma Android poskytuje Java rozhrania, ktoré umožňujú aplikáciám prístup k týmto knižniciam. Napríklad, kniž- nica OpenGL ES je dostupná pomocou rozhrania Java OpenGL API 4 2. Operačný systém Android a tak môžeme do aplikácii jednoducho pridať podporu pre vykresľo- vanie 2D a 3D grafiky [5]. 2.3.4 Android Runtime Vrstva Android Runtime obsahuje aplikačný
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages53 Page
-
File Size-