Bankovní institut vysoká škola Praha Katedra informatiky a kvantitativních metod
Mobilní aplikace se zaměřením na platformu Android Diplomová práce
Autor:
Přemysl Fuka Informační technologie a management
Vedoucí práce:
Praha
doc. Ing. Alena Buchalcevová, Ph.D.
2016
Prohlášení: Prohlašuji, že jsem diplomovou práci zpracoval samostatně a s použitím uvedené literatury. Svým podpisem stvrzuji, že odevzdaná elektronická podoba práce je identická s její tištěnou verzí, a jsem seznámen se skutečností, že se práce bude archivovat v knihovně BIVŠ a dále bude zpřístupněna třetím osobám prostřednictvím interní databáze elektronických vysokoškolských prací.
V Praze, dne 30. 04. 2016
Přemysl Fuka
Poděkování: Na tomto místě bych velice rád poděkoval vedoucí mé diplomové práce doc. Ing. Aleně Buchalcevové, Ph. D., za vedení a podnětné návrhy při zpracovávání této diplomové práce.
Anotace Tato diplomová práce se zabývá tvorbou aplikací pro mobilní platformu Android. Cílem bylo na konkrétních příkladech ukázat možnosti a rozdíly tvorby aplikací ve vývojovém prostředí Eclipse a v App Inventor a poukázat na jednotlivé výhody a nevýhody. V teoretické části je shrnut historický vývoj mobilní platformy Android a popis prostředí, kde byly ukázkové aplikace vytvářeny s informacemi o konfiguraci daného vývojového prostředí. V praktické části potom nalezneme vlastní ukázkové aplikace, které byly tvořeny pro tuto mobilní platformu. Součástí práce je také vlastní otestování aplikací v emulátoru a v reálném mobilním zařízení. Klíčová slova: Android, emulátor, mobilní aplikace, Eclipse, App Inventor Annotation This thesis paper deals with the creation of applications for mobile platform Android. Its aim is to show functions and differences in applications creations in integrated development environment such as Eclipse and App Inventor based on particular examples. Moreover, it defines the advantages and disadvantages of these two integrated development environments. The theoretical part revises the historical development of mobile platform Android, it also describes the environment, where sample applications were made using information about specific integrated development environment. The empirical part focuses on my own presentation apps, which have been created for this mobile platform. This thesis also conducts a testing app session in an emulator together as in a real cell phone. Key words: Android, emulator, mobile application, Eclipse, App Inventor
Obsah Úvod ........................................................................................................................................... 8 Zvolené metody zpracování ................................................................................................... 10 1 Charakteristika historického a budoucího vývoje platformy Android .......................... 11 1.1. Pohled na jednotlivé verze Android .................................................................................. 11 1.1.1. Android verze 1.x ........................................................................................................... 12 1.1.2. Android verze 2.x ........................................................................................................... 13 1.1.3. Android verze 3.x ........................................................................................................... 13 1.1.4. Android verze 4.x ........................................................................................................... 14 1.2. Budoucí vývoj platformy Android .................................................................................... 14 1.3. Operační systémy pro chytré telefony ............................................................................... 15 1.3.1. Operační systém iOS ...................................................................................................... 15 1.3.2. Operační systém Microsoft Phone .................................................................................. 15 1.3.3. Další operační systémy ................................................................................................... 16 2 Popis vývojového prostředí a specifikace systému ........................................................... 18 2.1. Vývojové prostředí Eclipse ............................................................................................... 18 2.2. Vývojové prostředí Eclipse pro další zařízení ................................................................... 20 2.2.1. Chytré hodinky ............................................................................................................... 20 2.2.2. Google Glass .................................................................................................................. 21 2.3. Vývojové prostředí App Inventor ...................................................................................... 22 2.4. Výhody a nevýhody obou vývojových prostředí ............................................................... 25 3 Tvorba ukázkové aplikace pro systém Android ............................................................... 29 3.1. Základní informace k aplikacím ........................................................................................ 29 3.1.1. Aplikace na výpočet ceny s DPH ................................................................................... 29 3.1.2. Aplikace na výpočet indexu BMI ................................................................................... 29
5
3.1.3. Aplikace na výpočet determinantu matice...................................................................... 30 3.2. Vlastní tvorba aplikace v Eclipse na výpočet ceny s DPH ................................................ 31 3.2.1. Založení nového projektu ............................................................................................... 31 3.2.2. Manifest .......................................................................................................................... 32 3.2.3. Návrh aplikace ................................................................................................................ 33 3.2.4. Vlastní naprogramování aplikace ................................................................................... 36 3.3. Vlastní tvorba aplikace v Eclipse na výpočet indexu BMI ............................................... 38 3.3.1. Návrh aplikace ................................................................................................................ 38 3.3.2. Vlastní naprogramování aplikace ................................................................................... 41 3.4. Tvorba aplikace v App Inventor na výpočet ceny s DPH ................................................ 42 3.4.1. Návrh aplikace ................................................................................................................ 43 3.4.2. Vlastní tvorba aplikace ................................................................................................... 44 3.5. Tvorba aplikace v App Inventor na výpočet indexu BMI ................................................. 47 3.5.1. Návrh aplikace ................................................................................................................ 47 3.5.2. Vlastní tvorba aplikace ................................................................................................... 48 3.6. Tvorba aplikace v App Invetor na determinant matice ..................................................... 50 3.6.1. Návrh aplikace ................................................................................................................ 50 3.6.2. Vlastní tvorba aplikace ................................................................................................... 51 4 Otestování samotné aplikace .............................................................................................. 53 4.1. Příprava testování v Eclipse .............................................................................................. 53 4.2. Testování aplikace v Eclipse ve vytvořeném emulátoru ................................................... 54 4.2.1. Testování aplikace na výpočet ceny s DPH v emulátoru ............................................... 55 4.2.2. Testování aplikace na výpočet indexu BMI v emulátoru ............................................... 57 4.3. Testování aplikací z Eclipse na reálném mobilním zařízení ............................................. 58 4.3.1. Testování aplikace na výpočet ceny s DPH v mobilním zařízení .................................. 59 4.3.2. Testování aplikace na výpočet BMI indexu v mobilním zařízení .................................. 60
6
4.4. Příprava testování v App Inventor ..................................................................................... 61 4.5. Testování aplikace v App Inventor v emulátoru ............................................................... 62 4.5.1. Testování aplikace na výpočet ceny s DPH v emulátoru ............................................... 62 4.5.2. Testování aplikace na výpočet indexu BMI v emulátoru ............................................... 64 4.5.3. Testování aplikace determinantu matice v emulátoru .................................................... 65 4.6. Testování aplikací z App Invetor na mobilním zařízení.................................................... 67 4.6.1. Testování aplikace na výpočet ceny s DPH v mobilním zařízení .................................. 68 4.6.2. Testování aplikace na výpočet BMI indexu v mobilním zařízení .................................. 69 4.6.3. Testování aplikace determinantu matice v mobilním zařízení ....................................... 70 Závěr ........................................................................................................................................ 72 Použitá literatura .................................................................................................................... 74 Bibliografie .............................................................................................................................. 74 Internetové zdroje................................................................................................................... 74 Seznam obrázků...................................................................................................................... 77 Seznam zkratek ....................................................................................................................... 79
7
Úvod Mobilní
aplikace z dnešního
pohledu zaujímají
jednu z hlavních rolí
v oboru
s informačními technologiemi. Jsou určeny pro různé druhy chytrých telefonů (smartphone), tabletů, chytrých hodinek (smartwatch) nebo různých náramků s nejrůznějšími mobilními operačními systémy s velkým množstvím hardwaru od různých výrobců jednotlivých značek. Každý měsíc lze sledovat nepřeberné množství novinek z tohoto světa. Rozvoj v této oblasti je velice dynamický, dá se říci, že co lze dnes považovat za novinku, bývá během pár měsíců standardem a během pár let již zastaralou věcí. Proto stanovit, kam se bude nyní ubírat vývoj těchto technologii, je značně obtížné. Z důvodu velkého množství operačních systémů pro mobilní aplikace je tato diplomová práce zaměřena na operační systém Android, který má v současné době nejvyšší počet mobilních uživatelů a zároveň i největší počet aplikací a zařízení, určených pro tuto platformu. Jelikož nejvíce uživatelů nyní již používá verzi Android 4, tvorba diplomové práce byla zaměřena především na ni v praktické části. Hlavním cílem práce je seznámit se s vývojovým prostředí Eclipse a App Inventor pro mobilní aplikace. K tomu byly naprogramovány aplikace, jejichž tvorba a testování v emulátoru a v reálném mobilním zařízení jsou součástí cílů diplomové práce. Jak už název napovídá a bylo zmíněno výše, samotná diplomová práce se zabývá popisem platformy Android v první teoretické části, a to od jejího počátku až po současnost. Samozřejmě nelze popsat všechny aspekty a verze systému do detailu. Proto je zde určité vymezení a shrnutí podle důležitosti a aktuálnosti při samotném psaní. Pro úplnost jsou zde zmíněné i ostatní mobilní operační systémy. Druhá část je již zaměřená na vývojová prostředí Eclipse a App Inventor. Kromě mobilních aplikací jsou zde zmíněny i možnosti programování chytrých hodinek SmartWatch 2 od společnosti Sony či brýlí Google Glass v Eclipse. Dále jsou uvedeny výhody a nevýhody obou vývojových prostředí. Třetí část práce je praktická tvorba aplikací v obou zmíněných vývojových prostředí. K tomuto účelu byly naprogramovány aplikace pro výpočet ceny s DPH a BMI indexu. V App Inventor je ještě popsána aplikace na výpočet determinantu 2 x 2 a 3 x 3.
8
Poslední čtvrtá část se věnuje testování vytvořených aplikací na emulátoru a v reálném mobilním zařízení. Otestovány byly jak všechny aplikace (výpočet ceny s DPH, BMI indexu a determinantu matice), které byly vytvořeny v App Inventor, tak obě aplikace v prostředí Eclipse. Součástí této poslední kapitoly jsou i informace o nastavení emulátoru a jejich možnosti pro testování.
9
Zvolené metody zpracování Diplomová práce je z hlediska zpracování rozdělena na teoretickou část, kde byly využity knižní a online zdroje a praktickou část, ve které jsou uvedené konkrétní vytvořené a otestované aplikace pro tuto práci. Nejprve bylo nutné zjistit, jaké verze Androidu byly nejčastěji používány. První část se tedy týká popisu jednotlivých verzí operačních systémů. V teoretické části jsou popsána vývojová prostředí Eclipse a App Inventor, která jsou vhodná pro tvorbu samotných aplikací. Metodou dosažení
vytvoření
praktických
ukázkových
aplikací
se stalo
jejich
naprogramování v jazyce Java. Druhým způsobem bylo vyžití blokového programování. Součástí praktické části je také vlastní otestování vytvořených aplikací. Metodou k dosažení testování bylo využití nejprve emulátoru. Emulátor umožňuje více možností nastavení virtuálního zařízení a samotné rychlosti testování, oproti skutečnému mobilnímu zařízení., na kterém byla testována již hotová a odzkoušená aplikace.
10
1. Charakteristika historického a budoucího vývoje platformy Android V současné době se lze setkat s velkým množstvím verzí pro operační systém Android, které jsou určeny pro nejrůznější zařízení. Asi každý dnes zná nebo používá telefony nebo tablety s tímto operačním systémem. Ale kromě nich se můžeme setkat i s dalšími zařízeními, která bývají používána s Androidem. Mezi taková zařízení lze například zařadit chytrý kartáček na zuby od francouzské společnosti Kolibree. Výše zmíněný elektronický kartáček spárujeme za pomocí bezdrátové technologie Bluetooth s naším telefonem, do kterého si nainstalujeme speciální aplikaci k tomu určenou. Daná aplikace nám umožní sledovat informace o tom, jak kvalitně a dlouho si čistíme zuby. Údaje ze zařízení se zaznamenávají na server výrobce produktu. Nevýhodou ale je, že jsou zatím podporovány jen mobilní telefony od společnosti Samsung pro Android a Apple pro iPhone.1 Kromě toho se v současné době začínají více používat a prodávat chytré hodinky a náramky od nejrůznějších společností. Ty lze propojovat s dalšími chytrými zařízeními jako je mobilní telefon nebo tablet. Podrobnější popis verzí operačního systému Android, určených pro tato zařízení, je popsán v dalších podkapitolách.
1.1. Pohled na jednotlivé verze Android Tato softwarová platforma urazila od roku 2007, kdy došlo k jejímu představení, velký kus cesty. V následujících podkapitolách jsou popsány její čtyři základní verze, včetně jejich dalších dílčích verzí. Kromě číselného označení dostávají jednotlivé verze i kódové jméno (anglický slovní název) podle nejrůznějších lidských pochutin. Přehled jednotlivých verzí Android je zařazen v kapitolách z důvodů popisu a nastínění, odkud a kam vývoj spěje a jaké jsou rozdíly mezi jednotlivými verzemi. (Ujbányai, 2012) Na obrázku 1 je zobrazena sloupcová tabulka, ve které se nalézají údaje o číslu verze, kódové jméno, rozhraní API (Application Programming Interface – prostředí pro programování aplikací) a procento využití jednotlivých verzí systému. Data jsou aktualizována k začátku února 2014. Jak je z tabulky patrné, nejnovější verze v tomto časovém období 4.4 KitKat má už skoro stejný podíl uživatelů jako verze 2.2 Froyo, i když 1
https://www.easystore.cz/kolibree-chytry-sonicky-zubni-kartacek.html 11
je na trhu v této době teprve pár měsíců. Jednoznačně nejpoužívanější je v této době Jelly Bean, konkrétně s API 16. Samotný API Level (úroveň) se konfiguruje v XML dokumentu, pojmenovaném jako AndroidManifest a do elementu <uses-sdk> se zadává číslo, které odpovídá konkrétní verzi Android. Rozsah čísel je od 1 do 19 podle časové sekvence, kdy jednotlivé platformy vznikaly. Jedničku má tedy Android 1.0 Base a devatenáctku zatím poslední verze 4.4 KitKat. Android 4 zaujímá více než polovinu z veškerého podílu na zařízeních, což je také důvod, proč je ukázková aplikace zaměřena na podporu těchto verzí. Všechny verze se nachází v tabulce, která zobrazuje procentové využití celého systému graficky. (Grant, 2013)
Obrázek 1: Tabulka využití jednotlivých verzí systému Android Zdroj: https://developer.android.com/about/dashboards/index.html, 27. 2. 2014
1.1.1. Android verze 1.x Android 1.0 je nejstarší verzí tohoto systému, která pochází z roku 2008. Celý Android je založen na Linuxu. Již v této verzi jsme se mohli setkat s Android Marketem, který byl časem přejmenován na Obchod Play, který nám nabízí bezpočet aplikací pro nejrůznější verze systémů. Aplikace jsou od nejrůznějších tvůrců (jak pro volné užití, tak i pro komerční), a pokud máme nějaký účet na Googlu, můžeme zde přidat vlastní názor nebo zkušenost. (Ujbányai, 2012)
12
Součástí Android 1.0 jsou také různé Google aplikace. Například kalendář, email, kontakty, mapy. Podporovány jsou bezdrátové technologie Bluetooth a Wi-Fi. Z dalších programů, se kterými se můžeme zde setkat je například budík, kalkulačka webový prohlížeč s možností přibližování obsahu či přehrávač YouTube. (Ujbányai, 2012) V roce 2009 byly vydány hned tři nové verze s označením začínající číslem 1. První z nich Android 1.1 obsahoval jen pár vylepšení. Například možnost skrytí a zobrazení klávesnice na displeji. Android 1.5 s kódovým jménem Cupcake umožňoval automatickou rotaci při pohybu zařízením. Android 1.6 – Donut zase zjišťoval, která aplikace spotřebovává nejvíce energie a podle toho se rozhodnul, kterou aplikaci bude uživatel jak využívat. Bylo zde přidáno i nové rozlišení obrazovky a vylepšena řada funkcí (například vyhledávání hlasem). (Ujbányai, 2012)
1.1.2. Android verze 2.x Ještě v roce 2009 vychází verze Android 2.0 – Eclair. Podporovala Bluetooth 2.1 a HTML5. Rovněž Android 2.0.1 a 2.1 je Eclair, který jenom odstraňoval menší chyby předchozí verze. (Ujbányai, 2012) V roce 2010 se na trhu objevil Android 2.2 – 2.2.3 – Froyo, u kterého bylo i vylepšeno rozlišení u čtyřpalcových displejů. Zde už můžeme instalovat aplikace nejen do zařízení, ale i na paměťové karty uvnitř telefonu. Tento systém původně podporoval před upgradem i LG Optimus Black P970, na kterém byly také testovány ukázkové aplikace. (Ujbányai, 2012) Android 2.3 – 2.3.2 – Gingerbread dochází k dalším opravám chyb a jemným úpravám systému (například Google Maps s 3D přístupem). Odlaďování a vylepšování Gingerbread stále pokračovalo, proto vnikly verze 2.3.3 – 2.3.7. (Ujbányai, 2012)
1.1.3. Android verze 3.x S tímto Androidem jsou spojeny hned tři verze. Zajímavostí je, že tento typ verzí byl určen pouze pro tablety. Android 3.0, pochází už z roku 2011 a ovládání je přizpůsobeno tabletu. Byly vylepšeny už i standardní aplikace jako jsou Gmail nebo YouTube. Android 3.1 umožňoval lepší hraní her díky možnosti propojení tabletu s pákovým ovladačem (joystickem). Android 3.2 – 3.2.7 – nabízely další vylepšení, hlavně softwarové opravy
13
chyb pro konkrétní zařízení. V dnešní době se ale taková zařízení na trhu ani neobjevují, protože byly nahrazeny novými, která již podporují novou verzi Androidu 4. (Ujbányai, 2012)
1.1.4. Android verze 4.x Jedná se zatím o nejnovější a nejpoužívanější verzi v této době, která se skládá také z několika kódových označení. Podporuje jak mobilní telefony, tak i tablety. Kromě toho jsou podporována i jiná zařízení (například chytré hodinky). Android 4.0 – 4.0.2 – Ice Cream Sandwich – zde se můžeme setkat s novými grafickými prvky. Došlo zde i k vylepšení starých věcí, například prohlížeče či kalendáře. Android 4.0.3 – 4.0.4 – jedná se o četné optimalizace a stabilitu systému. Android 4.1 – 4.1.2 – Jelly Bean pochází z roku 2012. Můžeme zde přidávat widgety bez root oprávnění. Android 4.2 – 4.2.2 – u tabletu je možnost mít více uživatelských účtů. Android 4.3 – 4.3.1 pochází z roku 2013, takže patří k nejnovějším. Jako předchozí verze i zde najdeme pár vylepšení a opravu softwarových chyb. Zatím poslední verzí je Android 4.4 – 4.4.4 - KitKat, který pochází rovněž z roku 2013.2 Jednotlivé Androidy se neliší jenom podle verze, ale také třeba podle lokace. Například telefon Arirang AS1201, ve kterém je nahrán Android 4.0 neobsahuje aplikace od společnosti Google, protože to není součástí místní legislativy, i když třeba samotný Gmail je standardně součástí již v prvních verzích tohoto systému. Jedná se totiž o verzi, která je používána v Severní Koreji.3
1.2. Budoucí vývoj platformy Android Předpovídat budoucnost v jakékoliv oblasti je velice těžké. V mobilní platformě, jako je Android, která se mění velice dynamicky každý rok, je to o to těžší. Proto lze jedině předpokládat, že budou vznikat stále nové verze, které přinesou další vylepšení a nové funkce. Stejně jako se dá předpokládat, že vznikne mnoho dalších zajímavých aplikací, které si jistě oblíbí spousta uživatelů. Dále lze předvídat, že si tento mobilní systém udrží pozici nejpoužívanějšího systému, i když se bude muset potýkat s konkurencí, ať už to bude iOS nebo třeba operační systém od společnosti Microsoft či někdo další. Kromě toho 2 3
http://en.wikipedia.org/wiki/Android_version_history http://gsminsider.com/2014/04/arirang-as1201-vs-uniscope-u1201-north-korea-smartphone/
14
bude určitě vznikat plno dalších zařízení, na která bude Android možno instalovat. Například na některé další pračky, neboť lze předpokládat, že se Android rozšíří i na další bílou elektroniku.
1.3. Operační systémy pro chytré telefony V těchto podkapitolách jsou uvedeny i další operační systémy, se kterými se lze setkat kromě Androidu. V dnešní dynamické době, kdy se trh neustále vyvíjí a rychle mění, tak lze říci, že zde máme už jen dva další velké hráče – iOS od společnosti Apple a Windows Phone, kterým se zabývá společnost Microsoft. Pro úplnost jsou zde uvedené i další operační systémy.
1.3.1. Operační systém iOS Dříve býval i tento operační systém nejpoužívanější na světě, než ho předstihl Android. Tento systém bývá podle mnohých uživatelů považován za nejpropracovanější, ale nutno podotknut, že to je vykoupeno vyšší cenou, která se musí vydat za pořízení toho amerického zařízení i se softwarem. Zajímavostí také je, že byl napsán původně v jazyce C a C++ a podle starých předpovědí měl být dnes jednoznačně nejpoužívanějším operačním systémem. Z toho je patrné, že odhadovat budoucnost v této oblasti je opravdu problematické.4
1.3.2. Operační systém Microsoft Phone Jak už název napovídá, jedná se o amerického výrobce softwaru od společnosti Microsoft. Ten dodává své produkty do telefonů Nokia i díky tomu, že tuto značku odkoupil od finského
vlastníka
a
nahradil
tak
i
operační
systém
Symbian,
který patřil
k nejpoužívanějším vůbec. V současné době patří Microsoft Phone pomyslná bronzová příčka mezi počty aktivních uživatelů na internetu. Jeden z důvodů proč se také hůře prodává, je i to, že počet podporovaných aplikací pro něj je znatelně méně než třeba u Androidu.4 Ale i tady se situace rychle mění. Microsoft se snaží nyní o velkou podporu i v aplikacích, které lze využit ve škole, jako třeba velké množství aplikací, které nebudou jenom pro chytré telefony. Mohou se využít i pro interaktivní tabule, což lze použít při výuce 4
https://en.wikipedia.org/wiki/Mobile_operating_system 15
nejrůznějších předmětů – kromě samotné informatiky například při výuce chemie či biologie. Zajímavé také je, že nové verze Windows 10 budou podporovat nejenom počítače, ale i chytré telefony a dá se předpokládat, že nahradí tedy dnes ještě používané Windows Phone.5 Zajímavé také je, že společnost Microsoft se angažovala v tvorbě softwaru pro majitele kapesních počítačů již ve formě operačního systému Windows CE. Tento byl dodáván například na zařízení PDA od firmy Hewlett-Packard na přelomu nového tisíciletí. Tyto kapesní počítače lze považovat jako předchůdce dnešních moderních chytrých mobilních zařízení. Již zde jsme se mohli setkat se softwarovou klávesnicí, která je v dnešní době používána jako standard skoro u všech mobilních telefonů. Hardwarové vybavení a výdrž baterie byla samozřejmě na nižší úrovni než dnes. (Kurec a Janeček, 2002)
1.3.3. Další operační systémy Mezi další operační systémy lze zařadit ty, které se donedávna používaly nebo se ještě zřídka používají, ale jejich význam v dnešní době není zásadní. Snad výjimkou v dnešní době je používání BlackBerry, ale i u této kanadské firmy se objevují informace, že se společnost buď zaměří na jiné oblasti trhu, než jsou operační systémy pro chytré telefony nebo bude společnost na prodej.5 Korejský výrobce Samsung se také snažil o tvorbu vlastního operačního systému Bada, který v korejštině mimochodem znamená oceán, ale i on nakonec skončil s vývojem a podporuje plně Android. Zde se ukazuje výhoda Androidu oproti konkurenci. Všechny operační systémy, které podporují jenom jednu značku konkrétního výrobce, se nedokážou v dnešní době trvale prosadit. Snad s výjimkou Applu, kterému se ale také spíše snižuje procentuální postavení na trhu, a to i díky kvalitě, kterou představuje Samsung nebo nízké ceně, kterou nabízí čínští výrobci v porovnání s konkurencí. U společnosti Samsung lze ještě zmínit, že se kromě operačního systému Bada v současné době vyvíjí Tizen, který má základ z Linuxu, ale zdá se, že se tato korejská firma poučila a Tizen nevyvíjí pro chytré mobily, ale hodinky Gear 2. To je změna od doby, kdy společnost prohlašovala, že se bude jednat jednoznačně o nový operační systém pro mobilní telefony.5
5
https://en.wikipedia.org/wiki/Mobile_operating_system 16
Za zmínku stojí ještě MeeGo, který vychází z Linuxu. Jeho vývojem se zabývala společnost Nokia, ale ta svůj vývoj u MeeGo ukončila. Důležitou roli zde sehrálo, že se tato značka snaží zaměřit především na podporu Microsoft Phone, který má být pro ni vlajkovou lodí, tedy do té doby, než ji nahradí Windows 10.6 Poslední operační systém pro chytré telefony, který je zde uveden je Firefox OS, který také jako MeeGo vychází z Linuxu. Stejně jako u prohlížeče se zabývá vývojem společnost Mozilla. Jeho předností má být především nenáročnost a možnost fungovat na telefonech s méně výkonným hardwarem. Rozhodujícím faktorem bude hlavně nižší cena a trh, kde se má prosadit (Asie). Zajímavý je určitě i projekt mezi LG a Mozillou v oblasti chytrých hodinek.6
6
https://en.wikipedia.org/wiki/Mobile_operating_system 17
2. Popis vývojového prostředí a specifikace systému V této druhé kapitole se nalézají informace, které popisují vývojové prostředí pro Android. Jedná se o mobilní telefony, tablety a chytré hodinky SmartWatch 2 od společnosti Sony, které se poslední dobou stávají na poli chytrých zařízení stále více populární. Tato japonská společnost se vůbec chytrými hodinkami zabývá již řadu let a je považována za průkopníka v této oblasti chytrých technologií. Všechny tyto zařízení jsou vyvíjeny v prostředí Eclipse, kde se můžeme také setkat s vývojem pro Google Glass. Dále zde je popsáno vývojové prostředí App Inventor, které je podporováno společností Google a v současné době je ve verzi 2. Jedná se o prostředí, které je určeno pro tvorbu aplikací pro mobilní telefony a tablety. Jedná se o cloudové řešení, které je zajímavou alternativou pro vývoj aplikací v Androidu pro klasické programátorské prostředí (například již zmiňovaný Eclipse).
2.1. Vývojové prostředí Eclipse Základním vývojovým prostředím pro telefony a tablety je Eclipse, který je určen nejen pro programovací jazyk Java, ale třeba i PHP, HTML či C++. Využívají se zde nejrůznější doplňky, které rozšiřuji možnosti tohoto vývojového prostředí. Samotný Eclipse je celý v anglické lokaci a instalace probíhá jako u běžných programů a není tedy zapotřebí ji podrobně popisovat. Celé prostředí je dostupné jak pro verzi s operačním systémem Linux, tak i pro verzi s Windows. Tato práce byla ale tvořena ve Windows 7, takže veškeré další postupy jsou spojeny s tímto operačním systémem.7 Po samotné instalaci Eclipse je třeba si nainstalovat balíček JDK, protože pro vývoj budeme potřebovat využít programovací jazyk Java a ten je při tvorbě aplikací pro mobilní systémy nezbytný. Tato sada je rovněž dostupná pro operační systémy Windows i Linux. Instalace této sady nástrojů probíhá klasicky bez nějakých speciálních nastavení a není zapotřebí dále specifikovat. Nyní se nachází ve verzi 8. Pro úplnost je dobré dodat, že JDK lze stáhnout z webových stránek společnosti Oracle. (Grant, 2013)
7
https://en.wikipedia.org/wiki/Eclipse_%28software%29 18
Dalším nezbytným krokem je nainstalovat si Android SDK, který je nezbytný pro komunikaci s nástrojem Eclipse. Vše se využije při vytváření grafických prvků, úpravy zobrazení či komponentů pro jednotlivé verze mobilního systému. Nachází se zde i nástroje pro samotné testování aplikací. Samotné SDK můžeme v aktuální verzi stáhnout z oficiálních webových stránek pro vývojáře Androidu. (Grant, 2013) Aby šlo využít Eclipse pro vývoj mobilních zařízení, musí se použít doplněk (plugin) ADT. Jedná se o poslední krok nezbytný pro instalaci všech potřebných nástrojů a provádí se po samotném spuštění Eclipse. Přes nabídku Help se navolí Install New Software a přidá se nový doplněk z adresy http://dl-ssl.google.com/android/eclipse. (Grant, 2013) Po úspěšném nainstalování tohoto doplňku je zapotřební ještě zadat cestu, kam byl Android SDK nainstalován. Toho se docílí za pomocí hlavní nabídky Windows a dále Preferences. Za pomocí tlačítka Browse vyhledáme adresář, kam byla nainstalována sada SDK pro Android. Nyní by vše základní pro programování aplikací v prostředí Android mělo být nainstalováno. Samotný poustup, jak ještě nakonfigurovat emulátor, je popsán v kapitole pro otestování aplikace. Důvodem proč bylo zvoleno pro programování ukázkových aplikací zrovna toho prostředí lze shrnout do následujících bodů:
Jedná se o vývojové prostředí, které je oficiálně podporováno Androidem. Některá zařízení v době psaní této diplomové práce nebyla jinými zařízeními ani podporována. Je tím především myšleno SmartWatch 2 nebo Google Glass.
Podpora je zde pro operační systém Windows, Linux i Mac a to jak pro 32 bitové verze tak 64 bitové.8
Posledním bodem, proč byl vybrán Eclipse, je i vlastní zkušenost s programováním v tomto vývojovém prostředí pro Javu (s programy spustitelné běžně ve Windows).
Nyní by vše mělo být již připraveno pro vlastní programování aplikací určených pro mobilní telefony a tablety. Samotné programování aplikací zde probíhá v editoru. Obdobně jako například u programování programů pro počítače nebo internetové prostředí.
8
https://en.wikipedia.org/wiki/Eclipse_%28software%29 19
2.2. Vývojové prostředí Eclipse pro další zařízení Nespornou výhodou Eclipse je, že kromě klasických mobilních zařízení, jako jsou tablety a telefony, lze programovat i pro chytré hodinky nebo Google Glass. Základní informace pro tyto doplňky k mobilním telefonům jsou shrnuty v následujících podkapitolách.
2.2.1. Chytré hodinky V této kapitole jsou napsány základní doporučené postupy pro tvorbu aplikací pro chytré hodinky. Než budou vytvářeny aplikace pro chytré hodinky, je dobré říci, jak vůbec tyto chytré hodinky od společnosti Sony fungují. První co se musí udělat, je spárování hodinek s chytrým telefonem nebo tabletem. Docílíme toho za pomocí použití bezdrátové technologie NFC nebo Bluetooth. K tomu, aby hodinky mohly fungovat za pomocí bezdrátové technologie, je nutné mít nainstalovaný v telefonu aplikaci Smart Connect, kterou nalezneme na Google Play. Pro majitele telefonu Sony instalace této aplikace odpadá, protože je součástí přeinstalovaného softwaru na tomto zařízení. Dále musíme do této aplikace nainstalovat další, která se jmenuje SmartWatch 2. Smart Connect totiž není určena jenom pro chytré hodinky, ale třeba i pro sluchátka nebo nabíječku od Sony. Nyní by mělo dojít ke spárování telefonu a hodinek a již není problém nainstalovat aplikace, které uznáme za vhodné. Pro tvorbu aplikací pro SmartWatch 2 je zapotřebí kromě klasického Android SDK si nainstalovat i doplněk SDK přímo od Sony. Po naistalování potřebného doplňku lze vytvářet aplikace přímo ve vývojovém prostředí Eclipse. Stačí v základní nabídce zadat File dále New a Other a můžeme navolit nový projekt s prostředím pro chytré hodinky. U chytrých hodinek je dobré dbát při vývoji aplikací na dodržování těchto základních pravidel, jejichž doporučení dala společnost Sony:9
Nesmí se posílat příliš mnoho dat do hodinek SmartWatch 2, protože se musí vzít v úvahu spotřeba energie a také to, že hodinky mají jenom jednojádrový procesor s taktovací frekvencí 200 MHz. Například pokud aplikace velice často mění obrazovku, není to pro hodinky dobré.
9
http://developer.sonymobile.com/knowledge-base/tutorials/android_tutorial/how-to-create-an-appextension-for-sony-smartwatch-2/ 20
Hodinky podporují rozlišení 220 x 176 pixelů, není tedy žádoucí používat vyšší rozlišení. Dále je důležité mít na paměti, že hodinky SmartWatch 2 mají jiné rozlišení než SmartWatch i když výrobce je stejný. I zde se objeví problém, pokud budeme chtít aplikaci určenou pro první generaci spustit v hodinkách druhé generace.
Hotové a vyzkoušené aplikace lze vkládat do Google Play. Díky tomu se aplikace snáze rozšíří a můžeme dostat i zpětnou odezvu od uživatelů ohledně funkčnosti a spokojenosti s daným produktem.
Dobré je také vědět, že maximální dobu vibrování u hodinek lze nastavit pro aplikaci na 6 sekund. Poté je vibrování zastaveno z důvodu šetření baterie.8
Jak testovat vytvořené aplikace v emulátoru je uvedeno pro programy určené pro tablet nebo mobilní telefon v kapitole 4, což je hlavní náplní práce, zatímco ostatní chytrá zařízení jsou zde uvedena pro úplnost. Z tohoto důvodu jsou veškeré informace o chytrých hodinkách (včetně možnosti emulování) uvedeny zde. Pokud budeme chtít otestovat aplikaci v emulátoru, musíme si stáhnout z Google Play emulátor accessory_emulator.APK do tabletu nebo mobilního telefonu. Dále připojíme pomocí kabelu USB zařízení s osobním počítačem. Nyní lze spustit v Eclipse za pomocí tlačítka Run emulátor, který nám v mobilním zařízení ukáže simulaci aplikace v chytrých hodinkách.10 U chytrých hodinek, stejně jako u jiných aplikací, lze využít možnost veřejného sdílení za pomocí Google Play. Spustitelné aplikace mají stejnou příponu APK jako každá jiná Android aplikace. 10
2.2.2. Google Glass S dalším zajímavým doplňkem pro mobilní telefon, s kterým se můžeme v prostředí Eclipse při programování setkat, je Google Glass (často nazýváno v překladu něco jako chytré brýle). Eclipse je oficiálně první vývojové prostředí, kde lze programovat aplikace
10
http://developer.sonymobile.com/knowledge-base/tutorials/android_tutorial/how-to-create-an-appextension-for-sony-smartwatch-2/ 21
pro toto zařízení. K tomu, abychom mohli pro tyto brýle programovat je zapotřebí mít nainstalován v počítači Glass Development Kit.11 Dále je zapotřebí do Eclipse při stahování doplňku SDK zadat možnost, že chceme vyvíjet aplikace pro Google Glass. Tyto brýle lze programovat pro zařízení, která podporují API 15, což je označení pro operační systém Android 4.0.3.11 Z technických parametrů lze jmenovat rozlišení, které je u těchto chytrých brýlí podporováno 640 x 360 pixelů, což je nižší než u dnešních mobilních telefonů či tabletů. Proto i zde není vyžadováno, aby aplikace podporovaly vyšší rozlišení. Operační paměť, která je obsažena v Google Glass je 682 MB, což také na dnešní dobu není zrovna vysoká hodnota
11
2.3. Vývojové prostředí App Inventor Druhým vývojovým prostředím, které je popisované v této diplomové práci je App Inventor. Tento nástroj, který je podporován společností Google je poměrně nový na rozdíl třeba od výše zmíněné alternativy prostředí Eclipse. Jeho první verze byla spuštěna až koncem roku 2010. Od té doby byla vytvořena nová verze 2, která je z roku 2013, a ve které jsou tvořeny i samotné ukázkové aplikace. Jednotlivé verze se od sebe liší hlavně uspořádáním jednotlivých komponent a barvou, která byla pro ně určena a slouží pro lepší orientaci v samotném prostředí. V roce 2015 obsahoval App Inventor téměř 3 milióny uživatelů ze 195 zemí světa s více jak 100tisíci aktivními uživateli týdně a s více jak 7 milióny vytvořenými aplikacemi. Z těchto čísel je vidět, že toto vývojové prostředí se stává velice zajímavou alternativou vývoje do budoucna.12 Jelikož celé vývojové prostředí se nachází v cloudu, odpadají nám starosti s instalací samotného prostředí. Na druhou stranu potřebujeme připojení na internet, které nám zprostředkuje samotné spojení s cloudovým uložištěm. Jak již bylo zmíněno výše, vše je podporované společností Google, takže po připojení na stránky App Inventor, musíme zadat svůj google účet nebo si ho vytvořit. Poté se již můžeme přihlásit do App Inventor verze 2 a formálně odškrtnout, že souhlasíme s podmínkami užití tohoto účtu k vlastní tvorbě aplikací. Zde jsme nejprve požádání o vyplnění krátkého dotazníku pro vývojáře. Jedná se o dobrovolné a anonymní vyplnění základních informací, ale je to celkem 11 12
https://cs.wikipedia.org/wiki/Google_Glass http://appinventor.mit.edu/explore/about-us.html 22
užitečná věc, protože to může posloužit jako zpětná vazba při vytváření další verze tohoto unikátního vývojového prostředí pro uživatele. Kromě vlastního Google účtu a potvrzení podmínek užívání vývojového nástroje, nejsou zde kladeny další podmínky a vše můžeme využít zdarma. App Inventor je multiplatformní, což v praxi znamená, že je podporován jak Mac OS X (10.5 a vyšší), tak několika verzemi Linuxu. Samozřejmě je zde podpora i s operačním systémem Windows XP a novější. Vytvářené aplikace byly v prostředí Windows 7. Pro vývoj můžeme využít i několik prohlížečů, mezi ně se řadí Apple Safari verze 5.0 a vyšší, Mozilla Firefox verze 3.6 a vyšší (v tomto prohlížeči byly vyvíjeny i samotné aplikace). A posledním podporovaným prohlížečem je samozřejmě Google Chrome verze 4.0 a vyšší. Naopak není vůbec podporován internetový prohlížeč Internet Explorer.13 Celé prostředí je podporováno jazykovými mutacemi v deseti jazycích. Kromě angličtiny si můžeme navolit například francouzštinu, ruštinu nebo španělštinu. Čeština zde pochopitelně chybí. Při tvorbě samotných aplikací byla využita anglická verze tohoto vývojového systému. Po přihlášení do prostředí se v levé horní části nachází čtyři nabídky. Tykají se projektu, připojení, vlastního překladu aplikace a nápovědy. Projekty můžeme vytvářet, importovat nebo exportovat a samozřejmě také ukládat. Pokud si tedy chceme projekt uložit do počítače jako zálohu, tak ho exportujeme a vytvoří se nám s příponou AIA. Potom můžeme daný projekt nahrát zpět do prostředí nebo poskytnout dalším vývojářům pro inspiraci či vylepšení. Všechny možnosti, které lze ve vývojovém prostředí využít jsou zobrazeny v ukázce na následujícím obrázku.
13
http://appinventor.mit.edu/explore/ai2/setup.html 23
Obrázek 2: Vývojové prostředí App Inventor se základní nabídkou projektu (Zdroj: vlastní)
Nabídka připojení je určena především k emulaci zařízení a jeho testování a více informací je uvedeno v kapitole čtyři, kde se testují vytvořené aplikace. Další nabídka se týká vlastního překladu nebo uložení vytvořeného projektu. Poslední nabídkou je nápověda, jejíž součástí je i fórum, kde můžeme zadat dotazy a diskutovat s ostatními vývojáři o problémech, které se týkají vytváření nejrůznějších aplikací. Nachází se zde i propracované tutoriály, které nás navedou na nejrůznější informace, které můžeme využít při práci s tímto vývojovým prostředím. Samotný App Inventor bychom mohli rozdělit na dvě části, a to na návrhovou a na bloky. V návrhové části prostředí se zabýváme, jak bude aplikace fungovat. Je velice podobná návrhu v prostředí Eclipse. Nalezneme zde velké množství různých uživatelských nástrojů, které v Eclipse nazýváme widgety. Jedná se tedy například o tlačítka, přepínače, popisky, textová pole a další. Upravujeme zde i vlastní vzhled uživatelských nástrojů (například velikost nebo barvu). (Wolber et al., 2014) Druhá část, která se zabývá blokovým programováním, se skládá z jednotlivých bloků, které nám nahrazují psaní zdrojového kódu, a tedy problémy vznikající s neznalostí syntaxe jazyka. Bloky, které na sebe navazují, se dají různě skládat do sebe a vše 24
připomíná známou skládačku zvanou puzzle. Jednotlivé bloky jsou od sebe rozlišeny i barevně podle funkčnosti jejích použití. Nachází se zde například bloky logické, textové, bloky, které pracují s barvami, proměnnými či matematické, které jsou zobrazeny i na následujícím obrázku.
Obrázek 3: Vývojové prostředí App Inventor s bloky matematických funkcí (Zdroj: vlastní)
Na předchozím obrázku jsou vidět základní matematické funkce, které lze využít. Konkrétně porovnání, sčítání, odčítání, násobení, a umocňování. Mají modrý podklad barvy, abychom hned viděli, o jaký typ bloku se jedná. Samotná práce s bloky je vysvětlena na ukázkových aplikacích, které byly vytvořeny v tomto prostředí. V další kapitole je uvedeno porovnání vývojových prostředí, kde byly samotné aplikace vytvářeny.
2.4. Výhody a nevýhody obou vývojových prostředí V této kapitole jsou shrnuty výhody a nevýhody vývojových prostředí Eclipse a APP Inventor pro tvorbu aplikací pro mobilní operační systém Android. Výhody vývojového prostředí Eclipse lze shrnout do následujících bodů: Jedná se o vývojové prostředí, které je zdarma. Kromě programování v jazyce Java, je zde možnost využít další programovací jazyky. To znamená jak pro web (HTML, PHP), tak třeba i pro vývoj aplikací pro stolní počítače v jazyce C++. 25
Kromě aplikací pro mobilní telefony a tablety jsou podporována i další zařízení, která využívají mobilní operační systém Android. Mezi ně se řadí chytré hodinky SmartWatch 2 od Sony nebo chytré brýle Google Glass. Pokud máme vše nastaveno, nepotřebujeme připojení na internet a lze tedy programovat i v off-line režimu. Lze si všechno osobně naprogramovat, včetně toho jaké velikosti displeje budou používány. Do prostředí lze nainstalovat emulátor, který můžeme upravit podle našich požadavků. Od velikosti displeje, přes verzi Androidu, až po hardwarové požadavky mobilního zařízení jako je velikost operační paměti. Kromě výhod má toto vývojové prostředí i své nevýhody: Základní nevýhodou je, že musíme mít poměrně velkou znalost syntaxe jazyka a je zde předpoklad znalosti programování v Javě. Poměrně časově náročná instalace prostředí, včetně nejrůznějších doplňků. Vývojové prostředí je poměrně pomalé při spuštění i při využití emulátoru mobilního zařízení. Není zde česká lokalizace prostředí (i když dnes většina vývojářů nemá problémy s používáním odborné angličtiny). Nutnost ručně instalovat do systému nové verze prostředí a dalších doplňků, které jsou nezbytné pro vývoj aplikací. Občas se stane, že po nainstalování nové verze nefunguje vše korektně a musíme počkat na vydání další verze, která dané chyby odstraní. Také vývojové prostředí App Inventor má své výhody, které lze shrnout do následujících bodů: I toto vývojové prostředí je zdarma a nemusíme se starat o licenci a finanční náklady. Nachází se zde více možností jak zařízení emulovat. 26
Nemusíme se starat o instalaci, konfiguraci a stahování nové verze vývojového prostředí. Vystačíme si s prohlížečem, případně s externím emulátorem. Samotný vývoj aplikací lze provádět bez znalostí syntaxe nějakého konkrétního programovacího jazyka, i když určitě je to výhoda, pokud máme znalost programování. Vlastní blokové programování je sice děláno poměrně jednoduše a dá se říci hravou formou, ale nějaké logické uvažování je zde potřeba. Kromě angličtiny podporuje vývojové prostředí další jazyky (například portugalština či italština). Poměrná rychlost emulátoru, který i sám reaguje na změny ve vytvářené aplikaci, beztoho, abychom aplikaci nějak složitě překládali. Nutno dodat, že ne ale vždy vše jde korektně a někdy musíme zařízení sami restartovat. Taky App Inventor má své nevýhody, mezi které řadíme: Základní nevýhodou je, že potřebuje přístup k internetu a bez tohoto připojení nemůžeme pracovat. Jsou pro vlastní spuštění vývojového prostředí v zásadě podporovány pouze tři základní prohlížeče (Google Chrome, Mizilla Firefox a Apple Safari). Nelze detailně konfigurovat emulátor mobilního zařízení (systémové a hardwarové požadavky). Není zde podpora dalších chytrých zařízení (kromě mobilů a tabletů). Podporuje sice deset cizích jazyků, ale ne češtinu. Nemůžeme sami určit, jakou verzi systému Android budeme podporovat. Nenajdeme zde další doplňky, které by například umožňovaly vývoj aplikací pro operační systém Windows. Při psaní dlouhého bloku se tvorba aplikace stává nepřehlednou z důvodu, že nejde nastavit šířku či výšku zobrazovaného bloku. Například při vlastní tvorbě aplikace na výpočet determinantu matice 3 x 3 je celá aplikace navržena do šířky přes
27
několik délek obrazovek a při psaní výpočtu je potom celkem složité se v celém matematickém bloku zorientovat. Jak je vidět z popisu této kapitoly, obě vývojová prostředí mají své výhody a nevýhody. Vždy záleží především na tom, co každému konkrétnímu vývojáři vyhovuje. Zda je to například zkušený programátor nebo naopak člověk, který nemá velké zkušenosti s programováním a chtěl by se rychle dostat do vlastního vytváření aplikací bez zbytečně složitého nastavování vývojového prostředí a učení se syntaxe jazyka. Celé prostředí App Inventor bylo zde popisováno podrobněji než Eclipse, protože vývoj v tomto prostředí je více specifický a nepodobá se žádnému běžnému vývojovému prostředí. Jinak seznámení s App Inventor je velice zajímavé a rychlé a rovněž velice originální. V další kapitole se nachází konkrétní vývoj aplikací v prostředí Eclipse a App Inventor. Vše vychází z toho, že již máme připravená obě vývojová prostředí na vytvoření nového projektu.
28
3. Tvorba ukázkové aplikace pro systém Android V kapitoole 3 je popsáno jak tvořit aplikaci pro mobily a tablety na jednotlivých konkrétních ukázkových příkladech. Vše je dokumentováno na rozdílech při tvorbě aplikací v prostředí Eclipse za pomocí „klasického programování“ a blokového programování (vkládání blokových objektů) v App Invetor. Nalezneme zde ukázkové aplikace – konkrétně programy na výpočet ceny s DPH, indexu BMI a v APP Inventor, navíc ještě determinantu matice 2 x 2 a 3 x 3.
3.1. Základní informace k aplikacím 3.1.1. Aplikace na výpočet ceny s DPH Než se začne popisovat vlastní tvorba aplikace je zmíněno, k čemu aplikace vlastně slouží. První z nich je program na výpočet ceny s DPH, který byl naprogramován jak ve vývojovém prostředí Eclipse, tak v App Inventor. Tato aplikace tedy má za úkol zjistit cenu zboží po zadání částky bez daně z přidané hodnoty. V naší zemi v současné době máme tři sazby daně. První z nich je takzvaná základní sazba, která činí 21 % z ceny zboží. Další z nich jsou dvě snížené sazby, které činí 15 % a 10 %. Česká republika je vůbec jedna z mála zemí, která má dvě snížené sazby.14 Vytvořená aplikace umí počítat se všemi variantami, které u ceny mohou nastat, a uživatel si sám vybere, který druh daně z přidané hodnoty potřebuje. Cenu uživatel zadá v celých korunách. Samotná aplikace pak případně provede zaokrouhlení ceny na celé koruny, pokud po zadání ceny nepůjde vypočítat bez haléřového vyrovnání. V App Inventor byla tato aplikace rozšířena o další funkce. Jedná se především o funkci, která umožňuje využití vibrace telefonu po zadání částky. Dále pak zvukové upozornění při provedení výpočtu nebo reakce senzoru při pohybu telefonu u zapnuté aplikace. Tyto funkce byly do aplikace přidány pro lepší názornost, co všechno lze v tomto prostředí vytvářet.
3.1.2. Aplikace na výpočet indexu BMI
14
https://cs.wikipedia.org/wiki/Da%C5%88_z_p%C5%99idan%C3%A9_hodnoty 29
Druhou aplikací, která byla rovněž vytvořená v prostředí Eclipse a APP Inventor je výpočet takzvaného BMI indexu. Ten nám slouží pro informaci, zda daný člověk má ideální váhu či ne. V dnešní době se řešení ideální váhy stává fenoménem. Na internetu lze najít bezpočet článků, které řeší anorexii nebo naopak informují o obezitě a neblahých dopadech na lidské zdraví, spojené s tímto problémem. Proto je dobré jako základní vodítko pro zjištění naší váhy použít vzorec pro výpočet BMI převzatý z Wikipedie.15 Vzorec: BMI = hmotnost / (výška x výška) Vytvořená aplikace od uživatele požaduje hmotnost a výšku a na základě těchto dvou údajů poté sdělí jeho hodnotu BMI indexu. Společně s ní uživatele informuje, zda se jedná o těžkou podvýživu, podváhu, ideální váhu, nadváhu, mírnou, střední nebo morbidní obezitu.
3.1.3. Aplikace na výpočet determinantu matice Poslední aplikací, která byla vytvořena pouze v prostředí App Ineventor je determinant matice 2 x 2 a 3 x 3, a to z důvodu na názornou ukázku, jak se dají použít matematické komponenty a jejich výhody či nevýhody oproti klasickému programování. Samotný determinant matice se používá v lineární algebře u čtvercové matice. Vzorec, který byl přebrán z Wikipedie je pro výpočet matice 2 x 2 následující:16 Vzorec: det A = a x d – b x c Samotná matice vypadá následovně:
A Musíme tedy do dané aplikace zadat 4 čísla, aby se provedl výpočet podle nadefinovaného vzorce. Obdobný postup bude použit u matice, která má velikost 3 x 3 s tím rozdílem, že do ní se dosadí hned 9 prvků potřebných pro určení determinantu. Vzorec pro tuto matici přebraný z Wikipedie vypadá následovně: 16
15 16
https://cs.wikipedia.org/wiki/Index_t%C4%9Blesn%C3%A9_hmotnosti https://cs.wikipedia.org/wiki/Determinant 30
Vzorec: det A = (a11 x a22 x a33 + a13 x a21 x a32 + a12 x a23 x a31) – (a13 x a22 x a31 + a11 x a23 x a32 + a12 a21 a33) Samotná matice vypadá následovně:17
A
3.2. Vlastní tvorba aplikace v Eclipse na výpočet ceny s DPH Pokud je již nastaveno vývojové prostředí v Eclipse, nic už nebrání pro vlastní tvorbu Android aplikace. V této podkapitole se nachází informace, jak byla obě aplikace v Eclipse naprogramována.
3.2.1. Založení nového projektu První ze dvou aplikací, která byla naprogramována v tomto prostředí, je výpočet ceny s DPH. Abychom mohli začít, musíme nejprve založit nový projekt. V nabídce File tedy zadáme New a pak Application Project a nyní se nám zobrazí okno jako je na obrázku za tímto textem. Zadáme základní údaje: název aplikace, jméno projektu a jméno balíčku, který budeme chtít vytvořit. Dále zadáme, minimální, cílenou a maximální verzi operačního systému Android, kterou bude aplikace podporovat. Pro účely tohoto projektu byla vybrána minimální verze 2.2 Froyo, doporučená 4.0 IceCreamSandwiche a maximálně podporovaná 4.4 KitKat.
17
https://cs.wikipedia.org/wiki/Determinant 31
Obrázek 4: Průvodce při vytváření nového projektu (Zdroj: vlastní)
Po zadání všech údajů se necháme provést průvodcem dál. V další části nás čeká zadání cesty, kam nově vzniklý projekt chceme uložit, jakou ikonu bude mít naše aplikace a základní nastavení vzhledu. Poté již celý průvodce dokončíme zadáním tlačítka Finish.
3.2.2. Manifest Po vytvoření vlastního projektu je nejprve dobré si zkontrolovat informace v XML souboru, který se jmenuje AndroidManifest. Nachází se zde informace o tom, jak vzájemně jsou propojeny komponenty. Nalezneme ho ve složce res nově vytvořeného projektu. Minifest lze upravovat i v grafickém režimu, pokud nechceme pracovat přímo s XML dokumentem. Dále se zde nachází informace o verzi Androidu, která bude aplikací podporována. Nadefinována byla již při vniku projektu, ale tady lze případně změnit. Informace je uložena ve formě čísla, která udává API Level, který nám určuje, o jakou verzi mobilního systému se jedná. Pro tvorbu aplikace byla vybrána nejpoužívanější verze systému Android. Jak takový základní XML dokument s elementy a atributy vypadá je vidět v následující ukázce výpisu XML dokumentu 1.
32
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.bmi" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="14" /> android:maxSdkVersion="19"
Výpis XML dokumentu 1: AndroidManifest (Zdroj: vlastní)
3.2.3. Návrh aplikace Nejprve než dojde k samotnému programování je zapotřebí si navrhnout aplikaci. K tomu je určen takzvaný layout, který se nachází ve složce res. Zde máme možnost navrhnout, jak bude samotná aplikace fyzicky vypadat. Můžeme pracovat jak v textovém režimu, tak grafickém. Nejprve tedy přistoupíme do grafického režimu, kde můžeme navolit velké množství tlačítek s různými vlastnostmi, které se nachází na paletě, která je součástí grafického režimu. Než budeme vkládat jednotlivé widgety (prvky, které jsou součástí grafické aplikace), tak je zapotřebí si navolit jakým systémem zde budou vkládány a zobrazovány. Pro samotnou aplikaci bylo navoleno LynearLayout – vertical z důvodu lepšího vzhledu samotné aplikace. 33
Poté již lze navrhnout samotné widgety, které budou potřeba pro samotnou aplikaci. První z nich je popisek, který byl použit třikrát. Jednou pro napsání informace, kam vkládat částku pro výpočet ceny a podruhé pro samotný výsledek výpočtu, potřetí pro napsání informace o výpočtu. U všech třech popisků je zapotřebí nadefinovat šířku a výšku textu a obsah textu, který se v nich bude zobrazovat. Důležitou vlastností je také takzvané id, na které se budeme odkazovat při vlastním programování. Proto je důležité dávat takové názvy id, aby bylo jasné, k čemu jsou určeny. Dalším widgetem je textové pole, do kterého se bude vkládat samotná částka bez DPH. Proto kromě vlastní šířky, výšky nebo id je zde nastavena možnost, že do textového pole lze vkládat pouze čísla. Tím nám odpadá nechtěné zadání nečíselné hodnoty. V praxi je to ošetřeno tak, že při spuštění programu uživateli je nabídnuta pouze numerická softwarová klávesnice. Dalším důležitým widgetem je samotné tlačítko, po jehož spuštění se provede výpočet a vypsání výsledku na displej. I zde musíme nastavit základní parametry jako šířka, výška, id či textový popisek tlačítka. Kromě toho je zde nastavena metoda onClick, která jak název napovídá, určuje, co se stane s tlačítkem po kliknutí. V této aplikaci je v něm přiřazena metoda na vlastní výpočet ceny s DPH. Posledním widgetem, který byl navrhnut v této aplikaci je přepínač, který má za úkol nás nechat vybrat, zda budeme chtít vypočítat cenu s DPH v základní sazbě nebo využijeme jednu ze dvou snížených sazeb. I zde nastavujeme povinné údaje jako je třeba id a navíc zde máme k nastavení parametr, který určuje, který z přepínačů je navolený při spuštění samotné aplikace. V našem případě to je základní sazba, která se používá nejčastěji. V metodě checket tedy nalezneme hodnotu true. Po vytvoření widgetů se můžeme z grafického režimu přepnout do textového a zobrazí se nám následující výpis dokumentu 2.
tools:ignore="MergeRootFrame" >
<EditText android:id="@+id/ZadCenaText" android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10" android:inputType="number" > <requestFocus /> <Button android:id="@+id/VypDPH" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="VypDPH" android:text="Vypočítej cenu s DPH" />
android:checked="true" android:text="DPH 21 %" /> Výpis XML dokument 2: Rozložení aplikace na výpočet ceny s DPH (Zdroj: vlastní)
3.2.4. Vlastní naprogramování aplikace Po návrhu aplikace lze začít programovat samotnou aplikaci. Základem pro vývoj je programovací jazyk Java. Proto celý kód byl naprogramován v tomto jazyce v souboru s názvem MainActivity.java, který nalezneme v adresáři src ve vývojovém prostředí Eclipse. V tomto souboru byla naprogramována celá aplikace. Celý program se skládá z importů, dále z naprogramováných widgetů, předefinovaných metod a tvorby vlastních metod. Při programování jednotlivých předefinovaných metod nás sám editor v Eclipse upozorní, že nemáme danou metodu ještě importovanou a nabídne nám ji k vložení. Což je velice pohodlné, pokud neznáme zpaměti veškeré importované funkce. Při programování aplikace byly využity následující importy: import import import import import import import import import import
android.app.Activity; android.app.Activity; android.graphics.Color; android.os.Bundle; android.view.View; android.widget.EditText; android.widget.RadioButton; android.widget.TextView; android.widget.Toast; com.example.dph.R;
Pro lepší přehlednost byly jednotlivé sazby daně naprogramované jako vlastní metody:
36
Obrázek 5: Vlastní metody pro výpočet ceny s DPH (Zdroj: vlastní)
Jak je z obrázku vidět, metoda má vždy jeden parametr, kterým je reálné číslo. Program vezme částku od uživatele a pak vypočítá její cenu s DPH podle sazby. Celá cena je poté pomocí importované matematické funkce round zaokrouhlena na celá čísla. S tímto se můžeme setkat i v reálném životě u haléřového vyrovnání. Další vlastní metoda, která byla naprogramována, souvisí již s vypsáním vlastního výsledku, u kterého byla naprogramována změna barvy na zelenou pro lepší zobrazení. Součástí metody je i zobrazení dočasné hlášky o tom, že se daně musí platit. Ukázka kódu je zde:
Obrázek 6: Vlastní metoda pro výpis výsledku (Zdroj: vlastní)
Poslední ukázkou kódu je, jak vypadají naprogramované přepínače společně s textovým polem a začlenění vlastních metod na výpočet cen s DPH do aplikace.
37
Obrázek 7: Přepínače určené pro výpočet jednotlivých cen s DPH (Zdroj: vlastní)
Nyní po naprogramování aplikace na výpočet ceny s DPH přijde na řadu testování v emulátoru a po exportování i v reálném mobilním zařízení. Všechny informace ohledně testování se nachází v kapitole 4.
3.3. Vlastní tvorba aplikace v Eclipse na výpočet indexu BMI Další aplikace, která byla vytvářena v prostředí Eclipse, je výpočet indexu BMI. Založení projektu probíhá stejně jako u výpočtu ceny s DPH, proto není již zde zmiňováno. To platí i pro XML soubor Manifest. Kromě vytváření projektů lze ale i projekty importovat. To se dá využít, pokud máme již předem vytvořen nějaký projekt, který ještě nemáme zanesen do prostředí Eclipse. Pro vlastní přidání existujícího projektu zadáme nabídku File a dále Import. Poté je zapotřebí zadat cestu, kde se daný projekt nachází, aby mohl být přidán.
3.3.1. Návrh aplikace Po vytvoření nového projektu lze navrhnout vlastní aplikaci na výpočet BMI indexu. Proto v novém projektu přejdeme do složky res a dále do složky layout a přepneme se do grafického režimu. Než začneme vytvářet jednotlivé widgety, tak si upravíme základní rozložení na LynearLayout – vertical. Poté lze začít s úpravou jednotlivých widgetů. 38
I zde bude zapotřebí vložit několik popisků, pro zobrazení textu, jako u předchozí aplikace. První dva z nich jsou informace, kam se má zadat výška a šířka pro samotný výpočet BMI indexu. Poslední z nich je vyčleněn pro zobrazení výsledku samotného výpočtu spolu s informací o tělesném stavu. V elementu
jsou kromě textu vyplněny i údaje o výšce, šířce a id samotného popisku. Pro tvorbu samotné aplikace bude zapotřebí zadat na rozdíl od výpočtu ceny s DPH dva vstupní údaje. Proto je widget textového pole zde zadán dvakrát. Jednou pro údaje o hmotnosti a druhý o výšce. Jelikož se jedná u obou zadaných údajů o čísla, je zde nastaven parametr number, který nám nedovolí na softwarové klávesnici zadat nic jiného než čísla, čím je ošetřeno nechtěné zadání nenumerického znaku. Samozřejmě se zde musí zadat jako u jiných widgetů jeho výška, šířka či jeho id, které je pro lepší přehlednout pojmenováno HM (hmotnost) a V (výška). Posledním widgetem, který zde byl zadán je tlačítko (button), které slouží k samotnému spuštění aplikace a provedení výpočtu BMI indexu. Kromě nastavení klasických rozměrů tlačítka a jeho id je zde uvedena metoda, která nám říká, co se stane po stisknutí tlačítka (dojde k samotnému výpočtu). Poslední, co se u tohoto elementu nastavuje, je vlastní text samotného tlačítka, který se zobrazuje po spuštění v samotné aplikaci. Stejně jako u aplikace pro výpočet ceny s DPH i zde můžeme přepínat v návrhovém zobrazení mezi grafickým a textovým režimem. Po nastavení všech widgetů se nám zobrazí následující výpis XML dokumentu 3:
39
<EditText android:id="@+id/HM" android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10" android:inputType="number" > <requestFocus /> <EditText android:id="@+id/V" android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10" android:inputType="number" /> <Button android:id="@+id/tlacitko" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="Zobrazeni" android:text="Vypočet BMI" /> Výpis XML dokument 3: Rozložení aplikace na výpočet indexu BMI (Zdroj: vlastní)
40
3.3.2. Vlastní naprogramování aplikace Dalším krokem po navržení aplikace je vlastní programování v jazyce Java. Zdrojový soubor, který se jmenuje Main.Activity.java se nachází ve složce src. Samotný zdrojový soubor se skládá z naprogramování vlastních metod a jejich propojení s vytvořenými widgety. Aby vše fungovalo, musely být do aplikace zadány i následující importy: import import import import import import import
android.app.Activity; android.graphics.Color; android.os.Bundle; android.view.View; android.widget.EditText; android.widget.TextView; com.example.bmi.R;
První metoda, která byla naprogramována je výpočet samotného BMI indexu. Tato metoda má dva parametry (hmotnost a výška), které získáme od uživatele, který nám je zadal již v textovém poli. Následně doje k výpočtu za použití vzorce pro BMI index. Výsledek je uložen v proměnné, která je parametrem pro další metodu ZobBMI, která je popsána dále v textu. Nejprve je zde na obrázku ukázána samotná naprogramovaná metoda BMI.
Obrázek 8: Vlastní metoda pro výpočet BMI (Zdroj: vlastní)
Další metoda, která byla naprogramována je určena pro vlastní zobrazení BMI s informací o stavu tělesné hmotnosti, která obsahuje jeden parametr, který nás informuje o hodnotě BMI indexu. Než dojde k samotnému vypsání, tak je výsledek pomocí metody TexColor zobrazen modrou barvou. Pote již je na základě hodnoty BMI za pomocí podmínek (if, else if) vybrané patřičné rozpětí, ke kterému se vztahuje příslušná informace o stavu tělesné hmotnosti. Vše je zobrazeno na dalším obrázku.
41
Obrázek 9: Vlastní metoda pro přiřazení údajů o BMI (Zdroj: vlastní)
Poslední ukázkou kódu k této aplikaci je, jak se získávají hodnoty pro hmotnost a výšku od uživatele z widgetu textového pole. Zde také vypsaná deklarace vlastní metody BMI.
Obrázek 10: Vlastní metoda pro zobrazení BMI (Zdroj: vlastní)
I zde po vlastním naprogramování dané aplikace došlo k jejímu otestování v emulátoru a následně i v reálném mobilním zařízení. V dalších kapitolách je uvedeno, jak vypadá tvorba aplikací v prostředí App Inventor.
3.4. Tvorba aplikace v App Inventor na výpočet ceny s DPH Pokud již máme vytvořený Google učet v App Invetor, tak nám nic nebrání začít vytvářet vlastní aplikaci. Po přihlášení do vývojového prostředí se nám zobrazí již vytvořené projekty s informacemi o jejich datu vytvoření a změny. Společně s tím vidíme, jestli je
42
publikujeme veřejně. Zadáme tedy nový projekt a můžeme začít vytvářet samotnou aplikaci na výpočet ceny s DPH.
3.4.1. Návrh aplikace Stejně jako v prostředí Eclipse, než začneme tvořit samotnou aplikaci, musíme si ji navrhnout v designeru, který je v základu dost podobný, použitému v prostředí Eclipse. To znamená, že v nabídce uživatelského rozhraní se vyberou komponenty, které se dále upraví a nanesou na základní podklad. Jako první v designeru vybereme základní obrazovku a nastavíme její možnosti. Jelikož tato aplikace pracuje s penězi, vybereme jako podklad celé aplikace peníze (bankovku v hodnotě 1 000 Kč). Připravený obrázek nahrajeme do prostředí jako pozadí samotné aplikace. Podporovány pro nahrávání souborů jsou běžné grafické formáty. V tomto případě byl použit formát JPG. Dále zadáme dva popisky, jeden pro základní informace pro uživatele o vložení údajů a druhý pro následný výpis ceny s DPH v základní sazbě. U každého popisku lze nastavit jeho základní vlastnosti, jako je barva, velikost písma, název samotného popisku, který volíme smysluplně. V ukázkové aplikaci jsou tyto popisky pojmenovány jako Popis a Cena s DPH. Dále zadáme u vstupního popisku informaci uživateli jaká data má zadat. Nyní musíme zadat textové pole, do kterého se budou ukládat informace, které nám zadá uživatel aplikace. Název textového pole je Cena bez DPH, aby hned na první pohled bylo vidět, co zadaná komponenta provádí. Zde také zaškrtneme možnost, že chceme do textového pole zadávat pouze čísla. Tímto krokem zamezíme uživateli možnosti, že nám vloží do textového pole nesmyslné znaky a bude moci použít pouze numerickou softwarovou klávesnici na svém mobilním zařízení. Dále u komponenty ponecháme zaškrtnutou možnost, že je viditelná, což provedeme u všech základních komponent. Další zadanou komponentou je tlačítko Výpočet, které, jak název napovídá, provede výpočet ceny s DPH. U tlačítka byla v základním nastavení zadána barva písma červená a tučné písmo. Poté byl vybrán tabulkový layout (vrstva), a to z toho důvodu, aby šlo zadat vedle sebe dvě zaškrtávací políčka, která, jsou uvnitř samotné vrstvy. Slouží k možnosti výpočtu
43
snížených sazeb DPH. Zde je lehká odchylka od programování v Eclipse, kde byly použity přepínače. Zde budou informace vloženy přímo vedle zaškrtávacího políčka po jeho označení. Dále zde nastavíme barevný podklad pro každou sníženou sazbu společně s barvou písma a informačním textem. Všechny uvedené komponenty byly viditelné. Kromě nich lze vkládat i neviditelné komponenty. V této aplikaci se nachází hned dvě. Na základní paletě proto navolíme senzor a poté ještě zvuk, který bude reagovat na senzor a na zaškrtávací políčka. Po nich se vždy přehraje předem namluvená hláška. Obě komponenty vybereme z palety a vložíme do návrhového okna zobrazení. Poté se zobrazí pod základním návrhem samotné aplikace. U zvuku nastavíme kromě názvu jeho interval přehrávání v mikrosekundách a dále zdroj, odkud je předem připravený zvuk nahrán. V tomto prostředí jsou podporovány běžné formáty pro přehrávání zvuku. Na tuto konkrétní aplikaci byl použit zvuk ve formátu MP3. U senzoru se nastaví také interval v mikrosekundách spolu s názvem samotné komponenty senzoru. Jak vypadá celkové navržení aplikace, je zobrazeno na dalším obrázku
Obrázek 11: Vlastní návrh aplikace na výpočet ceny s DPH (Zdroj: vlastní)
3.4.2. Vlastní tvorba aplikace Po navržení samotné aplikace můžeme přistoupit k vlastní tvorbě za pomocí blokového programování. Jak již bylo napsáno v kapitole dvě, jedná se o vkládání bloku v podobě 44
puzzle do sebe. Po přepnutí z návrhového zobrazení do blokového lze vidět všechny komponenty v nabídce samotného bloku. Nyní můžeme začít se samotným návrhem. Jako první vybereme tlačítko Výpočet a zde zvolíme světle hnědý blok, který nám říká, co se stane s tlačítkem po jeho stisknutí. Do této komponenty začneme přidávat další bloky, jako když skládáme puzzle. Poté vybereme komponentu nazvanou Cena s DPH a v ní najdeme zelený blok set – to. Mezi ním zkontrolujeme zaškrtnutí možnosti Cena s DPH v komponentě a zadáme dále možnost Text, v druhé části této komponenty. Nyní nám za touto komponentou vznikla další možnost vložení bloku do volného tvaru. Než vložíme další blok, tak vložíme pod tento zelený blok přehrání zvuku. Samotný zvuk nalezneme v nabídce komponenty nazvané Sound1. Zde vybereme fialový blok pro přehrání zvuku a vložíme ho pod zelený blok. Nyní budeme pokračovat v doplnění zeleného bloku, kde určíme, co se stane se zpracovaným textem. K tomu nám poslouží další dva druhy bloků. Jedná se o Text, který nám zobrazí text, který budeme chtít zobrazit jako výsledek a druhým blokem je Math, kde se nachází matematické operace, které využijeme při vlastní tvorbě výpočtu ceny s DPH. Tento druh bloku má modrou barvu. Použije konkrétně funkci pro zaokrouhlování a dále možnost násobení čísel. Posledním druhem bloku, který vložíme, je cena bez DPH, která má světle zelenou barvu. Nyní zapojíme všechny bloky do sebe. K tomu využijeme u textu možnosti join, abychom daný text mohli rozložit na více částí. Pro lepší názornost je vše zobrazeno na dalším obrázku. Celý text popisuje pouze první hnědý blok, který začíná názvem Výpočet.
45
Obrázek 12: Blokové schéma aplikace na výpočet ceny s DPH (Zdroj: vlastní)
Stejně budeme pokračovat pro výpočet snížených sazeb DPH. Rozdíl je pouze v tom, že začneme pracovat s hnědou komponentou zaškrtávacího pole. Zbytek postupu je stejný, jen u bloku s operátorem násobení změníme hodnotu na 1.15, respektive na 1.1. Pro úplnost je dobré dodat, že vývojové prostředí je v angličtině, tak nepoužíváme desetinnou čárku, ale tečku. Celý blok potom pro rychlejší tvorbu můžeme zkopírovat. Pokud se v aplikaci nachází nějaký zbytečný blok, stačí pouze zadat klávesu delete a blok se celý smaže. Samotné mazání je doplněno zvukovým signálem. Poslední hnědá část bloku, která se skládá ze čtyř částí, je určena k tomu, aby po zatřesení telefonem došlo senzorem k vyhodnocení a k přehrání zvukové hlášky. A dále k vibraci telefonu, kde je ještě nastavena délka vibrování v milisekundách za pomocí matematického bloku s ručně navoleným číslem. Po zadání všech bloků do sebe máme „skládanku“ hotovou a je připravena k vlastnímu testování v emulátoru a v mobilním zařízení. Obojí je zahrnuto v kapitole 4.
46
3.5. Tvorba aplikace v App Inventor na výpočet indexu BMI Druhou aplikací, která byla v prostředí App Inventor vytvářena, je výpočet BMI indexu. Její návrh je dost podobný s aplikací, která byla vytvořena v Eclipse, proto zde bude dobře vidět porovnání mezi strukturovaným programováním a blokovým programováním objektů. Nejprve musíme stejně jako u ostatních aplikací začít vlastním návrhem.
3.5.1. Návrh aplikace V návrhovém zobrazení začneme zase nanášet jednotlivé komponenty, které budeme potřebovat. I zde začneme nejprve zadávat jako první komponentu textový popisek. Zde ji na rozdíl od předchozí aplikace zadáme hned třikrát. První dvě zadání komponenty jsou viditelné při spuštění aplikace a je v nich uložen text, který nás informuje o nutnosti zadání hmotnosti a výšky testované osoby. Kromě vlastního názvu zde nastavíme i tučné písmo a jeho velikost a viditelnost komponenty hned po zapnutí samotné aplikace. Třetí komponenta má stejné nastavení s tím rozdílem, že ji zadáme jako neviditelnou při startu aplikace. Důvodem je, že se do ní bude vypisovat až samotný výpočet BMI indexu společně s informací o tělesné struktuře zadávané osoby. Barvu samotného textu výsledku nastavíme na červenou pro lepší viditelnost. Další komponentou, která je potřeba nastavit, je textové pole. Na rozdíl od předchozí aplikace zde zadáváme textové pole hned dvakrát. Jednou pro hmotnost, podruhé pro výšku, která je udávaná v metrech. Obě komponenty samozřejmě zase pojmenujeme a zadáme omezení, aby šlo do nich vkládat jenom číselné údaje určené k výpočtu. Poslední komponentou, kterou je potřeba navrhnout je tlačítko, které spustí samotný výpočet v aplikaci. Samotné tlačítko bylo pojmenováno a byl navolen modrý text popisu tlačítka z důvodu lepší přehlednosti v aplikaci. Nyní je už vše potřebné navrženo a všechny komponenty z návrhového zobrazení se nachází na dalším obrázku.
47
Obrázek 13: Vlastní návrh aplikace na výpočet BMI indexu (Zdroj: vlastní)
3.5.2. Vlastní tvorba aplikace Vlastní tvorba aplikace začíná přesně jako předchozí blokový příklad na výpočet ceny s DPH. Nejprve tedy zadáme komponentu tlačítka, do které budeme vkládat další bloky, které určí, co se stane po stisknutí samotného tlačítka. Dále zde budeme vkládat oranžový blok z nabídky Variables (proměnné), do kterého se budou ukládat informace o výpočtu hodnoty BMI indexu. Samotná proměnná byla nazvána BMI a byly zde do ní přiřazeny modré matematické bloky, které jsou určeny k výpočtu vzorce pro BMI index. Jedná se matematický operátor dělení a dále druhé mocniny. Zde uvedené operace budeme provádět s hodnotami, které vezmeme z komponent textového pole. Následně navolíme z nabídky Control blok, který je důležitý pro provedení zadané podmínky, kterou budeme vytvářet. Celý tento blok je vložen do bloku s proměnnou. Do podmínky potom zadáme údaje, které porovnávají hodnotu BMI indexu, která je zadaná v proměnné. Pokud je podmínka splněna, tak se provede zobrazení, které navolíme pomocí
48
bloků. Postup se stejný jako při vytváření aplikace na výpočet ceny s DPH. Takto navolíme všechny podmínky k výpočtu všech rozmezí hodnot, které se nacházejí v BMI indexu. U podmínek, kde se nachází horní a dolní rozmezí, využijeme navíc logický blok and (a zároveň), aby mohlo dojít k propojení celého rozmezí hodnot v BMI indexu. Vlastní blokové komponenty jsou zobrazeny na následující ukázce pro lepší představu psaného textu.
Obrázek 14: Blokové schéma aplikace na výpočet BMI indexu (Zdroj: vlastní)
Na obrázku nejsou zobrazena všechna rozpětí hodnot BMI indexu z důvodu rozlehlosti celého bloku. Ostatní rozpětí hodnot jsou vkládána stejným způsobem pod sebe, tak není nutno tyto bloky dále zobrazovat.
49
3.6. Tvorba aplikace v App Invetor na determinant matice 3.6.1. Návrh aplikace Poslední aplikace, která byla v prostředí App Invetor tvořena, je výpočet determinantu matice 2 x 2 a 3 x 3. Jelikož vlastní tvorba je dost podobná, budou obě aplikace uvedené ve stejné kapitole, kde vlastní návrh je popsán pro matici 3 x 3. Návrh matice 2 x 2 je podobný, jen je zde zadáno méně komponent. V této aplikaci navrhneme dvě komponenty popisků. První popisuje informaci, jaká data má uživatel zadat do matice. Kromě informačního textu nastavíme její viditelnost hned při spuštění a dále vlastní název komponenty. Druhý popisek slouží k výpisu výsledku, takže je nastaven jako neviditelný při spuštění samotné aplikace a barva textu je změněna na červenou. Následně navrhneme vrstvy v tabulkovém zobrazení z důvodu, že budeme vkládat hned tři textová pole vedle sebe. Proto nastavíme, že chceme mít tři řádky a tři sloupce pro komponenty matice 3 x 3. Nastavíme i výšku a šířku celé vrstvy, kde šířka je zadána na celý displej z důvodu lepšího vkládání datových informací, které budou zadávány do textových polí. Nyní již nebrání nic k vložení textových polí do tabulkové vrstvy. Jak již bylo zmíněno, vložíme celkem devět textových polí (3 x 3). U všech komponent je stejné nastavení. Každé textové pole má vlastní název (podle indexu matice, která se bude počítat), dále zvolíme výšku, šířku a omezení, že chceme zadávat jenom numerické údaje. Samozřejmě všechny komponenty jsou viditelné již po zapnutí aplikace. Poslední nastavovanou komponentou je tlačítko pro provedení výpočtu, u kterého nastavíme popisek, který se bude zobrazovat v modré barvě. Celý návrh matice 3 x 3 je zobrazen na následujícím obrázku.
50
Obrázek 15: Vlastní návrh aplikace na výpočet determinantu matice 3 x 3 (Zdroj: vlastní)
3.6.2. Vlastní tvorba aplikace Postup při vytváření vlastní aplikace determinantu matice 3 x 3 je totožný jako u matice 2 x 2, proto je zde pro změnu popsán pouze postup u matice 2 x 2. Jako již u předešlých aplikací, i zde musíme nejprve zadat blok pro komponentu tlačítka, co se stane po jeho stisknutí. Do této komponenty vložíme tmavě zelený blok, který říká, že se má po stisknutí tlačítka zobrazit text na obrazovku. K němu připojíme dva bloky pro práci s řetězcem, které budou sloužit pro vypsání vlastního výsledku. Poslední část tvoří matematické bloky, které budou přidány k spojovému bloku join. U těchto modrých bloků použijeme operátory násobení a odečítání pro vlastní výpočet determinantu matice. V matematických blocích se ještě nachází hodnoty, které jsme vzali z bloků textových polí. Vše je zobrazeno na posledním obrázku této kapitoly.
51
Obrázek 16: Blokové schéma aplikace na výpočet determinantu matice 2 x 2 (Zdroj: vlastní)
Nyní, když jsou již všechny aplikace vytvořené, lze začít s vlastním testováním funkčnosti všech prezentovaných aplikací, a to jak na vytvořených emulátorech, tak i na skutečných reálných zařízeních. Vše je uvedeno v další kapitole, která se zabývá vlastním otestováním.
52
4. Otestování samotné aplikace Každá vytvořená aplikace musela být pochopitelně otestována. Aplikace byly testovány jak na emulátoru – zařízení které mělo simulovat mobilní zařízení Android v prostředí Windows 7, tak na samotném mobilním zařízení s příslušným operačním systémem. V dílčích podkapitolách je popsáno samotné testování pro aplikace naprogramované v prostředí Eclipse, tak i v prostředí App Inventor. Všechny aplikace byly pro tento účel tedy zkompilovány a přesunuty do mobilního telefonu.
4.1. Příprava testování v Eclipse Před samotným otestováním programů muselo dojít ke konfiguraci emulátoru pro vývojové prostředí. K tomu slouží Android Virtual Device Manager. Jedná se o ikonu připomínající mobilní telefon v základním panelu pod jednotlivými nabídkami. Zde se nachází několik základních možností jak konfigurovat emulátor. Pokud ještě není žádný vytvořený, je pouze k dispozici tlačítko New, které slouží k vytvoření nového virtuálního zařízení. Poté co je zadáno tlačítko pro vytvoření, lze začít konfigurovat vlastní zařízení viz obrázek pod tímto textem.
Obrázek 17: Konfigurace emulátoru pro Android (Zdroj: vlastní) 53
Nejprve musíme nový emulátor pojmenovat. Jelikož samotné zařízení bylo testováno na skutečném mobilním telefonu od LG je uveden i tento název zde. Dalším důležitým parametrem je velikost displeje a jeho rozlišení. Pro testování byly zvoleny parametry, které odpovídají skutečnému telefonu od LG. Nesmíme také zapomenout navolit verzi operačního systému Android, pro kterou budeme provádět daný test. Důležitá je také velikost operační paměti, která rovněž byla nastavena podle skutečných vlastností mobilního přístroje. Ostatní parametry pro testování ukázkových aplikací nejsou tak důležité (jako nastavení fotoaparátu či další vzhled emulátoru). Poté již stačí dané vytvořené zařízení uložit. Po uložení si můžeme v seznamu prohlédnout všechny virtuální mobilní telefony, které jsou již vytvořeny. Můžeme jednotlivé telefony upravovat, mazat nebo zadat tlačítko Start, kterým navolíme výchozí emulátor, který se spustí při vlastním testování aplikace. Android Virtual Device Manager nabízí kromě vlastního vytváření zařízení si navolit i z množství předdefinovaných tabletů a mobilních telefonů, což nám usnadní práci při vytváření pro simulaci našich aplikací. Zejména byl pro tyto účely využit tablet s parametry 7.0“ displeje a s rozlišením 1024 x 600 pixelů. Výhodou tedy je, že zde můžeme nastavit opravdu velké množství specifických věcí a zvolit i nejrůznější emulátory, což například v prostředí APP Inventor není možné, jelikož je zde jenom jeden druh emulátoru. I přes velké množství nastavení není možné vše simulovat. Těžko se bude asi testovat vibrování v emulátoru, když samotný osobní počítač takovou funkci nenabízí.
4.2. Testování aplikace v Eclipse ve vytvořeném emulátoru Po nastavení všech potřebných emulátorů lze přikročit k samotnému testování aplikací. Pro účel této diplomové práce byly naprogramované dvě již zmíněné aplikace (výpočet DPH a výpočet BMI indexu), jejichž testování je součástí následujících podkapitol. Aby bylo možno vše otestovat za pomocí emulátoru, musí být pochopitelně spuštěny dané vytvořené projekty.
54
4.2.1. Testování aplikace na výpočet ceny s DPH v emulátoru První zvolenou aplikací na testování je aplikace na výpočet ceny s DPH ve třech sazbách (v základní 22 % a dvou snížených 15 % a 10 %). Bude testováno jednak zadání a jednak případný přepočet daně podle zvoleného tlačítka na výpočet ceny s DPH. V Eclipse je třeba nejprve vybrat již naprogramovaný projekt a zvolit tlačítko Run, které zapříčiní, že se začne spouštět externí emulátor. První spuštění emulátoru trvá poměrně dlouho a o stavu průběhu jsme informování na stavové liště vývojového editoru. Celé spuštění shrneme do následujícího postupu: 1. Spouštění nástroje emulátoru. 2. Načítání konkrétního emulátoru (s verzí Androidu a technickými parametry). 3. Zpracovávání a nahrávání konkrétního programu do emulátoru. 4.
Úspěšná instalace a spuštění námi zadaného programu.
Po těchto postupech by se již měl zobrazit program pro výpočet DPH. Pro úplnost je zapotřebí napsat, že zobrazení emulátoru je závislé na tom, jaké jsme pro něj zvolili parametry. Jinak bude vypadat emulátor pro verzi Androidu 4 a jinak pro verzi 2. Jinak se nám zobrazí zařízení, pokud zadáme, že chceme využívat i hardwarovou klávesnici a tlačítka pro volání. Nutno také podotknout, že načtení programu trvá někdy i okolo 5 minut, což je v porovnání s emulátorem, který se používá pro aplikace z App Inventor delší časový úsek. Pokud budeme ale vytvářet aplikace průběžně, načítání nové verze programu se nám značně urychlí a většinou do minuty můžeme začít testovat. Toto ale neplatí, pokud budeme chtít spustit aplikaci v emulátoru s jinými parametry. Zde je zapotřebí znovu vše načíst, včetně úvodní obrazovky emulátoru a čekat znovu delší časový interval na spuštění aplikace.
55
Obrázek 18: Zobrazení výpočtu ceny s DPH v základní sazbě (Zdroj: vlastní)
Jak zobrazuje obrázek nad tímto textem, pří zadání ceny bez DPH do textového pole se nám vypočítá cena s DPH. K tomu se nám ještě zobrazuje dočasná informační hláška, která byla k aplikaci naprogramována. Dále výpočet ceny, pokud by byla zvolená snížená sazba 10 %, ukazuje pro změnu obrázek pod tímto textem.
Obrázek 19: Zobrazení výpočtu ceny s DPH ve snížené sazbě (Zdroj: vlastní)
56
Jak vidíme na obrázku, pokud zvolíme jinou sazbu DPH, dojde k přepočítání celé zadané částky. Obě testované ukázky byly navoleny ve stejném emulátoru se stejnými parametry. Výsledná cena se nám zobrazuje zeleně a zaokrouhlení je provedeno na celé koruny, stejně jako se lze s tímto zadáváním cen setkat i v praxi. Pokud by byla zadána cena s DPH 15 %, tak i zde se provede stejný výpočet, i když není již v této práci jako ukázka zahrnut. Ještě je třeba uvést, že daný program je ošetřen tak, aby šlo do textového pole zadávat pouze čísla a ne jiné znaky. Tento způsob zadávání dat byl také předmětem testování.
4.2.2. Testování aplikace na výpočet indexu BMI v emulátoru Druhým příkladem, který byl testován za pomocí nastavení prostředí Eclipse, je výpočet BMI indexu. I tady bylo zapotřebí si nakonfigurovat emulátor jako v případě aplikace pro výpočet ceny s DHP. Také tato aplikace byla testována pro více druhů zařízení (hlavně jejich velikosti displeje jak pro tablety, tak pro mobilní přístroje). Samotné testování výpočtu BMI spočívalo především ve vyzkoušení všech možností, které mohou při zadání dat nastat, pokud zadáme libovolnou váhu a výšku. Zajímalo nás, zda se nám změní údaje s obměnou parametrů. Dále bylo testováno, aby nešlo do textového pole zadat jiné znaky než čísla. Na obrázcích jsou zachyceny ukázky z emulátoru, kdy aplikace byla zrovna spuštěna bez zadání dat, dále pokud výsledek výpočtu hlásí podváhu s výsledným indexem. Posledním obrázkem v této kapitole je výsledek výpočtu s ideální váhou.
Obrázek 20: Zobrazení BMI výpočtu před zadáním potřebných dat (Zdroj: vlastní)
57
Obrázek 21: Zobrazení BMI výpočtu po zadání dat s výslednou podváhou (Zdroj: vlastní)
Obrázek 22: Zobrazení BMI výpočtu po zadání dat s ideální váhou (Zdroj: vlastní)
4.3. Testování aplikací z Eclipse na reálném mobilním zařízení Po otestování a odladění chyb v emulátoru je zapotřebí ještě otestovat dané aplikace na reálném mobilním zařízení. K tomu, abychom mohli vše provést, musíme vytvořené aplikace exportovat z prostředí Eclipse. Je tedy zapotřebí nejprve zvolit příslušný projekt a potom zadat nabídku File a dále Export a potom se dostaneme k možnostem exportování příslušného projektu. Zde je zapotřebí vybrat možnost Export Android Application a nechat se provést průvodcem vytvoření Android aplikace. Při samotném exportu budeme vyzváni, abychom znovu zadali název vytvořeného projektu (je zapotřebí celý úkon provést pro každý projekt zvlášť – jak pro výpočet ceny s DPH, tak
58
pro BMI index). Poté je zapotřebí zadat nebo nejprve vytvořit takzvaný klíč, které nám dále umožní vytvořit potřebnou aplikaci. Samotné vytvoření klíče se skládá ze základních údajů jako místa, kam daný klíč uložíme společně s vlastním názvem, dále nastavení hesla, platnost klíče a jméno kdo je vlastníkem klíče. Poté již stačí zadat název vytvořené aplikace společně s místem, kam se má nová aplikace vytvořit a je vše potřebné vytvořeno. U zadávání samotného názvu nesmíme zapomenout na zadání přípony APK, která je spustitelnou příponou v operačním systému Android. Bez jejího zadání se nám nepodaří danou aplikaci nainstalovat do zařízení (do telefonu ji sice nakopírujeme, ale již nespustíme). Celkově se dá říci, že je vytváření reálné aplikace v prostředí Eclipse náročnější než v App Inventor, kde zadáváme jen název vytvořené aplikace a více nemusíme nastavovat. Bližší informace, jak lze vytvářet jednoduše aplikace v tomto prostředí, nalezneme v kapitolách s App Invetor.
4.3.1. Testování aplikace na výpočet ceny s DPH v mobilním zařízení Po vytvoření aplikace s příponou APK již nic nebrání k vlastnímu otestování programu v reálném mobilním zařízení. Nejjednodušší cestou jak toho docílit je nahrát aplikaci pomocí USB kabelu do mobilního zařízení. Následně potom provedeme vlastní instalaci do zařízení. Nutné je mít v operačním systém Android povoleno instalovat z neověřených zdrojů, aby se vše provedlo korektně. Pro vlastní testování byl vybrán mobilní telefon LG s rozlišením displeje 4 palce a byl porovnán s emulátorem, který byl použit v předchozích kapitolách. Testování i zde spočívalo v kontrole funkcí pro výpočet ceny s DPH stejně jako v emulátoru. Kontrolovalo se, zda je možné zadat pouze čísla do příslušného textového pole a jestli je možné měnit cenu podle námi navolených požadavků. Vše fungovalo bez zjištěných problémů. Na obrázku je vidět, že použit lze pouze numerickou softwarovou klávesnici. Tím zamezíme načtení nesmyslných znaků od uživatele. Aplikace fungovala identicky jako v emulátoru.
59
Obrázek 23: Zobrazení ceny s DPH v mobilním zařízení LG (Zdroj: vlastní)
4.3.2. Testování aplikace na výpočet BMI indexu v mobilním zařízení Stejně jako u výpočtu ceny s DPH bylo jako mobilní zařízení použito LG k otestování funkčnosti této aplikace. Byly zadávány různé parametry, aby došlo k otestování všech rozpětí, pro které je definován BMI index. I zde je omezení u textového pole na zadávání pouze číselných hodnot. Následující dva obrázky zobrazují, jak vypadá aplikace při použití na výšku a jak při využití šířky displeje.
Obrázek 24: Zobrazení na výšku BMI indexu v mobilním zařízení LG (Zdroj: vlastní) 60
Obrázek 25: Zobrazení na šířku BMI indexu v mobilním zařízení LG (Zdroj: vlastní)
Zajímavé zjištění také je, že výpočet BMI indexu, který byl naprogramovaný v prostředí Eclipse, zabírá přibližně necelých 300 kB (275 kB), zatímco aplikace vytvořená za pomocí App Inventor 1,33 MB, což je skoro pětkrát tolik. Z tohoto hlediska se jeví využití prostředí Eclipse jako lepší řešení při tvorbě nějakých objemnějších aplikací. Přitom u obou aplikací nebyl použit žádný odlišný jev (například náročné grafické prvky atd.), který by mohl způsobit vyšší velikost dané aplikace. Další možnosti jak by šlo danou aplikaci otestovat mezi uživateli, je nahrát ji do prostředí Google Play, kde se nachází nepřeberné množství nejrůznější aplikací, ať už placených nebo neplacených. Od této možnosti bylo nakonec upuštěno, protože kromě registrace se musí platit částka za zřízení účtu a ta je k tomu ještě v dolarech (cena činí 25 amerických dolarů).
4.4. Příprava testování v App Inventor V App Inventor máme několik možností jak testovat vytvořenou aplikaci. Pokud vlastníme mobilní přístroj, který má operační systém Android, lze dané zařízení propojit s osobním počítačem a testovat ho třeba přímo v tabletu či mobilnímu telefonu. Potřebujeme k tomu nainstalovat z Google Play aplikaci MIT AI2 Companion a zvolit si, jestli propojení počítače a mobilního zařízení bude bezdrátové nebo po kabelu USB. Samotná aplikace na testování má poměrně vysoké hodnocení mezi vývojáři aplikací (čtyři z pěti hvězdiček). Další možností je si přímo nainstalovat do osobního počítače emulátor, který funguje na podobném principu stejně jako emulátor v prostředí Eclipse. Jenom ho nemusíme ručně hledat na internetu, stačí v prostředí App Inventor zadat nabídku Connect a dále vybrat možnost emulátoru (nebo kabelu USB, pokud bychom se rozhodli pro první možnost 61
testování přímo z mobilního zařízení). Jestli tedy vybereme možnost emulátoru, jsme při prvním přihlášení přesměrováni na odkaz, kde lze přímo stáhnout emulátor a máme zde i návod pro instalování v angličtině. Poté stačí znovu ve vývojovém prostředí navolit emulátor, který se začne pomalu spouštět. I přesto, že musíme chvilku čekat, než se nám podaří tato externí nainstalovaná aplikace z operačního systému spustit, načítání emulátoru se jeví rychlejší než u vývojového prostředí v Eclipse. Poté je automaticky emulována aplikace, která je momentálně spuštěná. Občas se může také stát, že emulátor přestane korektně pracovat, proto je zde možnost si ho restartovat. Pokud nic nepomáhá, tak se musí zvolit takzvaný tvrdý reset, který znovu začne konfigurovat soubory s daným emulátorem (musíme tedy déle čekat, než se zase nastartuje). Velkou výhodou tohoto emulátoru je, že sám automaticky reaguje na změny provedené v programu a nemusíme ho znovu načítat a ztrácet tím zbytečně čas jako u použitého emulátoru v prostředí Eclipse. Dále toho zařízení umí reagovat i na změnu projektu, kdy sám načte do zařízení jinou aplikaci, pokud jsme se rozhodli testovat jiný vyvíjený software. Což je určitě velice příjemná věc pro vývojáře, ale zároveň na druhou stranu tato možnost není stoprocentní a občas se stávalo, že emulátor zamrzl nebo nereagoval na změnu vyvíjeného projektu. Poté musel být emulátor restartován, aby došlo k opětovnému využití testování v tomto zařízení.
4.5. Testování aplikace v App Inventor v emulátoru V nainstalovaném emulátoru v prostředí operačního systému Windows 7 bylo provedeno vlastní testování všech aplikací, vytvořených pro tuto diplomovou práci. První dvě jsou stejné jako v prostředí Eclipse, jen u výpočtu ceny s DPH došlo trochu k vylepšení o další prvky, a to zvukový a vibrační. Navíc zde je ještě aplikace na výpočet determinantu matice (konkrétně o velikosti 2 x 2 a 3 x 3).
4.5.1. Testování aplikace na výpočet ceny s DPH v emulátoru První aplikací, která byla z prostředí App Inventor otestována je výpočet ceny s DPH. Samotný test byl zaměřen na funkčnost celé aplikace. Proto jsme po spuštění emulátoru zadali nějakou hodnotu a zkontrolovali, jestli výsledek odpovídá realitě. Samotné tlačítko slouží pro výpočet ceny s daní v základní sazbě a vše zde proběhlo bez problémů. I výsledná barva zobrazené částky odpovídá definici, kterou jsme provedli ve vývojovém
62
prostředí. Po zatržení libovolného zaškrtávacího tlačítka dojde k výpočtu ceny s daní ve snížené sazbě. Každá z volených snížených sazeb má pro zobrazení výsledku jiný barevný podklad. Vše je vidět na následujícím obrázku.
Obrázek 26: Zobrazení výpočtu ceny s DPH v základní sazbě (Zdroj: vlastní)
Jak vyplývá z obrázku, cenu jsme zadali na zkoušku v hodnotě 100 Kč a všechny částky jsou uvedeny správně i s haléřovým vyrovnáním. Součástí aplikace je i vlastní pozadí. Tento emulátor umožňuje testování telefonních aplikací, což je patrné z uvedeného obrázku. Tato aplikace byla ještě doplněna kromě samotného výpočtu o zvukové hlášky, které jsou také předmětem testování. Při stisknutí tlačítka pro potvrzení nebo zaškrtávacího tlačítka, se nám ozve zvukový efekt. Vše tedy v emulátoru funguje podle zadání.
63
Součásti testu je i reakce senzoru na zatřesení s telefonem. Poté by se měla zobrazit zmíněná hláška s krátkým zavibrováním telefonu. Tento test si ale necháme až na odzkoušení aplikace v mobilním telefonu. Emulátor není totiž k tomuto druhu testu přizpůsoben. Těžko budeme třást s monitorem, když žádný senzor ani vibrace nepodporuje. Nyní již lze přejít k vlastnímu otestování další vytvořené aplikace.
4.5.2. Testování aplikace na výpočet indexu BMI v emulátoru Další testovanou aplikací je výpočet indexu BMI. Tato aplikace je ekvivalentní s tou, která byla vytvořena v prostředí Eclipse. Proto její vytvoření a otestování je zajímavé z pohledu vývojáře, který chce vidět rozdíly tvorby aplikací a rozhodnout se, které prostředí se mu bude zdát lepší pro vlastní vývoj. Po spuštění aplikace v emulátoru můžeme začít s vlastním testováním funkčnosti aplikace. Po spuštění zadáme do textových polí potřebné údaje k otestování. I zde lze zadávat pouze údaje z numerické klávesnice, takže tímto ošetřením předejdeme problémům s nechtěným zadáním třeba nějakého písmena uživatelem. Nyní tedy do textových polí zadáme číselné údaje, které se týkají váhy a výšky a necháme provést výpočet hodnoty ze zadaných údajů.
64
Obrázek 27: Zobrazení výpočtu BMI indexu v emulátoru (Zdroj: vlastní)
V předchozí obrázkové ukázce byly zadány údaje, které nám vypsaly informaci, že se jedná o ideální váhu spolu s hodnotou vlastního BMI indexu. Při testování funkčnosti aplikace byly pochopitelně otestovány všechny možnosti, které mohou nastat (těžká podvýživa, podváha, ideální váha, nadváha, mírná obezita, střední obezita, morbidní obezita). Všechny tyto možnosti byly zobrazeny korektně při zadání správné kombinace vstupních údajů hmotnosti a výšky.
4.5.3. Testování aplikace determinantu matice v emulátoru Poslední aplikací, která byla testována v emulátoru, je determinant matice 2 x 2 a 3 x 3. Tato aplikace byla vytvořena jenom v prostředí App Inventor z důvodu lepší názorné ukázky, jak lze pracovat v tomto velice zajímavém prostředí. Testované byly obě aplikace. Nejprve byl testován determinant matice 2 x 2. V emulátoru byly zadány údaje, na 65
jednotlivé indexované pole zadané matice. Do všech textových polí šlo zadávat jenom číselné hodnoty, takže i zde je ošetřeno nechtěné zadání nečíselného znaku.
Obrázek 28: Zobrazení výpočtu determinantu matice 2 x 2 v emulátoru (Zdroj: vlastní)
Po zadání všech čtyř hodnot (20, 30, 40 a 80) po kliknutí na tlačítko s výpočtem došlo k výpisu determinantu matice s výsledkem 400 i s navoleným červeným písmem, jak je vše vidět na zobrazeném obrázku. Další testovanou maticí je matice o velikosti 3 x 3. Postup byl stejný jako v předchozím případě. Nejprve se zadaly číselné údaje do textového pole (20, 30, 40, 50, 60, 70, 80, 90, 10). Poté došlo k provedení výpočtu po stisknutí tlačítka. Výsledek toho výpočtu je vidět na dalším obrázku.
66
Obrázek 29: Zobrazení výpočtu determinantu matice 3 x 3 v emulátoru (Zdroj: vlastní)
Výsledek daného výpočtu determinantu matice je 27 000. Hodnota se zobrazuje červeným písmem, takže odpovídá vizuálnímu nastavení, které bylo zadáno v návrhovém zobrazení. I u této aplikace bylo nastaveno, aby do textových polí šlo zadat jenom numerický údaj a nedošlo zbytečně k načtení nesmyslného znaku. Tato aplikace je poslední, která byla testována v emulátoru pro prostředí App Inventor. V dalších kapitolách se již nachází informace k testování na reálném mobilním zařízení.
4.6. Testování aplikací z App Invetor na mobilním zařízení Před samotným testováním aplikací na mobilním zařízení je třeba si danou aplikaci stáhnout do počítače a přesunout do mobilního telefonu či tabletu. Proto nejprve v prostředí App Inventor zadáme na kartě Build možnost App (save) a nyní můžeme do
67
našeho počítače zadat uložení vytvořené aplikace s příponou APK. Chvíli počkáme na zpracování požadavku a potom již můžeme danou aplikaci přenést do mobilního telefonu s operačním systémem Android. Zde každou aplikaci nainstalujeme a samozřejmě musíme mít povoleno v telefonu možnost instalování aplikací z cizích zdrojů.
4.6.1. Testování aplikace na výpočet ceny s DPH v mobilním zařízení Všechny zmiňované aplikace byly testovány na mobilním telefonu LG s čtyřpalcovým displejem. První z nich je výpočet ceny s DPH. Do aplikace se vloží samotná částka a provede se výpočet s DPH. Nejprve se základní sazbou (21 %) a potom i s cenou ve snížené sazbě (15 %, 10 %). Testování proběhlo se stejnými výsledky jako u emulátoru. Vlastní vzhled odpovídal nastavení, které bylo vidět i v emulátoru. Při zadávání údajů do testového pole šlo použít pouze numerickou softwarovou klávesnici, jak je vidět i na následujícím obrázku. Každé zadání údaje je doplněno zvukovou hláškou.
Obrázek 30: Zobrazení výpočtu ceny s DPH ve všech sazbách (Zdroj: vlastní)
68
Kromě základní funkčnosti, která byla testována i v emulátoru, se v mobilním telefonu otestovalo i použití senzoru a vibrace. Toto spojení bylo testováno na základě zatřesení telefonem. Poté se ozvala hláška společně s vibrací telefonu. Toto je příklad funkce, kdy má cenu otestovat si aplikaci nejen v emulátoru ale i v reálném mobilním zařízení. Vše v této aplikaci tedy funguje bez větších problémů. Od funkčnosti až po zvukový a vibrační signál.
4.6.2. Testování aplikace na výpočet BMI indexu v mobilním zařízení Druhou testovanou aplikací v mobilním telefonu od LG je výpočet BMI indexu. Zde tedy do textového pole zadáváme dvě informace (o hmotnosti v kg a o výšce v metrech). Poté se již provede samotný výpočet a zobrazení červeným písmem informace o tělesném stavu. I v tomto případě je vše ošetřeno, aby byly zadávány pouze číselné údaje. Samotný výpočet BMI indexu byl otestován se všemi kombinacemi, které mohou s výslednými hodnotami nastat. Stejně tak probíhá testování v emulátoru. Ukázkový případ je uveden ve formě screenshotu (obrázku vytvořeném v mobilním telefonu LG).
Obrázek 31: Zobrazení výpočtu BMI indexu (Zdroj: vlastní) 69
4.6.3. Testování aplikace determinantu matice v mobilním zařízení Poslední testovanou aplikací je výpočet determinantu 2 x 2 a 3 x 3. U obou zadaných matic byl proveden test. Nejprve došlo otestování menší matice. Do textových polí byly zadány potřebné číselné informace (20, 30, 40, 80) pro vlastní výpočet. Výsledek je jako v předchozích případech zobrazen červeně Vše je vidět na přiloženém dokumentujícím obrázku.
Obrázek 32: Zobrazení výpočtu determinantu matice 2 x 2 v emulátoru (Zdroj: vlastní)
Poslední testování, které bylo provedeno v této práci, je otestování matice 3 x 3. Nejprve byly zadány potřebné údaje pro samotný výpočet s možností zadávat pouze numerické znaky. Samotné testování za pomocí reálného mobilního zařízení má i svůj význam, pokud chceme znát nejen vzhled, ale jestli je uživatelské rozhraní přívětivé. Pokud totiž zadáme moc malá textová pole, těžko se budeme do nich strefovat. Pokud naopak zadáme moc velká textová pole, těžko budeme zadávat údaje a zároveň využívat softwarovou klávesnici. Proto má vždy cenu testovat každou aplikaci po jejím vytvoření nejen v emulátoru, ale i v reálném mobilním zařízení.
70
Obrázek 33: Zobrazení výpočtu determinantu matice 3 x 3 v emulátoru (Zdroj: vlastní)
Toto byla poslední ukázková aplikace, která se v mobilním zařízení testovala. Jak je vidět na obrázku, po zadání údajů se nám zobrazí červeně výsledek determinantu matice 3 x 3. Zajímavé zjištění z testování je, že všechny aplikace vytvořené v APP Inventor jsou několikrát větší než aplikace, které byly tvořeny ve vývojovém prostředí Eclipse. Pokud bychom chtěli tvořit náročnější aplikaci, bude pro nás z tohoto hlediska výhodnější použití prostředí pro kompilaci v Eclipse, stejně jako pokud budeme chtít testovat aplikace s různými parametry na virtuálním zařízení. Pokud budeme chtít vytvořit aplikaci s možností rychlého otestování a v pohodlném uživatelském prostředí, tak se nám vyplatí App Inventor.
71
Závěr Jak již bylo zmíněno v úvodu této diplomové práce, problematika mobilních zařízení pro mobilní platformu Android, je velice dynamická. Například, když byla tato práce psána, některé věci se v ní neustále měnily nebo vyvíjely. Došlo k uvolnění dvou nových verzí Androidu. Verze 5 – Lollipop, které dneska používá přibližně asi 15 % uživatelů a poslední aktuální verzí je 6 – Marsmallow, kterou využívá zatím zanedbatelná 2 % uživatelů. I dnes se již naplňují prognózy, že chytré hodinky začínají pomalu vytlačovat z trhu ty klasické a jejich využití stále stoupá. Především u mladé generace, která v nich kromě módního doplňku vidí právě perspektivu s využitím různých zajímavých aplikací, které jim usnadňují komunikaci s chytrým telefonem. Proto může budoucnost vypadat tak, že známí švýcarští výrobci budou snižovat podíl na trhu s hodinkami na úkor výrobců elektroniky, kteří ještě před pár lety hodinky vůbec nevyráběli. Od mnohých uživatelů lze slýchávat, že iOS je mnohem spolehlivější a kompatibilnější než Android. Musíme ale vzít v potaz, že Android podporuje mnohem více výrobců a jednotlivých druhů zařízení. Proto je samozřejmě těžší zajistit ke všem zařízením výbornou kompatibilitu. Navíc i zde platí, že můžeme volit mezi levnějšími značkami i dražšími a spolehlivějšími. Druhou často slýchanou poznámkou uživatelů iOS je, že většina virů je určena pro systém Android. I pohled na tuto věc má dvě stránky. Virů a nežádoucích aplikací je zde sice více, ale poměr používání tohoto systému vůči ostatním je také daleko vyšší, stejně jako mezi stolními operačními systémy Windows a Linux. Navíc riziko virů značně snižuje, pokud stahujeme aplikace z oficiálních zdrojů a zároveň nedáváme přístup aplikaci k věcem, které nepotřebuje pro svoji funkci. V druhé kapitole teoretické části se nachází informace o vývojových prostředích Eclipse a App Inventor. U samotného prostředí Eclipse jsou uvedeny i informace o programování pro jiná zařízení, nejenom pro tablety a mobilní telefony, ale také chytré hodinky nebo brýle. Celá druhá kapitola je zakončena porovnáním výhod a nevýhod obou vývojových prostředí, což bylo také cílem práce, spolu se seznámením se s Eclipse a App Inventor. Třetí část práce se zabývá vlastní tvorbou aplikací v obou vývojových prostředích. Nachází se zde i informace o konkrétních aplikacích, které byly vyvíjeny a porovnány. Jedná se o 72
výpočet ceny s DPH a BMI indexu. Dále se jedná o ukázkovou aplikaci na výpočet determinantu matice 2 x 2 a 3 x 3. Cílem práce bylo tedy vytvořit funkční zmíněné aplikace v obou vývojových prostředích a poukázat na postupy spojené s těmito nástroji. V poslední čtvrté části této práce došlo k otestování všech zařízení. Nejprve na emulátoru a poté na vlastním mobilním telefonu. Jsou popsány i postupy, jak využívat emulátor a jeho výhody či nevýhody. Cíl vlastního otestování byl také splněn. Samotným přínosem využití vývojového prostředí App Inventor je jeho využití v hodinách programování na středních školách. Pokud zde nejsou vysoké hodinové dotace, nezbývá moc času na skloubení výuky syntaxe programování s vlastní tvorbou programů. App Inventor nám ulehčuje vývoj aplikací právě v tom, že se nemusíme zdržovat učením syntaxe jazyka a zároveň rozvíjí tvůrčí možnosti a logické uvažování, což v hodinách programování na gymnáziích je hlavním cílem daného předmětu. Navíc v době, kdy studenti tráví více času s mobilním zařízením než s počítačem, je i pro ně programování pro tablety a mobily zajímavější než programování pro stolní počítače. Toto je také jeden z důvodů, proč byla tato práce napsána. Vývoj pro tuto mobilní platformu jde velkým krokem kupředu a určitě se vyplatí sledovat, jakým směrem se bude ubírat dál. Ještě před pár lety nikdo Android skoro neznal a dnes máme u této nejpoužívanější mobilní platformy zajímavá vývojová prostředí, kde lze vytvářet i zajímavé aplikace na stejně zajímavých nejrůznějších zařízeních.
73
Použitá literatura Bibliografie 1. GRAND, Allen. Android 4 Průvodce programováním mobilních aplikací. 1. vydání. Brno: Computer Press, 2013. 656 s. ISBN 978-80-251-3782-6. 2. BUCHALCEVOVÁ, Alena a Iva STANOVSKÁ. Příklady modelů analýzy a návrhu aplikace v UML. 1. Vydání. Praha: Oeconomica, 2013. 197 s. ISBN 978-80-245-1922-7. 3. KUREC, Jiří a Vladislav JANEČEK. Typy a triky pro PocketPC. 1. Vydání. Praha: Computer Press, 2002. 108 s. ISBN 80-7226-816-3. 4. UJBÁNYAI, Miroslav. Programujeme pro Android. Kategorizace. 1. vydání. Praha: Grada Publishing, 2012. 187 s. ISBN 978-80-247-3995. 5. WOLBER, David et al. App Inventor. 1. vydání. Brno: Computer Press, 2014, 368 s. ISBN 978-80-251-4195-3
Internetové zdroje 1. Android Developers. Dashboards. [online]. 2014. [cit. 2014-07-20]. Dostupné z: https://developer.android.com/about/dashboards/index.html 2. Android Developers. Supporting Different Platform Versions. [online]. 2016. [cit. 201604-20]. Dostupné z: https://developer.android.com/training/basics/supporting-devices/platforms.html 3. Developer World – Sony. How to create an app extension for Sony SmartWatch 2. [online]. 2014. [cit. 2014-08-20]. Dostupné z: http://developer.sonymobile.com/knowledge-base/tutorials/android_tutorial/how-to-createan-app-extension-for-sony-smartwatch-2/ 4. Developer World – Sony. Develop. [online]. 2014. [cit. 2014-08-20]. Dostupné z: https://developer.sony.com/develop/#installsdk
74
5. Easystore.cz. Kolibree. [online]. 2014. [cit. 2014-05-27]. Dostupné z: https://www.easystore.cz/kolibree-chytry-sonicky-zubni-kartacek.html 6. GSM Insider. North Korea smarthphone. [online]. 2014. [cit. 2014-05-27]. Dostupné z: http://gsminsider.com/2014/04/arirang-as1201-vs-uniscope-u1201-north-korea-smartphone 7. MIT App Inventor. About Us. [online]. 2016. [cit. 2016-04-01]. Dostupné z: http://appinventor.mit.edu/explore/about-us.html 8. MIT App Inventor. Installing and Running the Emulator in AI2. [online]. 2016. [cit. 2016-04-01]. Dostupné z: http://appinventor.mit.edu/explore/ai2/setup-emulator.html 9. MIT App Inventor. Setting Up App Inventor. [online]. 2016. [cit. 2016-04-01]. Dostupné z: http://appinventor.mit.edu/explore/ai2/setup.html 10. NĚMEC, Petr. Naprogramujte si aplikaci pro mobilní telefon. Metodický portál RVP.CZ. [online]. 2016. [cit. 2016-03-26]. Dostupné z: http://spomocnik.rvp.cz/clanek/18203/NAPROGRAMUJTE-SI-APLIKACI-PROMOBILNI-TELEFON.html 11. Wikipedia. Android version history. [online]. 2014. [cit. 2014-04-27]. Dostupné z: http://en.wikipedia.org/wiki/Android_version_history 12. Wikipedia. App Inventor for Android. [online]. 2016. [cit. 2016-04-01]. Dostupné z: https://en.wikipedia.org/wiki/App_Inventor_for_Android 13. Wikipedia. Daň z přidané hodnoty. [online]. 2016. [cit. 2016-04-15]. Dostupné z: https://cs.wikipedia.org/wiki/Da%C5%88_z_p%C5%99idan%C3%A9_hodnoty 14. Wikipedia. Determinant. [online]. 2016. [cit. 2016-04-16]. Dostupné z: https://cs.wikipedia.org/wiki/Determinant 15. Wikipedia. Eclipse (software). [online]. 2016. [cit. 2016-04-01]. Dostupné z: https://en.wikipedia.org/wiki/Eclipse_%28software%29 16. Wikipedia. Google Glass. [online]. 2016. [cit. 2016-03-25]. Dostupné z: https://cs.wikipedia.org/wiki/Google_Glass
75
17. Wikipedia. Index tělesné hmotnosti. [online]. 2016. [cit. 2016-04-15]. Dostupné z: https://cs.wikipedia.org/wiki/Index_t%C4%9Blesn%C3%A9_hmotnosti
76
Seznam obrázků Obrázek
1:
Tabulka
využití
jednotlivých
verzí
systému
Android
Zdroj:
https://developer.android.com/about/dashboards/index.html, 27. 2. 2014 ............................... 12 Obrázek 2: Vývojové prostředí App Inventor se základní nabídkou projektu (Zdroj: vlastní) ...................................................................................................................................... 24 Obrázek 3: Vývojové prostředí App Inventor s bloky matematických funkcí (Zdroj: vlastní) ...................................................................................................................................... 25 Obrázek 4: Průvodce při vytváření nového projektu (Zdroj: vlastní) ...................................... 32 Obrázek 5: Vlastní metody pro výpočet ceny s DPH (Zdroj: vlastní)...................................... 37 Obrázek 6: Vlastní metoda pro výpis výsledku (Zdroj: vlastní) .............................................. 37 Obrázek 7: Přepínače určené pro výpočet jednotlivých cen s DPH (Zdroj: vlastní) ................ 38 Obrázek 8: Vlastní metoda pro výpočet BMI (Zdroj: vlastní) ................................................. 41 Obrázek 9: Vlastní metoda pro přiřazení údajů o BMI (Zdroj: vlastní) ................................... 42 Obrázek 10: Vlastní metoda pro zobrazení BMI (Zdroj: vlastní) ............................................ 42 Obrázek 11: Vlastní návrh aplikace na výpočet ceny s DPH (Zdroj: vlastní) .......................... 44 Obrázek 12: Blokové schéma aplikace na výpočet ceny s DPH (Zdroj: vlastní) ..................... 46 Obrázek 13: Vlastní návrh aplikace na výpočet BMI indexu (Zdroj: vlastní) ......................... 48 Obrázek 14: Blokové schéma aplikace na výpočet BMI indexu (Zdroj: vlastní) .................... 49 Obrázek 15: Vlastní návrh aplikace na výpočet determinantu matice 3 x 3 (Zdroj: vlastní) ... 51 Obrázek 16: Blokové schéma aplikace na výpočet determinantu matice 2 x 2 (Zdroj: vlastní) ...................................................................................................................................... 52 Obrázek 17: Konfigurace emulátoru pro Android (Zdroj: vlastní) .......................................... 53 Obrázek 18: Zobrazení výpočtu ceny s DPH v základní sazbě (Zdroj: vlastní)....................... 56 Obrázek 19: Zobrazení výpočtu ceny s DPH ve snížené sazbě (Zdroj: vlastní) ...................... 56 Obrázek 20: Zobrazení BMI výpočtu před zadáním potřebných dat (Zdroj: vlastní) .............. 57 Obrázek 21: Zobrazení BMI výpočtu po zadání dat s výslednou podváhou (Zdroj: vlastní) .. 58
77
Obrázek 22: Zobrazení BMI výpočtu po zadání dat s ideální váhou (Zdroj: vlastní) .............. 58 Obrázek 23: Zobrazení ceny s DPH v mobilním zařízení LG (Zdroj: vlastní) ........................ 60 Obrázek 24: Zobrazení na výšku BMI indexu v mobilním zařízení LG (Zdroj: vlastní)......... 60 Obrázek 25: Zobrazení na šířku BMI indexu v mobilním zařízení LG (Zdroj: vlastní) .......... 61 Obrázek 26: Zobrazení výpočtu ceny s DPH v základní sazbě (Zdroj: vlastní)....................... 63 Obrázek 27: Zobrazení výpočtu BMI indexu v emulátoru (Zdroj: vlastní) ............................. 65 Obrázek 28: Zobrazení výpočtu determinantu matice 2 x 2 v emulátoru (Zdroj: vlastní) ....... 66 Obrázek 29: Zobrazení výpočtu determinantu matice 3 x 3 v emulátoru (Zdroj: vlastní) ....... 67 Obrázek 30: Zobrazení výpočtu ceny s DPH ve všech sazbách (Zdroj: vlastní) ..................... 68 Obrázek 31: Zobrazení výpočtu BMI indexu (Zdroj: vlastní) .................................................. 69 Obrázek 32: Zobrazení výpočtu determinantu matice 2 x 2 v emulátoru (Zdroj: vlastní) ....... 70 Obrázek 33: Zobrazení výpočtu determinantu matice 3 x 3 v emulátoru (Zdroj: vlastní) ....... 71
78
Seznam zkratek ADT
Vývojový nástroj pro Android (Android Developer Tools)
API
Programové rozhraní aplikace (Application Programming Interface)
APK
Spustitelný soubor pro Android (Android application package)
BMI
Index tělesné hmotnosti (body mass index)
DPH
Daň z přidané hodnoty
HTML
Hypertextový značkovací jazyk (HyperText Markup Language)
JDK
Nástroj o vývoj aplikací na platformě Java (Java Development Kit)
JPG
Grafický formát (Joint Photographic Experts Group)
MP3
Formát ztrátové komprese zvukových souborů
NFC
Radiová bezdrátová komunikace (Near Field Communication)
PDA
Osobní kapesní počítač (Personal Digital Assistant)
PHP
Skriptovací programovací jazyk (Hypertext Preprocessor)
SDK
Nástroje, které využívá Eclipse (Software Development Kit)
USB
Univerzální sériová sběrnice (Universal Serial Bus)
XML
Rozšiřitelný značkovací jazyk (Extensible Markup Language)
79