Vývoj mobilních aplikací

Rozměr: px
Začít zobrazení ze stránky:

Download "Vývoj mobilních aplikací"

Transkript

1 Bankovní institut vysoká škola Praha Katedra informatiky a kvalitativních metod Vývoj mobilních aplikací Diplomová práce Autor: Bc. Tomáš Hochmuth Informační technologie a management Vedoucí práce: Ing. Jan Háněl Praha Duben, 2014

2 Prohlášení: Prohlašuji, že jsem diplomovou práci zpracoval samostatně a v seznamu uvedl veškerou použitou literaturu. 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 Třebíči dne Bc. Tomáš Hochmuth

3 Poděkování V této části práce bych chtěl nejprve poděkovat svému vedoucímu panu Ing. Hánělovi, který velmi trpělivě vedl mojí práci. Mé největší díky však patří mé mamince, která mi vytvořila báječné podmínky pro studium a tvorbu této práce.

4 ANOTACE Diplomová práce na téma vývoj mobilních aplikací pojednává o rozsáhlé problematice, která sestává z návrhu a optimalizace aplikací určené pro chytré mobilní telefony a tablety. Cílem práce je návrh mobilní aplikace z oboru bankovnictví, která by byla kompatibilní s operačním systémem Google Android. Práce pojednává o všech úskalích a nástrahách vývoje pro mobilní zařízení a díky praktickému výstupu tak může plnit roli příručky pro začínající vývojáře. Bohatý teoretický základ čtenáře provede veškerými odlišnostmi vývoje pro různé operační systémy a poskytne také kvalitní souhrn informací, které by mohl takový vývojář při svých začátcích potřebovat. KLÍČOVÁ SLOVA Vývoj aplikací, Android, Bankovní kalkulátor, chytré telefony, tablety SUMMARY The diploma thesis on the development of mobile applications deals with an extensive issue which consists of the design and optimization of applications designed for smart phones and tablets. The aim of the work is to design a mobile application in the field of banking that would be compatible with the Google Android operating system. The work covers all the pitfalls and dangers of development for mobile devices and through practical output it can act as a guide for beginning developers. Rich theoretical basis will guide the reader through all the differences in development for various operating systems and will also provide a good quality summary of information which a beginning developer might find useful. KEYWORDS Application Development, Android, Bank calculator, smart phones, tablets

5 Obsah Obsah Úvod Cíl práce Historie mobilních platforem Google Android Apple ios Windows Phone Úvod do vývoje mobilních aplikací Architektura OS Android Členění vrstev architektury OS Android Přístup k vývoji multiplatformního řešení Nativní aplikace Webové aplikace Hybridní aplikace Anatomie aplikací pro OS Android Notifikace (oznámení) Toast oznámení Oznámení ve stavovém řádku Oznámení formou dialogového okna Životní cyklus aplikace Životní cyklus aktivity Vlákna a procesy Priorita procesů Vlákna Android Manifest Elementy Atributy Přístupová oprávnění Knihovny Úrovně API (API Level) Nástroje pro vývoj aplikací v operačním systému Android Eclipse Android SDK... 26

6 Android ADB Fastboot Android NDK HyperNext Android Creator IntelliJ IDEA PhoneGAP Oracle ADF Mobile Uživatelské rozhraní OS Android Rozvržení obrazovky Rotace obrazovky při změně polohy zařízení Vizuální komponenty systému Android Textové popisky Tlačítka Zaškrtávací tlačítka Přepínače Obrázky Ekonomická základna aplikace Úvěr Úroková míra RPSN Výpočet RPSN Úvod do praktické části práce Java Development Kit (JDK) Software Development Kit (SDK) Základní konfigurace SDK: Doporučená konfigurace SDK: Plné konfigurace SDK: Optimalizace vývojového prostředí Eclipse Struktura projektu Bankovní kalkulátor Obsah kořenového adresáře Tvorba aplikací pro mobilní zařízení Etapy životního cyklu softwaru Analýza a návrh projektu Bankovní kalkulátor Definice vizuálního stylu... 49

7 Základní layout aplikace Implementace Objektově orientovaný návrh implementace Implementace databáze Získání dat o produktech z databáze Testování Testování během vývoje Emulátor Fyzické testování Ovládání aplikace Bankovní kalkulátor Distribuce aplikací prostřednictvím Obchodu Play Registrace do Google Play Postup pro vložení aplikace na Google Play Závěr Seznam použité literatury Tištěné monografie Elektronické monografie... 76

8 1. Úvod Vývoj mobilních aplikací prošel v několika posledních letech velmi dramatickými změnami. Prakticky stejnými, jako mobilní platformy samotné. Poprvé v historii je vývoj aplikací pro mobilní zařízení založených na ARM architektuře mohutnější a také výnosnější, než vývoj pro klasické desktopové platformy Windows či Unix. Prodeje herních titulů pro operační systémy mobilních telefonů v poslední době neustále rostou a již v této době můžeme mluvit o výrazném navýšení množství her, prodaných pro nejrozšířenější mobilní OS Android a ios. Dle průzkumů jsou lidé ochotnější zaplatit za mobilní aplikaci spíše, než za její variantu pro desktop. Jedná se o jakýsi bludný kruh, jelikož nelegální trh s aplikacemi roste a útoky na citlivá data uživatelů se násobí. Kvalitní antivirový program by neměl chybět v žádném desktopu vybaveném produkty Microsoftu. Toto tvrzení již stále více aplikujeme i u mobilních telefonů. Zejména nejmladší a nejrozšířenější systém od Google Android, se útoky malwaru doslova hemží. Užívání chytrého mobilního telefonu tak přestává být jednoduché a tato situace výrazně dopomáhá mnoha nově startujícím firmám ke vzniku nových služeb, kterými jsou například uvedení chytrého mobilního telefonu do provozu, základní nastavení, vybavení nejlepšími a nejbezpečnějšími aplikacemi pro denní využití, apod. Byznys kolem chytrých telefonů roste a představitelé nadnárodních korporací se zaměřením na IT, chrlí prognózy o brzkém útlaku klasických stolních počítačů i notebooků. Jejich náhradou mají být právě smartphony či tablety, tzv. přístroje do postele pro kvalitní konzumaci elektronického obsahu. Dobrý operační systém je dnes souhrn perfektní funkčnosti, hardwarové nenáročnosti a u mobilních platforem také dostatkem aplikací, které dělají systém uživatelsky atraktivním a přívětivým. V tuto chvíli jsou na trhu pouze dva opravdu silní hráči. Apple, který společně s jedním neustále inovovaným produktem iphone (případně ipad v roli tabletu) vytvořil dokonalý ekosystém aplikací AppStore a hudby itunes. Pokud přičteme také zálohování prostřednictvím Time Machine, či sledování televize přes Apple TV, je tento jablečný výrobce dokonalým představitelem inovátora na poli chytrých mobilních přístrojů a služeb. Druhým, v některých zemích již stále více dominantním konkurentem, je OS Android od společnosti Google. V prvních verzích nebyl zrovna čestným souputníkem, ovšem v posledních aktualizacích zejména na verzi Kit Kat se dá již hovořit o perfektním konkurentovi ios od Apple. Největší vývojářskou předností Androidu je jeho otevřený kód, který může upravit téměř každý. Z uživatelského hlediska pak oceníme propracovaný Android Market, který nově nalezneme pod jménem Obchod Play (anglicky Play Store ). V něm uživatel nalezne statisíce aplikací a her pro nepřeberné množství 1

9 modelů mobilních telefonů. A právě tomuto mladému operačnímu systému se bude tato diplomová práce věnovat Cíl práce Vývoj aplikací z hlediska různorodých platforem operačních systémů je vždy zdlouhavá systematická činnost, kterou není vhodné uspěchat. Na zahraničních trzích byl v minulých letech dominantní Apple, ovšem s masovým rozšířením Androidu se karty obrátily. Android, jehož podobnost lze nalézt v Linuxu, prošel ohromnými změnami a vývoj aplikací pro tuto platformu nabývá na popularitě. Podniky se stále více ubírají cestou open-source řešení a podobně založený mobilní systém tento fakt jen podpořil. Firmy marně shánějí kvalitní programátory a některé vysoké školy již na tento chybějící článek v řetězci zareagovaly vypsáním specifických předmětů, ve kterých se vývoj pro Android přímo vyučuje. Nezbytností se však stává alespoň základní znalost objektově orientovaného jazyka Java. Spojením androidího frameworku Android SDK a vývojového softwaru Eclipse vzniklo intuitivní a stabilní prostředí pro vývoj všech typů aplikací, určených pro tento systém. Programovat lze samozřejmě v jakémkoliv vývojovém prostředí, ať už je to obyčejný poznámkový blok, či sofistikovaný vývojový software, který vývojáři usnadní spoustu práce. Osobně jsem si pro vývoj aplikace vybral již zmíněné Eclipse, jakožto open-source vývojové prostředí pro přímé programování v Javě. Cílem této diplomové práce je tedy letmé představení mobilního operačního systému Android se specifikami vývoje pro tento systém. Výstupem této práce bude aplikace na téma bankovního kalkulátoru, která doplní i mé teoretické znalosti v oblastech bankovnictví. Studijní oporou při vývoji aplikace a tvorbě této práce mi byly tři tištěné a výborně napsané publikace, které jsou nyní téměř povinnou četbou každého, kdo chce pro Android vyvíjet. Jedná se o knihy Programujeme pro Android od Miroslava Ujbányaiho, Android 2 od Marka L. Murphyho a Android 4 od Granta Allena. Společně s dokonale zpracovanými tutoriály od Google, dostupnými na adrese developer.android.com se jedná o kvalitní vědomostní základnu. 2

10 1.2. Historie mobilních platforem Není tomu tak dlouho, kdy mobilní aplikace pro běžné, dnes již tzv. hloupé telefony znamenaly využití technologie Java aplikace takto vytvořené měly datovou strukturu JAR a do mobilního telefonu se instalovaly většinou přes WAP ( Wireless Application Protocol ), či pomocí USB kabelu. Nebylo tedy těžké obstarat si základní programové vybavení. Bohužel stinnou stránkou byly často poměrně vysoké ceny těchto aplikací. Připojení na web bylo velmi drahé a kvalitních aplikací pomálu. S příchodem prvních smartphonů, tedy chytrých telefonů vybavených operačním systémem se situace začala postupně projasňovat. Nutno dodat, že není to operační systém, který automaticky dělá chytrý telefon chytrým. Předpokladů je mnoho a zajímavým příkladem může být i uzavřený ekosystém, vytvořený Samsungem, který navrhl operační systém pro hrstku vyvolených modelů pod shodným označením Wave. Součástí takového telefonu již byl procesor, operační paměť atp. Tedy vybavení shodné s osobním počítačem a zadávající předpoklad pro první generaci smartphonů. Tento systém zvaný jednoduše Samsung OS (později OS Bada) obsahoval i první online obchod pro nákup aplikací, těch však bylo velmi málo a s nastupujícím Androidem se zájem o něj stočil jiným směrem. Bada měla přitom našlápnuto na pozici, ve které by silně konkurovala tehdy nedokonalému Androidu či Symbianu. S příchodem modelů Galaxy však Samsung ukončil další vývoj a ohlásil budoucí návrat platformy, vylepšeným o spolupráci se společností Intel. Nový operační systém by měl nést název OS Tizen. Nesmírně důležitým článkem ve vývoji operačních systémů pro mobilní telefony byla Nokia. Počáteční vývoj mobilního OS probíhal ve spolupráci s Motorolou, Ericssonem a Psionem již v roce Pravý operační systém v té podobě, ve které ho většina z nás zná, přišel kolem roku Byl představen komunikátor Nokia 9210 s otevřenou platformou Symbian verze 6. Prodeje byly dech beroucí a mnoho lidí tento typ přístroje používá dodnes. O tři roky později můžeme hovořit o odladěném systému, který nalezneme na nepřeberném množství mobilních telefonů, pozdější verze se vždy vyznačovaly podporou některých v té době exotických technologií. V roce 2004 uměl Symbian mobilní síť třetí generace, bylo jej tedy možné (zejména v zahraničí) používat coby prohlížeč internetových stránek. Velice významnými a bohužel i takřka posledními verzemi byl Symbian Anna a Belle, které se vyznačovaly nízkými nároky na hardware telefonu a jejíchž uživatelské prostředí se čím dál více 1 Symbian OS. In: Wikipedia: the free encyclopedia [online]. San Francisco (CA): Wikimedia Foundation, [cit Dostupné z: 3

11 inspirovalo rostoucím Androidem. Ať byl Symbian jakkoliv průlomovým systémem, hřebíčkem do rakve mu byly právě aplikace. Respektive jejich výrazný nedostatek. Jak již v úvodu zaznělo, jsou to právě tržiště s aplikacemi, která dělají mobilní operační systémy atraktivními. Nezájem ze strany vývojářů se podepsal na postupném konci této platformy. Nokia se rozhodla Symbian opustit a přejít k redmonskému Microsoftu. V současnosti již spolehlivě víme, že smluvní akt Nokie podmíněný distribucí svých modelů s operačním systémem Windows Phone byl svým způsobem upsání ďáblovi. Dnes již silné trio systémů ios od Apple, Android od Google a Windows Phone od Microsoftu nic a nikomu neodpouštějí. Na trhu toto trio obsadilo vůdčí pozice a slabší články v podobě minoritních systémů již neměly šance uspět Google Android V roce 2008 přišel na trh velmi silný hráč, který zamíchal kartami, aby později převzal žezlo na poli mobilních telefonů. Systém, který vytvořila hrstka programátorů v čele s Andy Rubinem, coby jednoduchý koncept operačního systému konkurující zavedenému systému ios od Applu. Byl jím Android ve verzi 1.0 založený na linuxovém jádře Tentýž rok představila firma HTC svůj první a dnes již legendární Android telefon Dream (prodávaný také jako T-Mobile G1). Android se od této chvíle dramaticky měnil a první výrazná změna přišla s verzí 1.5 s kódovým označením Cupcake. Zde mluvíme již o plnohodnotném systému pro mobilní telefony všech značek. Došlo k implementaci virtuální klávesnice, přidáno bylo množství systémových animací a v neposlední řadě přibylo také mnoho uživatelských vylepšení, jako přímé nahrávání videí na portál YouTube či rotace aplikací při rotaci displeje. Netrvalo půl roku, kdy vyšla další verze s číslem 1.6 a kódovým označením Donut. Ta přinesla plnou podporu VPN a syntézu řeči. Jen o měsíc později následovala verze 2.0/2.1 Eclair, která mimo jiné vylepšila rychlost hardwaru, přinesla nové mapy, podporu HTML5 a také Bluetooth 2.1. V květnu 2010 přišla donedávna nejrozšířenější verze 2.2 Froyo, která umožnila přesouvat instalace aplikací na paměťovou kartu, což bylo velmi důležité pro smartphony z levné produkce, nedisponující větší interní pamětí. Tato verze nabídla plnohodnotný Adobe Flash, zlepšovala také využití operační paměti a zejména umožnila tzv. tethering. Tedy vytvoření bezdrátového Wi-Fi hotspotu. Zanedlouho dorazila určitou dobu velmi populární verze 2.3 Gingerbread, která se usídlila zejména ve slabších přístrojích. Tato verze přinesla plnou podporu technologie NFC a zlepšila se také správa paměti. Pro uživatele došlo ke zlepšení funkce copy/paste. Přímou odnoží od zavedeného Gingerbreadu byla specifická verze pro tablety. Zajímavostí byl fakt, že doposud byly 4

12 všechny vývojové větve Androidu vždy open-source. Android ve verzi 3.0 a jeho inovované subverze 3.1 a 3.2 s kódovým označením Honeycomb byl naprogramován za účelem prodeje IT korporacím, které tuto verzi později upravovaly o svoje grafické nadstavby. Výhodou Honeycombu byla bezesporu výborná optimalizace pro velké obrazovky. Inovovaný vzhled přispěl k masovému rozšíření tabletů s Androidem. Ve srovnání s konkurencí, které nebylo mnoho a byl jím prakticky nejznámější tablet z rodiny Apple ipad, však Android stále ztrácel. HoneyComb neustál trendy na design a záhy jej vystřídala revoluční verze určená jak pro telefony tak i tablety. Koncem roku 2011 vzešla čtvrtá verze s označením Ice Cream Sandwich, která dokázala zaujmout inovacemi v podobě odemykání telefonu obličejem, panoramatickým focením či vylepšeným hlasovým ovládáním. Inovací bylo mnoho a v odborné veřejnosti se mluvilo o plnohodnotném konkurentovi iphone od Applu. Netrvalo však dlouho a spekulace o novém nástupci padly přesně , kdy byla představena nikoliv inovovaná verze čtvrté generace Androidu, ale zcela nový systém s unikátními prvky funkcionality, který až nyní můžeme považovat za výrazného konkurenta ios. Jedná se o verzi 4.1/4.2 Jelly Bean. Nejzásadnější inovací byl projekt Butter, který výrazným způsobem zrychlil běh celého systému. Fotoaparát dostal funkci sférického focení, tedy schopnost vytvářet prostorové snímky. Podpora uživatelských účtů, které známe z desktopů či Google Now je jen příjemným vylepšením jinak téměř perfektního operačního systému. V současné době mluvíme o nástupci, který díky kontraktu s firmou Nestlé dostal název Kit Kat. Verze 4.4, která se již dočkala i prvních aktualizací, byla představena 3. září roku 2013 a přináší kromě stávajících funkcí Jelly Beanu také novou verzi linuxového jádra, který lépe hospodaří s operační pamětí a který je také lépe optimalizován pro více jádrové procesory. Hlavní devizou této verze je výrazně zlepšená rychlost systému, která vynikne zejména na čistém Androidu z rodiny přístrojů Nexus. 5

13 Příloha č. 1 GIZMODO.CO.UK: Android Evolution [fotografie]. Dostupné z: Apple ios Nezávisle na oblibě jablečných produktů se musí úvodem uznat Steve Jobs byl vizionář a svojí revolucí v podobě dosud nevídaného mobilního telefonu iphone, udělal mezi běžnými lidmi značný rozruch. Od roku 2004 pracoval na přísně tajném projektu Purple, aby o tři roky později představil světu telefon, za který by se nemusel stydět leckterý sci-fi film. Telefon, jehož ovládání bylo pouze dotykové a jehož displej byl nejjemnější, který jsme dosud v telefonu kdy viděli. Během jednoho dne se z iphone stal naprostý prodejní hit, který bořil zažité konvence. Fenomenální projev Steva Jobse dnes můžeme považovat za legendární a tak, jak úspěšně startoval iphone, tak i jeho zvětšená tabletová verze zvaná ipad, trhala neuvěřitelné prodejní rekordy. Ostatně, dnes již můžeme s klidným svědomím říci, že to byl právě Apple, který odstartoval vysokou poptávku po dotykových mobilních telefonech s operačním systémem. Dá se tedy nadneseně říci, že ostatní jen kopírovali. S postupnými nároky uživatelů rostly i verze iphonu. V roce 2008 přišla verze 3G, která přinesla podporu UMTS sítí a GPS navigace. O rok později mluvíme o inovované verzi 3GS, která získala rychlejší procesor, dvojnásobnou velikost paměti a funkci digitálního kompasu. Byla také zlepšená dotyková vrstva displeje, která více odolávala otiskům prstů. V roce 2010 představil Apple světu iphone 4, který dostal zejména inovovaný vzhled. Ten se mnohým lidem nezalíbil a tak od Applu nadobro odešli. Kdo přetrval, ocenil konstrukci kombinující hlinitokřemičité sklo s nerezovými okraji, které sloužily jako anténa. Po celém světě zanedlouho propukla aféra s vypadávajícím signálem při nesprávném úchopu telefonu. V USA se vžilo spojení Antenna-Gate. Apple tento nešvar řešil speciálním pouzdrem zvyšující signál přístroje. Za tento krok sklidil velkou nespokojenost a odliv zákazníků směrem ke stále 6

14 rostoucímu Androidu. Tato čtvrtá generace iphonu přinesla velmi jemný displej s rozlišením 960 x 640 bodů s marketingovým označením RETINA. Toto spojení můžeme nalézt jak u notebooků řady Macbook, tak i u tabletů řady ipad. Pátá generace iphone, o které se hovořilo, jako o další revoluci přinesla spíše zklamání. Apple prakticky pouze inovoval stávající model, ke kterému přidal písmenko S a nabídl tak pouze zrychlený procesor s dvěma jádry a inovovaný grafický čip. Další, menší inovací byl fotoaparát, který si po důkladném otestování odborníky odnesl spíše podprůměrné ohodnocení. Pravá revoluce přišla 12. září 2012, kdy byl uveden iphone 5. Přístroj získal větší 4 displej s rozlišením 1136 x 640 bodů a dvou-jádrový procesor architektury Cortex-A15 s 1GB operační pamětí. Ani této předposlední verzi se nevyhnuly menší či větší aféry. Prvním byl únik informací o skutečné ceně hardwaru, použitého při výrobě telefonu. Na světlo vyšly informace, že výrobní cena je čtyřnásobně nižší, jak cena prodejní. Dalším neduhem byl materiál, ze kterého je iphone 5 zpracovaný. Apple poprvé použil eloxovaný hliník a ten se projevil, jakožto velmi měkký a nepříliš vhodný materiál. Při testech se mimo jiné zjistilo, že černá hliníková záda nejsou probarvená a při poškrábání se odhaluje skutečná stříbrná barva hliníku. Není tedy překvapením, že iphone 5 se již nestal tak fenomenálním prodejním trhákem, jako předchozí verze. Prozatím nejnovějším počinem Applu je trošku pozměněná logika uvádění nových modelů. Jelikož od uvedení posledního modelu uplynula již poměrně dlouhá doba, začal nový ředitel společnost Tim Cook plánovat, jak změní stávající model, aby donutil své zákazníky k upgradu. Jelikož byl stávající model poměrně oblíbený a vyhlídky na prodejní trhák ve formě nového modelu se začaly zahalovat hustými mračny, rozhodl se Apple, že výrobu hliníkového iphonu ukončí. Místo něj došlo k uvedení dvou nových modelů. iphone 5C, který suploval levnější variantu klasického hliníkového iphonu 5, avšak vybaveného barevnými polykarbonátovými kryty a zcela novým modelem iphone 5S, který z hlediska designu nepřinesl nic nového, ovšem z hlediska výbavy došlo k zcela inovativnímu řešení ve formě čtečky otisků prstů, díky kterému lze telefon odemykat bez použití gest či hesel. Stejné ověřování funguje i v AppStore, kde je možné ověřit identitu kupujícího na základě otisku prstu. Vylepšen však byl také hardware, Apple přišel s 64 bitovou architekturou procesoru, který nově nazval co-procesor. Ta snoubí výkon klasického mobilního procesoru s odděleným čipem zajišťující dohled nad polohou celého mobilního přístroje. Nutno dodat, že po smrti Steva Jobse to nemá Apple jednoduché a se sílící konkurencí bude stále těžší prosadit své výrobky a neudělat přitom fatální chyby. 7

15 1.5. Windows Phone Historie chytrých telefonů obsahující operační systém Windows není dlouhá a ani bohatá. Windows je s tímto systémem znám spíše coby Windows Mobile, který veřejnost už zcela jistě poznává. Windows Phone je systém, který však není s Windows Mobile zpětně kompatibilní. Jedná se o kompletně nově navržený operační systém včetně aplikačního vybavení. Píše se 21. říjen 2010, kdy Microsoft uvádí zcela nový a svým způsobem i revoluční systém kombinující velmi nízké hardwarové nároky a jednoduchý vzhled, kterému samotné vedení společnosti říká Metro. Základem domovské obrazovky jsou dlaždice, z nichž každá nese nějakou informaci, propojenou s danou funkcí. Microsoft již zkraje oznámil, jaké požadavky musí telefony s tímto operačním systémem splňovat. Není tedy překvapením, že jsou si jednotlivé modely telefonů až nápadně podobné. Využití OS Windows Phone v Česku doprovází mnoho problémů. Integrovaný vyhledávač Bing nebyl ještě donedávna zcela uzpůsoben pro tuzemské využívání a tak byly některé výsledky neuspokojivé. Problémem mohlo být i samotné zaregistrování přístroje včetně propojení s tržištěm aplikací, který Microsoft pojmenoval Market Place, později stroze Store. První verze systému označená číslem 7 neobsahovala některé základní funkce, kterými konkurence již dávno disponovala. Microsoft však na některé problémy velmi brzy reagoval a uvolňoval pravidelné systémové aktualizace (verze 7.5). Velkou devizou mobilního systému od MS, je ideální spojení s podnikovou sférou. K dispozici tak je mobilní verze plnohodnotného kancelářského balíku Office včetně napojení na cloudové uložiště SkyDrive (nově přejmenované jako OneDrive). Perfektní spojení s Exchange, Dynamics a SharePoint z tohoto systému dělá velmi zajímavou alternativu pro podnikové využití. Významné vylepšení systému přišlo až po téměř dvou letech, kdy MS oznámil verzi 7.8, které přineslo nový design UI a výrazně větší počet kvalitnějších aplikací. Nejnovější verze, která staví na odlišné architektuře, je značena číslovkou 8 s kódovým označením Apollo. Tato verze systému je zpětně nekompatibilní a proto nebude možné využívat aplikace napsané pro Windows Phone 7. Tento krok vyvolal značné vášně a pro mnoho krajních zastánců tohoto systému, to byla poslední kapka do poháru trpělivosti. Jelikož je mobilní divize Microsoftu řízena lidmi, kteří dokáží uznat chybu, přichází tato divize v krátké době s několika důležitými aktualizacemi. Samotný Windows Phone 8 je prakticky třetí generací mobilního OS od Microsoftu. Představen byl koncem října Jedná se o náhradu Windows CE s jádrem NT, ovšem bez zajištěné zpětné kompatibility. V prvotních verzích byl systém velmi omezený a vzhledem k vlažným prodejům se MS 8

16 rozhodl vydávat objemné systémové aktualizace, které měly po vzoru konkurence, přidávat některé již dávno rozšířené funkce. Za nejdůležitější aktualizaci můžeme považovat NDR 2, která začátkem července 2013 přinesla FM rádio, propojení s Google službami (snaha přetáhnout uživatele Androidu byla více než patrná), vyřešení problémů s dočasnými soubory, které často ukrojily i několik GB z vnitřní paměti. Vylepšen byl výkon a stabilita systému, jako celku. V době, kdy vznikala tato diplomová práce, se hojně hovoří o největší aktualizaci od samotného vzniku mobilního Windows. V červenci roku 2014 přijde oficiální navýšení systému na verzi 8.1, který přinese několik zásadních novinek, mezi které bude patřit notifikační centrum, podpora VPN, možnost změnit si tapetu (dosud šlo měnit pouze barvu dlaždic), nová hlasová asistentka (po vzoru Siri z ios), přímá podpora čtyř jádrových procesorů či fullhd displejů. Inovovaný systém by měl nést název Cyan. 9

17 2. Úvod do vývoje mobilních aplikací Vývoj pro mobilní telefony, jak již zaznělo v úvodu této práce, je často mnohem obtížnější procedura, než obdobný vývoj pro desktopové platformy. U mobilních zařízení telefonů či tabletů, je nutné brát v potaz velmi omezené portfolio zdrojů. Předně, mobilní zařízení mají často omezenou kapacitu paměti či slabší výpočetní schopnost danou neplnohodnotnými procesory a grafickými čipy. Architekturu mobilních procesorů nelze s těmi desktopovými srovnávat. Dnešní procesory mobilních telefonů a tabletů mají na první pohled vysoké hodnoty taktovací frekvence. Není neobvyklé, že hodnotnější mobilní telefony obsahují i čtyřjádrové procesory s minimální frekvencí 1,5 GHz a k tomu vysoce výkonné grafické čipy určené k hraní i těch nejnáročnějších her. Takový procesor však z hlediska výrobní technologie, velikosti cache paměti, ale i schopnosti odvádět teplo, nebude nikdy přímým konkurentem klasických procesorů ve stolních počítačích či noteboocích. Při programování aplikací a tedy i zmiňovaných graficky náročných her, je třeba brát v úvahu omezenou kapacitu baterie telefonu. Je tedy nutné, aby byla aplikace dokonale optimalizovaná. Není žádoucí, aby díky své náročnosti tyto aplikace zamrzávaly, padaly, či se například vůbec nespustily. Ranné programování pro Android toto bohužel velmi dobře zná a tak je Android také známý jakožto roztříštěný systém, jehož aplikace nejsou vždy zcela spolehlivé. S posledními verzemi systému toto tvrzení naštěstí ustupuje, ovšem bezpečnostní politika Google je v tomto směru stále trochu nešťastná a tržiště s aplikacemi, které je souhrnně nazýváno Obchod Play kypí stovkami až tisícími nekvalitních či záměrně škodících aplikací, které nezkušenému uživateli mohou poměrně závažně ublížit. V tomto směru má oproti konkurenci Google stále co dohánět. Základním předpokladem pro vývoj aplikací je znalost vyššího programovacího jazyka. ios sází na jazyk Cocoa, za jehož názvem se skrývá objektové C (Objective C), které je vlastně klasickým jazykem C doplněným o podporu objektů. Programátoři mají tento programovací jazyk velmi rádi, protože aplikace napsaná pro iphone bude bez jakýkoliv problémů stejně dobře fungovat také na ipadu či samotném OS X. Windows šel vždy svojí cestou, programování pro Windows znamenalo téměř vždy znalost C# či.netu. V současnosti nabízí Microsoft několik cest vývoje aplikací pro svůj mobilní operační systém. Nejznámějším je platforma Silverlight, která najde ve spojení s XNA frameworkem využití i v jednoduchých hrách pro XBOX. Operační systém Android, o kterém tato práce pojednává, sází na výhody i nevýhody nejrozšířenějšího multiplatformního jazyka Java. Tento jazyk je mezi vývojáři střídavě na vrcholu i samém dnu. Z jazyka určeného pro programování jednotlivých pracích 10

18 cyklů automatických praček se stal jazyk, který dnes nalezneme téměř všude. Jeho obrovskou výhodou je snadná přenositelnost a široké spektrum využití. Samotný jazyk Java by nestačil a tak pro přímý vývoj pro Android využíváme specifický framework, který se souhrnně nazývá Android SDK. Ten obsahuje potřebné soubory, ze kterých vývojář sestaví vizuální komponenty aplikace. Abychom mohli psát kvalitní aplikace, je nutné poznat samotný operační systém. Nyní se tedy soustředím pouze na Google Android, o kterém tato práce pojednává Architektura OS Android Definovat operační systém lze jako spojnici mezi hardwarem a uživatelem. V dnešní době se odvažuji tuto definici jemně zpochybnit. Jistě, operační systémy nám zprostředkovávají práci s CD mechanikou, pevným diskem či jinými komponentami v počítači. V době, kdy tu podobné systémy nebyly, se však počítače ovládaly specifickými příkazy v terminálu. Z dnešního uživatelského pohledu to postrádalo značné pohodlí, však ovládání takového sálového počítače bylo jen pro hrstku vyvolených. Operační systém dnešního chytrého telefonu není jen spojnicí hardwaru a uživatele. Je to doslova ekosystém poskytující neskutečné množství funkcí, informací a možností. Uživatel, který zapne svůj chytrý mobilní telefon často ani neví, jaká práce se skrývá za všemi činnostmi, které jsou tak podstatné pro to, aby telefon správně fungoval. Dnešní smartphone je velmi podobný klasickému stolnímu počítači. Při zapnutí se aktivuje zavaděč (bootloader) a započne start operačního systému. V prvních chvílích bývá operační systém doslova paralyzován. Shromažďuje informace o jednotlivých periferiích v telefonu interní paměti ROM, operační paměti RAM, procesoru, baterii, apod. Po plném zavedení operačního systému započne čtení informací o aplikacích, které si uživatel nainstaloval. Dalo by se říci, že historie se opakuje. Stejně jako v minulosti, čím výkonnější počítač, tím rychlejší start systému. I v mobilních telefonech existuje pomyslné minimum, které garantuje pohodlnou použitelnost daného operačního systému. První mobilní telefony s Androidem byly často osazeny velmi slabým hardwarem. Samotný systém Android nebyl zpočátku tak náročný, jako dnes, ovšem i přesto byly problémy se stabilitou systému velmi časté. 11

19 Architektura operačního systému Android se skládá z celkem pěti vrstev. Každá vrstva provádí různé operace a vystupuje víceméně samostatně. V praxi však dochází ke spolupráci jednotlivých částí a vrstvy tímto nejsou mezi sebou striktně odděleny. 2 Příloha č. 2 ELINUX.ORG: Android Architecture [fotografie]. Dostupné z: Členění vrstev architektury OS Android Linux kernel Základní vrstvou architektury bývá u operačních systémů tzv. kernel (jádro). Funkce kernelu spočívá v zavedení abstrakce mezi hardwarovou a softwarovou částí. Během startu operačního systému je tento kernel zaveden do operační paměti RAM a v takové chvíli má již plnou kontrolu nad celým operačním systémem. Libraries Tato část architektury zahrnuje kompletní správu knihoven potřebnou při vývoji aplikací. Jednotlivé knihovny zastávají předem vymezené funkce. Uveďme výčet těch nejzákladnějších: SQLite knihovna obsahující relační databázi. 2 UJBÁNYAI, Miroslav. Programujeme pro Android. Vyd. 1. Praha: Grada, 2012, s. 17. Průvodce (Grada). ISBN

20 SSL knihovna pro podporu využívání šifrovaného protokolu zejména v internetových aplikacích. SGL základní knihovna sloužící pro 2D grafiku Android.widget knihovny podporující prvky uživatelského rozhraní (tlačítka, seznamy, apod.) Android Runtime Tato vrstva obsahuje virtuální stroj DVM (Dalvik Virtual Machine) a základní Java knihovny. Virtuální stroj Dalvik byl vyvíjen od roku 2005 speciálně pro Android společnosti Google pod vedením Dana Bornsteina. DVM má registrově orientovanou architekturu a využívá základních vlastností linuxového jádra, jako je například koordinace běžících procesů, správa paměti nebo práce s vlákny. Nový virtuální stroj přišel na svět, jelikož programátoři, kteří vyvíjeli aplikace pro Android, toto čin prostřednictvím jazyka Java, jehož knihovny jsou licencovány jako open source, avšak samotný virtuální stroj (JVM), který slouží pro překlad programu do spustitelné podoby, již volně šiřitelný není. Dalším důvodem vzniku DVM bylo optimalizovat virtuální stroj pro potřeby mobilních zařízení, tudíž hlavní roli hrál výkon spolu s úsporou energie. Obsah knihoven Java lze téměř srovnat s platformou Java SE (Standard Edition), jejímž základem jsou JVM, API knihovny základních funkcí a API knihovny pro vytváření klientských desktopových aplikací, s tím rozdíle, že ATW a Swing byly u OS Android nahrazeny knihovnami pro tvorbu uživatelského rozhraní a přibyly také knihovny Apache pro práci se sítí. Samotné aplikace pro Android jsou programovány v programovacím jazyce Java, následně překládány do Java byte kódu, a nakonec do mezikódu pomocí Dalvik kompilátoru. Výsledný byte kód je spuštěn na DVM. Každá taková aplikace je samostatný proces s vlastní instancí DVM 3 Application Framework Pro programátory se jedná zřejmě o jednu z nejdůležitějších vrstev. Aplikační rámec nabízí přístup k nejrůznějším službám. Ty lze poté využít přímo ve svých aplikacích. Díky těmto rámcům mohou aplikace přistupovat k nejrůznějším částem systému jako např. číst stav baterie, používat samotný hardware telefonu či spouštět jiné aplikace na pozadí. Mezi důležité aplikační rámce patří: Notification Manager zobrazuje stavový řádek s vlastními upozorněními. 3 UJBÁNYAI, Miroslav. Programujeme pro Android. Vyd. 1. Praha: Grada, 2012, s. 19. Průvodce (Grada). ISBN

21 Content Providers pracuje s obsahem jiných aplikací SMS zprávy, telefonní seznam, apod. Activity Manager má na starosti životní cyklus aplikace, tedy start, běh i terminace. View System nabízí prvky uživatelského prostředí jako tlačítka, textová pole, apod. Package Manager sestává z informací o aplikacích nahraných do OS Android. Applications Poslední vrstvou jsou již samotné aplikace, které většina uživatelů vnímá coby ikonky v Obchodu Play. Tyto aplikace mohou být v samotném systému také předinstalovány Přístup k vývoji multiplatformního řešení Vývojář, který vytváří mobilní aplikace, může čerpat z ohromného množství postupů, jak docílit vytvoření aplikace pro danou platformu. Z hlediska členění se aplikace dělí do třech základních typů: Nativní aplikace Nativní aplikace je postavena přesně na daný typ operačního systému. Je tedy vyvíjena pod specifickým programovacím jazykem a pracuje přímo s operačním systémem mobilního zařízení. Vzhledem k tomu, že je tato spolupráce velmi těsná, jsou tyto aplikace z hlediska výkonu nejrychlejší a samozřejmě také nejstabilnější. Do této skupiny můžeme zařadit graficky náročné hry, aplikace obsluhující fotoaparát, apod. Jako příklad nativní aplikace lze uvést Angry Birds či Facebook Webové aplikace Základním rozlišovacím pravidlem je skutečnost, že k běhu aplikace je nutný webový prohlížeč. Aplikace tedy běží přímo v něm. Tvoříme jí nejčastěji pomocí HTML5, CSS a JavaScriptu. Z hlediska výkonu se jedná o značně jednoduché aplikace, nejčastěji na bázi vyhledávacích služeb jízdní řády, hudba, filmy, apod. Mezi hlavní negativum patří neschopnost pracovat bez internetového připojení Hybridní aplikace Poslední typ aplikací je velmi podobný té nativní s tím rozdílem, že jádro aplikace je tvořeno pomocí standardních webových technologií, jako je HTML+CSS či JavaScript. Toto webové jádro je uloženo a spuštěno uvnitř nativní aplikace. Dokončení aplikace je postaveno na stejných nástrojích, jako u nativních aplikací. 14

22 Příloha č. 3 BLOG.MELTMEDIA.COM: There s More Than One Way to Build Mobile Apps [fotografie]. Dostupné z: Anatomie aplikací pro OS Android Systém Android využívá velmi podobné koncepce, jako běžný desktopový operační systém. Aplikace, které vývojář naprogramuje, se vyznačují stejnými specifiky, jako ty, které jsou určeny pro dospělý operační systém uvnitř stolních počítačů. Aplikace sestávají z následujících komponent: Aktivity jedná se o základní stavební jednotku určenou k tvorbě uživatelského rozhraní. Tyto aktivity lze chápat jako analogii dialogů či oken aplikací pro běžné operační systémy, které známe z desktopů. Dodavatelé obsahu základním posláním této komponenty je poskytování obsahu všem aplikacím v systému. U této komponenty dochází k základním pracem s daty, zejména k ukládání a načítání. Služby Aktivity a dodavatelé obsahu jsou entity s krátkou životností a lze je kdykoliv vypnout. Služby jsou oproti tomu navržené tak, aby, pokud je to potřeba, pokračovaly ve své práci nezávisle na jakékoliv aktivitě. Službu můžete použít k detekci aktualizací RSS zdroje nebo k přehrávání hudby, které pokračuje, dokonce i když už byla příslušná ovládací aktivita uzavřena 4 Záměry jedná se o systémové zprávy, které upozorňují na výskyt nějaké události tím, že změní hardwarovou konfiguraci, či ukončí nějakou další aplikaci. Pro lepší 4 MURPHY, Mark L. Android 2: průvodce programováním mobilních aplikací. Vyd. 1. Brno: Computer Press, 2011, s. 23. ISBN

23 představu lze záměru nadefinovat určitě postupy událostí, které budou reagovat v závislosti na poloze systému, času, či stavu baterie. Je tedy možné vytvořit záměr, který omezí maximální nastavení jasu displeje poté, co kapacita baterie klesne pod 15 % Notifikace (oznámení) Při vývoji operačního systému Android bylo nutné zkonstruovat místo, kde se budou soustřeďovat veškerá systémová upozornění. Android šel svojí cestou a tak byla vytvořena tzv. notifikační lišta. Nejsvrchnější část displeje, která zahrnovala ukazatele času, síly signálu či připojení, ale třeba také příchozí/zmeškaná volání, či SMS. Jednoduchým tahem dolů, bylo možné lištu vysunout a tím získat podrobný přehled o stavu všech událostí. Výrobci se později rozhodli prázdné místo v liště využít pro ovládací prvky displeje, aktivaci/deaktivaci Wi-Fi, vibračního zvonění, atp. Existují tři techniky pro zobrazení oznámení toast notifikace, oznámení ve stavovém řádku a oznámení formou dialogového okna: Toast oznámení Tento typ oznámení se objeví na pracovní ploše okna. Zpráva oznámení vyplní pouze tolik prostoru, kolik zabere samotný text oznámení. Oznámení automaticky zmizí a nepřijímá žádné interakce od uživatele. Tento způsob zobrazení zprávy lze vygenerovat jak z aplikace běžící na popředí, tak i pomocí služby běžící na pozadí. Zpráva bude vypadat vždy stejně. Oznámení je vhodné použít pro zobrazení krátké zprávy, jako např. Soubor uložen, nebo v okamžiku přijetí nového u, či SMS. 16

24 Příloha č. 4 BANKOVNÍ KALKULÁTOR: Ukázka toast upozornění [fotografie] Oznámení ve stavovém řádku Při tomto způsobu oznámení se do stavového řádku přidá ikona aplikace a rozšíří se seznam oznámení o naši zprávu. Oznámení může být identifikováno také pomocí zvukové či světelné signalizace (LED diodou), nebo pomocí vibrace zařízení. Tento druh oznámení je ideální, když aplikace pracuje na pozadí a služba musí informovat uživatele o vzniklé události. Potřebujeme-li upozornit uživatele na událost, která nastane, zatímco je aktivita stále v centru pozornosti, je vhodnou volbou právě tento typ upozornění Oznámení formou dialogového okna Při tomto způsobu podání oznámení, se uživateli zobrazí dialogové okno. Toto okno se pro zobrazení zprávy používá u činností, které přímo souvisejí s právě aktivní aplikací. Vhodné použití je nasnadě v případě zobrazení zprávy, která následně vyžaduje potvrzení od uživatele (např. použitím tlačítek OK, nebo storno). 5 5 MURPHY, Mark L. Android 2: průvodce programováním mobilních aplikací. Vyd. 1. Brno: Computer Press, 2011, s. 39. ISBN

25 2.4. Životní cyklus aplikace Aplikace vyvíjené pro mobilní operační systém Android mají rozdílná specifika od běžných tzv. desktopových aplikací. Předně, androidí aplikace nemá žádnou kontrolu nad svým vlastním životním cyklem. U těchto aplikací je tedy nutné brát na zřetel změny stavu a jejich adekvátní řešení. Zejména pak předčasné ukončení či zamrznutí. Každá aplikace, kterou v systému Android spustíme, běží ve svém vlastním procesu. Ten je spuštěn pomocí virtuálního stroje Dalvik. Náležitosti každé aplikace, tedy alokování paměti či podpůrné procesy, jsou řešeny výhradně za běhu. Systém Android je nastaven tak, aby v případě zahlcení operační paměti automaticky ukončoval aplikace, které uživatel dlouhodobě nevyužil. Rozhodnutí o ukončení aplikace je úzce spjato se stavem jednotlivých komponent procesu. Je více než diskutabilní, zda jsou aplikace pro čištění operační paměti přínosné Životní cyklus aktivity Aktivita se v průběhu svého života může nacházet ve třech základních stavech - může být na popředí a mít uživatelský vstup, může být pouze viditelná, nebo může být pozastavená na pozadí. Při přechodu aktivity mezi stavy jsou volány systémová zpětná volání tzv. callbacky. Tyto callbacky vymezují jednotlivé stavy aktivity a definují její životní cyklus. Tento cyklus je zobrazen na následujícím obrázku 6 6 KRYPTA, Tomáš. Vyvíjíme pro Android tvoříme aktivity. In: KOSEK, Jiří. *online *cit ]. Dostupné z: 18

26 Příloha č. 5 ZDROJÁK.CZ: Vyvíjíme pro Android: Dialogy a aktivity [fotografie]. Dostupné z: OS Android vyznává filozofii, že u většiny mobilních zařízení jsou zdroje (paměť, baterie, výkon procesoru, atp.) omezeny a stanovuje mechanismy pro zachování těchto zdrojů. Tyto mechanismy jsou patrně v životním cyklu aktivity, který definuje stavy nebo události, jimiž aktivita prochází od okamžiku, kdy byla vytvořena, až po její dokončení. Každá aktivita reaguje na tyto metody: oncreate metoda je volána při vytvoření aktivity onstart metoda je volána, pokud se uživatel rozhodne vrátit do aktivity onresume metoda je volána, když aktivita komunikuje s uživatelem onpause metoda je volána, pokud dojde uživatelem k přesunu do jiné aktivity ondestroy metoda je volána, pokud dojde v rámci aplikace k ukončení aktivity onrestart metoda je volána, pokud je aktivita zastavena a je potřeba ji obnovit Jelikož v OS Android není zaručen běh procesů aplikace, zvláště pak u aplikace, jež má aktivity na pozadí, a tudíž u ní může dojít k ukončení jejího procesu, je potřeba si stav aktivity uložit, jelikož v paměti procesoru se po ukončení aplikace její stav již nenachází. Pokud tak 19

27 neučiníme a aplikaci opětovně spustíme, uživatelsky zadaná data nebudou zachována. Automaticky jsou ukládány pouze stavy uživatelského rozhraní, tedy např. pole ve formuláři, avšak informace z instančních proměnných se ztratí. Pro uložení těchto proměnných lze využít datová úložiště typu klíč-hodnota, či jednoduchou SQLite databázi anebo externí soubor. 7 7 UJBÁNYAI, Miroslav. Programujeme pro Android. Vyd. 1. Praha: Grada, 2012, s. 41. Průvodce (Grada). ISBN

28 2.6. Vlákna a procesy Pokaždé když je spuštěna aplikační komponenta a aplikace, kde je komponenta definována, nemá vlastní proces, je vytvořen proces nový, obsahující jedno vlákno, ve kterém implicitně běží všechny komponenty aplikace. Pokud je spuštěna nová komponenta, pro jejíž aplikaci již existuje proces, je spuštěna již v existujícím hlavním vlákně (a procesu) aplikace. Toto chování však může být explicitně změněno programátorem a každá komponenta tak může běžet ve vlastním procesu. Nastavení procesů pro aplikaci a její komponenty je prováděno v manifestovém souboru aplikace pomocí atributu android:process Priorita procesů Android se snaží udržet každý proces spuštěný co nejdéle. Většinou je ale postupem času nutné proces ukončit a uvolnit tak paměť procesům důležitějším. Výběr procesu pro ukončení při nedostatku paměti se řídí podle priority procesu. Procesy s nejnižší prioritou jsou ukončeny nejdříve a procesy s prioritou nejvyšší se snaží systém udržet co nejdéle. Existuje pět priorit procesu: 1. Proces na popředí (Foreground process) proces, potřebný pro aktuální činnost uživatele. Jedná se například o proces, ve kterém běží právě zobrazená aktivita nebo vázaná služba, ke které je právě zobrazená aktivita připojena. Tyto procesy jsou z důvodu uvolnění prostředků ukončovány jen zřídka. 2. Viditelný proces (Visible process) proces, ve kterém neběží žádná komponenta na popředí, ale přesto může ovlivňovat to, co uživatel vidí na displeji. Jedná se například o proces, ve kterém běží částečně viditelná aktivita. 3. Proces služby (Service process) proces, ve kterém běží spouštěná služba a který nespadá do žádné z vyšších kategorií. Proces přímo neovlivňuje to, co uživatel právě vidí na obrazovce. Může v něm například běžet služba pro přehrávání hudby, nebo služba, řídící stahování dat z internetu. 4. Proces na pozadí (Background process) proces, ve kterém běží pozastavené aktivity. Tyto procesy nemají přímý vliv na interakci mezi uživatelem a zařízením. Zpravidla jich v jednom čase existuje velké množství. Jako sekundární kritérium pro výběr procesu, který bude při nedostatku prostředků ukončen, slouží seznam naposled použitých aktivit (LRU last recently used). Ukončení procesu uživatel zpravidla nevnímá, protože stav aktivit, které v něm běží, je před ukončením uložen a při novém startu aktivity obnoven. 21

29 5. Prázdný proces (Empty process) proces, ve kterém neběží žádná aplikační komponenta. Tyto procesy jsou udržovány pouze z důvodu rychlejšího startu komponent aplikací Vlákna Pro každou spuštěnou aplikaci je vytvořeno hlavní vlákno. Toto vlákno se často stará o vykreslování a reakce na události uživatelského prostředí. Proto je někdy souhrnně nazýváno vlákno uživatelského prostředí (UI thread). Všechny komponenty jednoho procesu jsou implicitně spouštěny v tomto vlákně. Jakékoliv náročnější operace v UI vlákně mohou zpomalit odezvy UI a znepříjemnit tak uživateli interakci s aplikací. Je proto vhodné všem náročnějším operacím vytvářet vlastní vlákna, a to explicitně nebo pomocí asynchronní úlohy. Programátor by měl zabezpečit, aby UI vlákno nebylo blokováno a aby ke komponentám UI nebylo přistupováno z jiného, než hlavního (UI) vlákna. Pracovní vlákna vytvářená programátorem jsou implementována pomocí třídy Thread. 22

30 2.7. Android Manifest AndroidManifest.xml je soubor uložený v kořenovém adresáři specifikující parametry dané aplikace. Tedy jméno, verzi, komponenty, systémová práva, atp. Tento soubor je při vývoji aplikace velmi důležitý a systém z něj pozná, jaké komponenty má k dispozici. Struktura souboru musí být vždy jednoznačně dána, patří do ní následující komponenty: 1. Název balíku aplikace, který slouží jako unikátní identifikátor 2. Deklarace použitých komponent (aktivity, poskytovatelé obsahu, třídy, atp.) 3. Deklarace oprávnění aplikace (používání periferií, jako GSM modul, paměťová karta, apod.) 4. Deklarace minimální úrovně API (stanovuje, na jaké verzi OS Android bude aplikace spustitelná) 5. Seznam knihoven, které budou s aplikací propojeny Příloha č. 6 BANKOVNÍ KALKULÁTOR: Ukázka manifest souboru [fotografie] Manifest je možné naplnit téměř 30 elementy, z nichž každý obsahuje různé atributy. Jsou však určité elementy i atributy, na které se vztahují určitá pravidla Elementy Elementy <manifest> a <application> musí být deklarovány pokaždé. Prvek manifest je navíc elementem s nejvyššími přístupovými právy (tzv. root). Další elementy mohou být obsažený vícekrát, či mohou chybět. Určité elementy jsou považovány za stavební prvky souboru a jejich absence může mít vážný dopad na funkčnost. 23

31 Atributy Opět platí tvrzení, že určité atributy jsou povinné a jejich neuvedení by znamenalo nefunkčnost aplikace Přístupová oprávnění Většina aplikací, která si uživatel stáhne do mobilního telefonu, obsahují určitá oprávnění, která musí uživatel před započnutím instalace odsouhlasit. Aplikace může přistupovat na paměťovou kartu, do telefonního seznamu, či aktivovat fotoaparát, nebo GPS. Tato oprávnění se definují právě v Manifestu. Příkladem mohou být následující oprávnění: android.permission.camera aplikace může používat fotoaparát. android.permission.nfc aplikace získá přístup k I/O operacím využívající NFC technologii. Jakmile jsou oprávnění v Manifestu uvedena a aplikace je instalována do zařízení, Android informuje uživatele, která oprávnění aplikace vyžaduje. V případě, že oprávnění je uživatelem uděleno, aplikace může využívat chráněné sekce. Pokud však oprávnění nedostane, pokusy o přístup do chráněných sekci selžou, aniž by o tom byl uživatel informován Knihovny Každá aplikace, kterou vývojář naprogramuje, bývá propojena s výchozí knihovnou v OS Android. Ta v sobě integruje balíčky pro tvorbu tříd. Tyto balíčky jsou často umístěny v jiných knihovnách a tak je nutné v Manifestu uvést, ze kterých knihoven tyto balíčky vývojář čerpal. Pro tyto účely slouží element <uses-library>, který obsahuje další atributy, díky nimž lze knihovnu pojmenovat a také označit, zda bude knihovna aplikací vyžadována, či nikoliv Úrovně API (API Level) Úroveň API má na starosti základní prvky kompatibility vytvořených aplikací. Na rozdíl od konkurenčních mobilních platforem, je nutné při vývoji aplikace pro Android definovat jednotlivé úrovně, které bude aplikace splňovat. Tyto úrovně nejsou nic jiného, než jednotlivé verze OS Android. Zatímco aplikace vytvořená pro ios funguje stejně dobře na iphonu i na ipadu, podobná aplikace konstruovaná pro Android může v odlišných verzích činit potíže. API úroveň, kterou 8 MURPHY, Mark L. Android 2: průvodce programováním mobilních aplikací. Vyd. 1. Brno: Computer Press, 2011, s. 46. ISBN

32 reprezentuje celé číslo, obsahuje jednotlivé sady balíčků, tříd, elementů a atributů pro deklaraci Manifestu, záměrů či přístupových oprávnění. Rámec API je navržen tak, aby u API s vyšším číslem byla zajištěna kompatibilita s nižšími čísly a tedy staršími verzemi OS Android. Nejnovější verze systému Android Kit Kat má API úroveň 19. Aplikace s deklarovaným API Level 17 bude plně kompatibilní i se starší verzí, tedy např. Ice Cream Sandwich, Gingerbread, či Froyo, apod. Příloha č. 7 DEVELOPER.ANDROID.COM: What is API Level? [tabulka]. Dostupné z: 25

33 2.8. Nástroje pro vývoj aplikací v operačním systému Android Android SDK využívá programovací jazyk Java, podobně jako Java Standard Edition (J2SE), nazývaný Android Java Library. To je obrovská výhoda pro vývojáře, kteří se již seznámili s rodinou jazyků C. Syntaxe je prakticky stejná jako u Javy. Zvláště, pokud jde o operandy, selekce, iterace, práci se soubory aj. U konkrétnějších tříd a balíků se používají jiná jména, která nejsou podobná Java edici, jako například aktivity třídy a třídy View. Chceme-li vytvořit aplikaci pro Android, potřebujeme se ujistit, že vývojové prostředí má Javu ve verzi 5 nebo vyšší. Dnešní Java 6 je stabilní a často není žádný důvod, proč tuto verzi nevyužít. Vývojové prostředí Java je vhodné pro nejrůznější typy operačního systému počítače, jelikož je Java nezávislá na operačním systému Eclipse Vývojových nástrojů je v současné době několik, mezi nejvyužívanější patří Eclipse. Jedná se o open source vývojovou platformu, která je pro většinu lidí známá jako vývojové prostředí (IDE) určené pro programování v jazyce Java. Flexibilní návrh této platformy dovoluje rozšířit seznam podporovaných programovacích jazyků za pomoci pluginů, například o C++ nebo PHP. Právě pluginy umožňují toto vývojové prostředí rozšířit například o návrh UML, či zápis HTML nebo XML. Oproti ostatním vývojovým prostředím v Javě, jako například Netbeans, je filozofie Eclipse úzce svázána právě s rozšiřitelností pomocí pluginů. V základní verzi obsahuje Eclipse pouze integrované prostředky pro vývoj standardní Javy jako kompilátor, debugger atd., ale neobsahuje například nástroj pro vizuální návrh grafických uživatelských rozhraní desktopových aplikací nebo aplikační server všechna taková rozšíření je potřeba dodat formou pluginů. Z tohoto důvodu přímo pod křídly Eclipse vznikly takzvané subprojekty, které zastřešují rozšíření pro jednotlivé oblasti softwarového vývoje v Javě. Tyto subprojekty usnadňují integraci potřebných rozšíření do samotného vývojového prostředí. Eclipse je v současnosti nejpopulárnější IDE pro Javu Android SDK Komponenta, která je pro vývoj pro OS Android nezbytná, se nazývá Android Software Development Kit (SDK). Ten dodá do prostředí Eclipse nezbytné součásti, bez kterých nelze 9 Eclipse - The Eclipse Foundation open source community website. [online]. [cit Dostupné z: 26

34 aplikace vyvíjet. Jedná se tedy o sadu vývojových nástrojů, mezi které patří debugger, knihovny, dokumentace a emulátor, který simuluje chování OS Android v prostředí desktopu. Vylepšení SDK jdou ruku v ruce s vývojem celé platformy Android. Je tedy nezbytné tento vývojářský balík neustále aktualizovat. Spustitelné aplikace pro OS Android jsou zabaleny ve formátu.apk a ukládají se do složky /data/app. Tato složka je dostupná pouze pro uživatele s root právy. APK balíček obsahuje také soubory.dex, což jsou kompilované soubory byte kódu z virtuálního stroje Dalvik Android ADB V softwarovém kitu SDK můžeme nalézt sadu Android Debug Bridge (ADB), která se skládá z klienta a serveru. Ty spolu komunikují a dostupné jsou převážně z rozhraní příkazového řádku. ADB je častým terčem bezpečnostních útoků. V roce 2011 byl zaznamenán problém s prolomením bezpečnostního gesta displeje. U odcizeného smartphone bylo možné při propojení s počítačem vyresetovat uložené gesto displeje jednoduchým skriptem v shellu. Po restartu telefonu poté bylo možné vstoupit do operačního systému a případně páchat další škody. Vývojáři Google včas zareagovali a tuto chybu brzy opravili. V nejnovější verzi Jelly Bean je pak toto gesto nemožné prolomit Fastboot Další součástí SDK je diagnostický protokol Fastboot, který se používá především k úpravě souborového systému přes USB připojení z hostitelského počítače. Použití tohoto protokolu je podmíněno stavem operačního systému, který se musí nacházet v zavaděči bootloaderu, tedy ve stavu, ve kterém se provádí pouze základní hardwarové inicializace. Po povolení tohoto protokolu bude samotné zařízení schopno přijímat specifické sady příkazů, zasílány přes příkazovou řádku. Fastboot se hojně využívá při tzv. flashování operačního systému. Pokud se uživatel rozhodne vymazat stávající verzi Androidu dodanou výrobcem a nahradit jí alternativní verzí tzv. custom ROM, je u většiny typů mobilních telefonů nutné provést root a nahrát mód, podobný počítačovému BIOS. Tyto operace se provádějí nejčastěji právě přes Fastboot Android NDK Jedná se o knihovny napsané v jazyce C, či případně jinými jazyky, ovládajícími architekturu ARM či MIPS. Nativní třídy lze volat přímo z kódu v jazyce Java běžícím ve virtuálním stroji Dalvik. Na rozdíl od vývoje aplikaci v Javě na základě prostředí Eclipse IDE, je NDK určeno pro příkazy z terminálu, pomocí kterého je možné aplikace vytvářet, implementovat a ladit. NDK je možné integrovat do Eclipse, ale třeba i do Visual Studia. 27

35 HyperNext Android Creator Jedná se o ekvivalent vývojového prostředí, určeného pro začínající programátory, kterým je umožněno vytvářet své vlastní aplikace bez znalosti jazyka Java a Android SDK. Toto prostředí je založeno na tzv. Hyper kartách, které pracují na principu viditelnosti jedné karty v každém okamžiku. Využití v mobilních telefonech, které mají viditelné vždy jen jedno okno, je tedy nasnadě. Hlavní programovací jazyk se nazývá HyperTalk. Jedná se o procedurální programovací jazyk původně vytvořený primárně pro Apple. Jazyk je velmi podobný psané angličtině a používá podobnou logickou strukturu jako programovací jazyk Pascal IntelliJ IDEA V poslední době toto komerční vývojové prostředí překonává zažitý open-source Eclipse IDE. Zajímavý je zejména ve své poslední verzi 10, která zahrnuje podporu platformy Android. Vývojové prostředí IntelliJ IDEA je velmi jednoduché a v porovnání s Eclipse není tak mohutné a tudíž méně náročné pro hardware počítače. Velkou výhodou tohoto vývojového nástroje může být bezchybná kompatibilita s Eclipse, podpora diagramů tříd UML, či detekce duplicit v kódu. IntelliJ IDEA je možné používat zdarma, pro komerční použití je pak nutné zakoupit verzi Ultimate. Nutno dodat, že mezi českými vývojáři jde o stále více upřednostňované řešení, před IDE Eclipse PhoneGAP V poslední době se jedná o velmi populární nástroj pro tvorbu mobilních aplikaci napříč všemi platformami. Opět jej můžeme zařadit do sekce vývojářům začátečníkům, přesto je nutné podotknout, že se v žádném případě nejedná o nástroj, ve kterém by byly aplikace polo funkční, či s kompromisy. K plnému využití stačí znát základy HTML (příp. HTML5 + CCS3) a JavaScriptu. Samotný Framework, koupený společností Adobe se pak postará o převod do hybridní podoby nejedná se o plně nativní aplikace, protože layout je vykreslován přes webové rozhraní, ovšem není to ani čistě webová záležitost, jelikož je výstupem spustitelný balík pro danou distribuci včetně přístupu k nativnímu API. Jádro PhoneGap aplikace je nejčastěji HTML5 a CSS3 pro vykreslené a JavaScript pro logickou část. Ačkoliv nyní HTML5 poskytuje přístup k hardwaru, jako je fotoaparát či GPS, není jeho využití zejména na starších verzích Androidu konzistentní. Využití této webové technologie je v každém případě vždy pomalejší, než nativní podoba s podobnou funkčností. V případě Applu se tedy často stává, že jsou aplikace odmítnuté přímo AppStorem pro nedostatečnou optimalizaci s důrazem na rychlost či s neobvyklým grafickým vzhledem aplikace. PhoneGap 28

36 podporuje většinu dnešních mobilních platforem, zejména tedy Android, ios, Windows Phone, ale také Symbian, Tizen či BlackBerry. Příloha č. 8 MATTEOMAGNI.NET: Presentation PhoneGAP course: PhoneGAP Architecture [fotografie]. Dostupné z: Oracle ADF Mobile Stále populárnějším nástrojem pro tvorbu tzv. hybridů, je ADF Mobile od Oraclu. Výsledná aplikace je směsicí nativní i webové architektury a obrovskou výhodou je schopnost multiplatformního řešení aplikací. Vývojář tedy v několika krocích vytváří aplikaci jak pro Android, tak i pro ios. Nutno podotknout, že výsledná aplikace je vždy ústupkem za usnadněnou práci i čas. Optimalizace a výkonnost nepatří mezi silné stránky podobných řešení. 29

37 Příloha č. 9 TECHNOLOGY.AMIS.NL: The year of the ADF Oracle Open World [fotografie]. Dostupné z: Uživatelské rozhraní OS Android Základem pro tvorbu komponent uživatelského rozhraní je specifická třída View. Tato komponenta reprezentuje vymezené oblasti displeje a zodpovídá za vykreslení a případné zpracování dalších komponent. Tato třída je důležitým prvkem, obsahuje totiž podtřídy nazývané Widgets. Tedy interaktivní prvky na obrazovce, kterými lze aplikace ovládat tlačítka, okénka, seznamy, textová pole, apod. Důležitým prvkem, který spravuje rozvržení displeje je třída ViewGroup, ta nabízí různé druhy rozvržení, mezi které může patřit tabulkové, relativní, či absolutní. Při vývoji aplikace je nutné zvážit jaký typ rozvržení definovat, je nutné brát v potaz, že platforma Android je dostupná na široké škále mobilních zařízení, od mobilních telefonů s min. úhlopříčkami 2,8 až po tablety s úhlopříčkami 10 a více palců. Při návrhu uživatelského rozhraní je potřeba také myslet na zařízení, na kterém aplikace poběží, a to z hlediska rozlišení displeje, popř. z hlediska rotace aplikace při rotaci zařízení. Oba výše zmiňované problémy je potřeba v aplikaci zohlednit, aby nedocházelo na určitých typech zařízení k deformaci uživatelského rozhraní, jež bude mít v konečném důsledku neblahý vliv na uživatele, respektive na aplikaci, kterou uživatel díky těmto problémům už 30

38 nikdy nepoužije. Tyto problémy ovšem nevyvstanou, pokud použijeme zobrazení komponent pomocí rozvržení, místo abychom je zobrazovali přímo na obrazovku Rozvržení obrazovky Volba jednotlivých rozvržení displeje je čistě na vývojáři. Základem by mělo být takové rozvržení, které bude intuitivní pro uživatele a nebude obsahovat mnoho rušivých elementů. Při vývoji nám Android SDK nabídne několik typů rozvržení: Relativní rozvržení v tomto typu lze nadefinovat umístění objektů relativně vůči obrazovce, nebo jiným objektům. Lineární rozvržení lineární uspořádání přidává pro každý objekt typu View jeden řádek, a to buď vertikálně, nebo horizontálně. Vertikální uspořádání umístí jeden objekt na jeden řádek, zatímco při použití horizontálního rozložení jsou všechny objekty zobrazeny v jediném řádku. Lineární rozvržení umožňuje každému objektu View určit váhu, která se řídí relativní velikostí každého z nich v dostupném prostoru. Tabulkové rozvržení umožňuje rozložit objekty pomocí mřížky řádků a sloupců. Absolutní rozvržení je definováno pomocí absolutních souřadnic, které zaručí přesné rozložení komponent Rotace obrazovky při změně polohy zařízení V současné době je k dispozici ohromná škála zařízení s operačním systémem Android. Některé disponují pouze virtuální klávesnicí, jiné dostaly do vínku klávesnici fyzickou. A právě tato fyzická klávesnice působila zpočátku určité problémy, při jejím vysunutí totiž došlo k otočení obrazovky do horizontální polohy. Některé aplikace na tuto rotaci reagovali kompletní deformací obrazu. Můžeme říci, že vývojáři zapracovali na bezvadné horizontální alternativě svých aplikací teprve nedávno. Změnit polohu obrazovky dokáží samozřejmě i zařízení s virtuální klávesnicí. K tomu jim dopomáhá tzv. akcelerometr. 10,12 UJBÁNYAI, Miroslav. Programujeme pro Android. Vyd. 1. Praha: Grada, 2012, s Průvodce (Grada). ISBN

39 Chování rozvržení, v rámci změny orientace lze definovat pomocí atributu android:screenorientation náležícího v souboru AndroidManifest.xml elementu <activity>. Atribut android:screenorientation může nabývat některé z těchto hodnot: unspecified výchozí hodnota, systém zvolí orientaci automaticky. landscape orientace na šířku (otočení o 90 stupňů vlevo). portrait orientace na výšku. sensor orientace je řízena pohybovým senzorem v závislosti na aktuální poloze celého zařízení. nosensor orientace je určená bez ohledu na fyzickou polohu zařízení UJBÁNYAI, Miroslav. Programujeme pro Android. Vyd. 1. Praha: Grada, 2012, 187 s. Průvodce (Grada). ISBN

40 2.10. Vizuální komponenty systému Android Každá sada nástrojů pro tvorbu grafického uživatelského rozhraní (GUI) nabízí určité základní vizuální komponenty widgety. Tedy popisky, textová pole, tlačítka, apod. V každém vývojovém nástroji si lze zobrazit základní plátno (Canvas), na které vývojář vkládá jednotlivé vizuální komponenty. Android SDK je výjimečný tím, že v závislosti na zvolené úrovni API, poskytne přesné grafické provedení všech těchto komponent tak, aby zapadaly do jednotného designového stylu samotné verze systému Android. K dispozici máme několik komponent, které mohou ozvláštnit naše aplikace. Mezi základní a nejpoužívanější patří následující Textové popisky Jedná se o nejzákladnější vizuální komponent. Jedná se o textový popis, který nelze žádným způsobem uživatelsky upravit. Jako příklad lze uvést popisek Jméno, vedle kterého se bude nacházet textové pole, kam uživatel doplní příslušné iniciály. V Javě můžeme popisek vytvořit tak, že vytvoříme instanci třídy TextView. Nejčastěji se však popisky tvoří v XML souborech tak, že přidáme do návrhu element TextView s atributem android:text specifikujícím text popisku. Třída TextView má mnoho dalších vlastností týkajících se popisků, jako jsou například následující vlastnosti: Android:typeface specifikuje rodinu písma, které se bude používat pro text popisků. Android:textStyle specifikuje tučné písmo (bold), kurzívu (italic) nebo tučnou kurzívu (bold_italic). Android:textColor specifikuje barvu textu popisků v hexadecimálním RGB formátu Tlačítka Dá se říci, že tlačítko je zřejmě nejčastěji využívanou komponentou nejen v systému Android, ale také i jiných mobilních operačních systémech. Z hlediska jazyka Java se jedná podtřídu třídy TextView. Komponenta Button (tlačítko) reaguje na uživatelský stisk provedením nějaké předem nadefinované posloupnosti příkazů. Tlačítko můžeme vytvořit opět pomocí XML souboru. 13 MURPHY, Mark L. Android 2: průvodce programováním mobilních aplikací. Vyd. 1. Brno: Computer Press, 2011, s. 49. ISBN

41 Použití tlačítka na návrhovém plátně spolu s deklarací v XML můžeme vidět na tomto obrázku: Příloha č. 10 BANKOVNÍ KALKULÁTOR: Ukázka deklarace tlačítka [fotografie] Zaškrtávací tlačítka Anglický název CheckBox, tedy zaškrtávací políčko, může mít podobně jako žárovka dva stavy zaškrtnuto či nezaškrtnuto (tedy vypnuto/zapnuto). V Javě jej implementujeme prostřednictvím třídy TextView. Deklarovat lze také barevnost. Políčko má v programovacím jazyce Java následující metody: ischecked() určuje, zda je políčko zaškrtnuté (vrací hodnotu boolean) setchecked() nastavuje políčko na zaškrtnuto/nezaškrtnuto. Toggle() zaškrtne/odškrtne políčko podobně, jako by operaci provedl sám uživatel. Deklarace je prakticky identická, jako u tlačítek: 34

42 Příloha č. 11 BANKOVNÍ KALKULÁTOR: Ukázka deklarace zaškrtávacího tlačítka [fotografie] Přepínače Velmi podobnou funkčnost mají i tzv. Radiobuttony. Tedy kulaté přepínače, pomocí kterých uživatel volí jednu z několika možností. Seskupení v jeden celek reprezentuje třída RadioGroup. Tato instance označuje množinu přepínačů, jejichž stavy na sobě vzájemně souvisí, což znamená, že lze označit pouze jeden z nich. Deklarace je opět stejná, jako u předchozích dvou komponent. 35

43 Příloha č. 12 BANKOVNÍ KALKULÁTOR: Ukázka deklarace přepínače [fotografie] Obrázky Obrázky lze v systému Android použít pomocí objektů ImageView a ImageButton. První ze jmenovaných je podtřídou třídy TextView, druhý objekt je odvozen ze třídy ImageView. Oba objekty vlastní atribut android:src, jenž specifikuje obrázek zobrazený na obrazovce. Pro ukládání obrázků máme k dispozici tři různé adresáře: res/drawable-hdpi/ res/drawable-mdpi/ res/drawable-ldpi/ Každý z těchto adresářů slouží pro uložení obrázků s různou kvalitou rozlišení. Díky použití tohoto systému lze zlepšit vzhled aplikací, protože v případě nutnosti zobrazit obrázek OS Android sám zvolí, který obrázek podle rozlišení obrazovky použije. 14 V následujícím obrázku lze vidět rozdíl mezi obrázkem vytvořeným z objektu ImageView (hvězdička) a ImageButton (sluchátko). Obrázek sluchátka tímto funguje také jako tlačítko, kterému lze přiřadit instrukci vstoupení do dialeru, tedy do prostředí číselníku. 14 UJBÁNYAI, Miroslav. Programujeme pro Android. Vyd. 1. Praha: Grada, 2012, s Průvodce (Grada). ISBN

44 Příloha č. 13 BANKOVNÍ KALKULÁTOR: Rozdíl mezi obyčejným obrázek a tzv. akčním obrázkem, který po kliknutí provede určitou akci [fotografie]. 3. Ekonomická základna aplikace Abychom byli schopni porozumět funkčnosti aplikace, je nutné si ozřejmit základní terminologii z hlediska ekonomie. Bankovní kalkulátor coby sumář bankovních úvěrů na trhu, obsahuje několik specifických vzorců, díky kterým dokáže vypočíst jednotlivé prvky úvěru, jako RPSN (roční procentuální sazbu nákladů), měsíční splátku aj Úvěr Úvěrem rozumíme dočasné zapůjčení finančního obnosu za úplatu. Tento obnos je nutné splatit do určitého časového horizontu a jedinec, který takový obnos zapůjčí, očekává jisté zhodnocení této sumy. Nejčastěji ve formě výpůjčného. U bankovních úvěrů (nabízí je bankovní ústavy) je toto zhodnocení formou úrokové míry a často také (nepřímo) různými poplatky, ze kterých ústav zhodnocuje své podnikání. 37

45 3.2. Úroková míra Jedná se o procentuální vyjádření zvýšení vypůjčené částky za určitý časový úsek. Zjednodušeně nám tato míra poukazuje na fakt, kolik daný úvěr bude konečného dlužníka stát RPSN Prostřednictvím roční procentní sazby nákladů si lze ověřit výhodnost daného finančního produktu. Nejčastěji se prezentuje v porovnání s ostatními finančními ústavy. Úrok poukazuje na cenu zapůjčení peněz, RPSN v sobě zahrnuje náklady s finančním produktem, tedy: Poplatky za uzavření a vedení úvěrového účtu Poplatky vztahující se k převodu peněz Akontace = první navýšená splátka Pojištění schopnosti splácet, aj Výpočet RPSN RPSN vyjadřuje úrokovou míru, pro kterou se rovná čistá současná hodnota získaných půjček čisté současné hodnotě výdajů (splátek, poplatků apod.), jedná se tedy o takové r, pro které platí následující rovnice:, Kde: m je počet poskytnutých půjček, A i je výše i-té poskytnuté půjčky, t i je doba (v letech a zlomcích roku ode dne 1. půjčky), kdy byla i-tá půjčka poskytnuta, n je počet plateb, B j je výše j-té platby (splátky, poplatku atd.), s j doba (v letech a zlomcích roku ode dne 1. půjčky), kdy byl j-tý poplatek zaplacen. 15 Měsíční splátka úvěru Pro naše potřeby je nutné seznámit se s termínem anuita. Jedná se o splátku úvěru, která je v průběhu času stálá, čili nemění svojí výši. Anuita je složena z úroků a splátky jistiny. Poměr 15 RPSN. In: Wikipedia: the free encyclopedia [online]. San Francisco (CA): Wikimedia Foundation, [cit Dostupné z: 38

46 mezi těmito dvěma termíny je nejvyšší v počátcích splácení a s přibývajícím časem má tendenci klesat. Pro výpočet anuity se používá tento vzorec: ( ) S anuitní splátka U půjčená částka q q = 1 + úroková míra za časovou jednotku n počet měsíců Příklad Od banky si půjčíme Kč s úrokem 3,15 % ročně na 60 měsíců. Jaká bude měsíční anuitní splátka? Nejprve je nutné rozpočítat úrokovou míru, tedy: Poté již jen dosadíme do vzorce: ( ) Výsledek je: Tento výpočet je poté nutno převést do algoritmické podoby jazyka Java, pomocí které aplikace vypočítá výslednou měsíční anuitní splátku. 39

47 4. Úvod do praktické části práce Po nezbytném teoretickém úvodu, bez kterého by bylo velmi obtížné pochopit samotný vývoj na platformě Java, přejdeme plynule do praktické části této diplomové práce. Hlavním cílem této práce je vytvoření aplikace bankovního charakteru, která bude schopná po zadání potřebných parametrů vypočíst měsíční splátku úvěru včetně celkové částky splatné bance. Aplikace navíc poskytne jedinečný přehled všech bankovních produktů na trhu, jejich vzájemné srovnání a také případně třídění dle výhodnosti. Aplikace bude optimalizována pro nejnovější verzi Androidu 4.4 Kit Kat a vyšší. Funkční však bude i na nižších verzích systému. Součástí aplikace je návrh základního layoutu, který deklarujeme ve formátu XML. Jak již zaznělo, samotný vývoj mobilních aplikací pro platformu Android probíhá nejčastěji ve vývojovém prostředí Eclipse, který jsem také již dostatečně popsal v teoretické části této práce. Jedná se o tzv. Host Target vývoj. Tedy typ prostředí, kde samotný vývoj a testování již vytvořené aplikace probíhá na odlišném typu zařízení. Typicky vývoj v počítači a testování v tabletu, či jiném mobilním zařízení. Testovat však lze také přímo v prostředí Eclipse a to díky emulátoru, který představím později. Abychom mohli začít, je potřeba Eclipse dovybavit potřebnými frameworky, které vytvoří kompletní prostředí, vhodné pro vývoj pro platformu Android. Jedná se především o tzv. JDK, SDK a ADT Java Development Kit (JDK) JDK obsahuje základní nástroje pro vývoj aplikací v Javě. Součástí je Java Runtime Environment, který slouží ke spuštění aplikací a také debugger. JDK ve své nejnovější verzi je vždy dostupný na webové stránce Oracle Software Development Kit (SDK) SDK obsahuje nástroje potřebné pro samotný vývoj Android aplikací. Součástí jsou jednotlivé API knihovny, patřičná dokumentace a SDK Manager, ve kterém lze specifikovat vývoj pro jednotlivé verze Androidu (2.3, 4.0, 4.1, apod.). Součástí androidího SDK je také emulátor (ADV), ve kterém je možné aplikaci řádně otestovat. Tento emulátor se chová přesně jako fyzický mobilní telefon či tablet se systémem Android. Disponuje veškerými funkcemi, takže je možné nasimulovat nejen příchozí či odchozí hovory, ale také komunikaci s internetem prostřednictvím mobilního internetového prohlížeče. Nejnovější SDK pro Android lze stáhnout na webové adrese developer.android.com. 40

48 Základní konfigurace SDK: SDK Tools Obsahuje nástroje pro debugging (ddms), testování aplikace, správu Android Virtual Devices (AVD), Android emulátor, analýzu grafického layoutu a další potřebné programy. SDK Platform-tool Obsahuje další důležité nástroje pro vývoj aplikací, které jsou závislé na verzi platformy a jsou aktualizovány při vydání nové verze SDK. Jeden z nástrojů je například Android Debug Bridge, umožňující nahrávat soubory do zařízení. Android SDK platforms Každá platforma SDK se skládá z knihoven, systémového obrazu, ukázkových kódů, skinů emulátoru a jiných zdrojů. Ke kompilaci aplikace a pro nastavení a běh AVD musí být přítomna alespoň jedna platforma Doporučená konfigurace SDK: USB Driver Komponenta, která je nutná pouze při ladění a testování aplikace nainstalované na zařízení. Potřebné pouze pro platformu Windows. Příklady kódů Obsahuje ukázkové kódy aplikací, které jsou aktuální pro každou platformu. Dokumentace Obsahuje lokální kopii dokumentace pro aktuální Android framework API. Tato dokumentace je také využita ve vývojovém prostředí Eclipse Plné konfigurace SDK: Google API Knihovny, zpřístupňující rozhraní Google Maps, které je možno použít v aplikacích. Ostatní SDK platformy To je například Market Licensing package, který obsahuje knihovnu ověřující licenci aplikace, zda se nejedná o nelegální kopii. 41

49 Příloha č. 14 BANKOVNÍ KALKULÁTOR: SDK Manager sloužící k výběru instalovaného API, pro které chceme vyvíjet [fotografie] Optimalizace vývojového prostředí Eclipse Eclipse je primárně určen pro programování v jazyce Java. Jeho nespornou výhodou oproti ostatním vývojovým prostředím je snadná rozšiřitelnost o podporu dalších programovacích jazyků, nebo o vizuální nástroj pro tvorbu graficko-uživatelského rozhraní. Všechny tyto doplňky se do Eclipse instaluji pomocí příslušných pluginů UJBÁNYAI, Miroslav. Programujeme pro Android. Vyd. 1. Praha: Grada, 2012, s. 30. Průvodce (Grada). ISBN

50 Příloha č. 15 BANKOVNÍ KALKULÁTOR: Deklarace API úrovně včetně patřičného SDK [fotografie]. Abychom mohli vytvářet aplikace pro Android, je nutné nainstalovat plugin Android SDK, díky kterému získáme již zmiňovaný emulátor pro testování aplikací. Vývojové prostředí Eclipse je rozděleno interně do různých částí, nazývaných perspektivy. Jedná se o seznam komponent, jejichž rozvržení lze v prostředí uživatelsky upravovat, jakožto i jejich samotný výběr. Perspektiva by měla sdružovat takové komponenty, které se vztahují k jedné problematice. Důležitou součástí je správné a funkční nastavení vývojového prostředí, které usnadní samotný vývoj aplikací. Pro potřeby vývoje pro Android je nutné propojit Eclipse s Android SDK. Propojení je prezentováno pluginem Android Development Tool (ADT), jenž rozšiřuje možnosti Eclipse a umožňuje tím rychlou tvorbu Android projektů. Pomocí ADT programátor obdrží výkonné integrované prostředí s editorem vizuálních aplikací, vlastními XML editory, ladícími panely a tvorbou APK balíčků pro distribuci aplikace UJBÁNYAI, Miroslav. Programujeme pro Android. Vyd. 1. Praha: Grada, 2012, s. 32. Průvodce (Grada). ISBN

51 Příloha č. 16 BANKOVNÍ KALKULÁTOR: Rozvržení vývojového prostředí Eclipse [fotografie] Struktura projektu Bankovní kalkulátor Překladový systém OS Android je uspořádaný okolo specifické stromové struktury adresářů našeho projektu podobně, jako u jiných Java projektů. Specifika tohoto systému jsou však jedinečná. Nyní uvedu složení kořenového adresáře, který se vytvoří automaticky po implementaci nového projektu v prostředí Eclipse Obsah kořenového adresáře Když vytvoříme nový Android projekt, vytvoří se také několik položek, které nalezneme v kořenovém adresáři projektu: AndroidManifest.xml: námi známý XML soubor popisující vyvíjenou aplikaci a komponenty, které aplikace obsahuje. Build.xml: Ant skript pro kompilaci aplikace a její instalaci na zařízení. Default.properties a local.properties: soubory nastavení, které používá překladový skript nástroje Ant. Assets/: složka obsahující ostatní statické soubory, které lze přibalit k aplikaci pro použití na zařízení. Bin/: složka, která uchovává aplikaci po jejím zkompilování. V této složce tedy nalezneme spustitelnou podobu aplikace, kterou poznáme pomocí přípony APK. 44

52 Gen/: složka, do které překladové nástroje systému Android umístí zdrojový kód, který vygenerují. Příklad konfiguračního souboru: Libs/: složka uchovávající jakékoliv Java archivy třetích stran, které naše aplikace potřebuje. Src/: složka uchovávající zdrojový kód aplikace v jazyce Java. Res/: složka uchovávající prostředky, kterými mohou být ikony, návrhy GUI, apod. zabalené se zkompilovaným Java zdrojovým kódem aplikace. Tests/: složka, ve které je uložený úplně oddělený Android projekt, který lze použít pro testování námi vytvořeného projektu. Mezi nejobsáhlejší složku může v mnoha případech patřit složka res/, která obsahuje statické soubory, které se přibalí k naší aplikaci. Ve složce res/ nalezneme tyto adresáře: Res/drawable/: pro obrázky (PNG, JPEG, aj.) Res/layout/: pro specifikace uživatelského rozhraní založené na XML Res/menu/: pro specifikace menu založené na XML Res/raw/: pro obecné soubory (např. CSV soubory, aj.) Res/values/: pro řetězce, rozměry, apod. Res/xml/: pro další XML soubory, které bychom chtěli přibalit 45

53 5. Tvorba aplikací pro mobilní zařízení 5.1. Etapy životního cyklu softwaru Analýza a specifikace požadavků je úvodní etapou při vývoji softwarového produktu, ve které se zabýváme požadavky zákazníka na software získáváme je, analyzujeme, definujeme a specifikujeme je, kdy z neúplných a nejasných požadavků zákazníka dostáváme strukturované, jasné a konzistentní požadavky na produkt. Pozornost je třeba věnovat požadavkům samotným a nikoliv jejich realizaci. Součásti této etapy by měla být studie vhodnosti (proveditelnosti), která odpoví na důležitou otázku, zda má smysl se do projektu vůbec pouštět. Dalším možným výsledkem této etapy může býti identifikace možných rizik a jejich analýza. Nezbytným výstupem je plán akceptačního testování (testy, na jejichž základě zákazník produkt převezme - akceptuje). Chybějící specifikace akceptačních testů je zárukou problémů při přebírání hotového produktu zákazníkem. 18 Architektonický návrh navazuje na analýzu požadavků a slouží k ujasnění koncepce systému a k jeho dekompozici. Dekompozice vyžaduje vymezení funkcionality jednotlivých podsystémů a definování vztahů mezi nimi. Podobně jako se při analýze plánuje akceptační testování, tak se při architektonickém návrhu plánuje testování celého systému. Je vhodné naplánovat postup nasazení do provozu, a to včetně zaškolování uživatelů. Podrobný návrh se soustřeďuje na podrobnou specifikaci softwarových součástí, na výběr algoritmů realizujících požadované funkce, na stanovení logické a fyzické struktury dat a na způsoby ošetřování chybových a neočekávaných stavů. Při podrobném návrhu se také plánují práce na implementaci součástí, s čímž souvisí vytvoření požadavků na lidské zdroje a odhad doby trvání včetně nákladů na projekt. Implementace a testování součástí zahrnuje programovou realizaci softwarových součástí, vypracování dokumentace k součástem a otestování implementovaných součástí. Integrace a testování odhaluje chyby, které nebyly možné objevit izolovaným testováním samostatných součástí systému. Objevené chyby jsou samozřejmě opravovány. Testování součástí nelze vynechat s odkazem na to, že už součásti otestovány byly, protože opravou nalezených chyb se do programu mohou zanést chyby nové. 18 KŘENA, PH.D., Ing. Bohuslav a Ing. Radek KOČÍ, PH.D. VUT FIT BRNO. Úvod do softwarového inženýrství: Studijní opora [online], s. 13. vyd. Brno, 2006 [cit ]. 46

54 Akceptační testování a instalace spočívá v otestování systému uživatelem. Na základě akceptačního testování se pak zákazník rozhodne buď systém převzít nebo při objevení závažnějších nedostatků předat systém zpět k přepracování či doplnění. Provoz a údržba vyžadují průběžné řešení problémů, které s nasazením a používáním softwaru souvisejí. Tato etapa také zahrnuje opravy nalezených chyb, rozšiřování softwaru o nové funkce, či přizpůsobování softwaru měnícím se požadavkům okolí KŘENA, PH.D., Ing. Bohuslav a Ing. Radek KOČÍ, PH.D. VUT FIT BRNO. Úvod do softwarového inženýrství: Studijní opora [online], s. 20. vyd. Brno, 2006 [cit ]. 47

55 5.2. Analýza a návrh projektu Bankovní kalkulátor Cílem projektu je vytvořit kalkulátor bankovních úvěrových produktů. Aplikace po zadání atributů poskytne sumář výsledků všech bankovních ústavů, které pro zadaná kritéria nabízejí vhodný úvěrový produkt. Součástí tohoto výpisu bude informace o výši RPSN, či případných poplatků za správu úvěru, případně sankce za předčasné splacení. Pro bezproblémové provedení algoritmů je nutné zadat tyto údaje: Výše úvěru uvedení částky v celých číslech (např Kč) Doba splácení v měsících výběr z přednastavených hodnot (např. 60 měsíců, maximum je 240) Řazení výsledků na výběr jsou dvě hodnoty. Řazení dle měsíčních splátek a celkové splatné částky bance. Aplikace po zadání všech potřebných atributů zavolá napevno dané hodnoty z databáze, která obsahuje všechna potřebná data, jako např. úrokovou míru, sankce za předčasné splacení úvěru, RPSN, apod. V případě aktualizace podmínek bankovních produktů (změna úrokové sazby, atp.) bude vydán aktualizační balíček formou updatu přes Obchod Play. Aplikace tak bude vždy aktuální. Po rozkliknutí jednotlivých nabídek se uživateli zobrazí pop-up okno s informací o výši RPSN a sankcí za předčasné splacení úvěru. Ekvivalentem této aplikace je internetový srovnávač úvěrů na webové adrese Design kalkulátoru bude postaven na prvcích přístupnosti. Důraz budeme klást na kontrastní barvy a velký font písem. Veškeré funkční části aplikace budou znatelně a logicky rozpoznatelné. 48

56 Příloha č. 17 BANKOVNÍ KALKULÁTOR: Ukázka pop-up okna s informacemi o výši RPSN a sankcí za předčasnou splátku [fotografie] Definice vizuálního stylu V analýze a návrhu mobilní aplikace Bankovní kalkulátor jsem nastínil hrubý vzhled této aplikace. Na základě znalostí tvorby vizuálních komponentů z teoretické části této práce bude jednotlivé rozmístění těchto komponentů realizováno v návrhové části vývojového prostředí Eclipse. Na základě pozdějšího testování jsem došel k závěru, že standardní HOLO design nahradíme graficky příjemnějším layoutem, jehož srovnání lze nalézt na níže uvedeném obrázku. 49

57 Příloha č. 18 BANKOVNÍ KALKULÁTOR: Rozdíl mezi základním a customizovaným designem [fotografie] Základní layout aplikace Způsob, kterým rozvrhneme komponenty uživatelského rozhraní naší aplikace je prakticky vždy na vývojáři. Existují určitá doporučení, která se vyplatí dodržet. Jednotlivá tlačítka by měla být přiměřeně vzdálená, aby je bylo pohodlné obsloužit i většími prsty. Měla by být dostatečně velká a čitelná. Musíme pamatovat na širokou rozmanitost zařízení s OS Android. Co může vypadat dobře na tabletu, nemusí nutně vyhovovat uživateli smartphonu s 3,5 displejem. Layout lze u OS Android navrhnout buď v programové části na virtuálním plátně či přímo v XML. Tyto postupy lze poté libovolně kombinovat. Nanesením komponenty se vytvoří odpovídající zdrojová část třída, které lze poté udělit nějakou akci. Je tedy možné definovat nejen rozměr tlačítka, ale také stavy, které budou následovat po kliknutí na toto tlačítko. Například: po kliknutí na tlačítko HLEDAT se provede výpočet na základě předem stanoveného algoritmu se zadanými hodnotami úvěru. Pro operační systém Android existuje 5 základních typů layoutů: Lineární layout komponenty se organizují v řádcích. Pomocí orientace lze určit, zda se každá další komponenta bude umisťovat na nové řádky, či na řádek jeden. Rámcový layout ideální pro zobrazení jednoho prvku, např. obrázku. Při vložení dalšího prvku dojde k překrytí stávajícího. Tabulkový layout tento typ rozvržení si lze představit jako tabulku obsahující řádky a sloupce. 50

58 Relativní layout jedná se o rozvržení závislé na rozložení ostatních komponent. Pokud chceme, aby tlačítko OK bylo vpravo, tlačítko Storno vlevo a to vše pod určitým textem, lze tento systém rozložení aplikovat tak, že dojde ke splnění všech podmínek. Takto vzniklý layout je možné kontrolovat nejen na virtuálním plátně, ale je možné si jej spustit také v emulátoru, abychom viděli, jak se jednotlivá tlačítka chovají a zda je rozmístění intuitivní. V prvních chvílích byl vytvořen základní layout, který nabízí přímo SDK. Na základě testování aplikace uživateli byl tento základní design shledán, jako nevyhovující. Byl tedy vytvořen grafický layout, který by vizuálně oddělil jednotlivé funkční prvky aplikace a ta se tak stala více přehlednou. Základní rozvržení grafiky definujeme v XML. Objektem zájmu jsou pomyslné funkční úseky, z nichž každá přidává rozdílnou informační hodnotu. Navržený layout sestává z: Uživatelské části jedná se o horní část obrazovky, ve které uživatel vkládá svá data. Pro vysvětlení jsou v hranatých závorkách uvedeny i měrné jednotky. Po kliknutí na první dvě pole, tedy výše úvěru a roční úrok, je automaticky vyvolána numerická klávesnice. Při implementaci lze zvolit, jaký typ klávesnice se má zobrazit. Vedle numerické se může jednat i o standardní QWERTZ. Uživatel je poté vyzván, aby na klávesnici zadal příslušná čísla. Pokud nezadá žádná, aktivuje se toast upozornění a nevyplněná pole se vybarví červenou barvou. Action části sem můžeme zahrnout pomyslný spouštěč celého algoritmu. Jedná se tedy o tlačítko vypočítat, které vyvolá akci porovnání a validitu zadaných hodnot uživatelem a samotný výpočet, který se zobrazí v poslední části. Výsledkové části nová obrazovka, kde se zobrazují výsledky. Tento výpis sestává z horní notifikační lišty, která poskytuje informace o počtu nabídek na zadané parametry. Hodnoty se budou měnit v závislosti na výši zadaného úvěru (některé finanční ústavy nepůjčují méně, než Kč., apod.). V další části je již samotný výpis nabídek řazený v základu dle nejvýhodnější nabídky. 51

59 Příloha č Implementace BANKOVNÍ KALKULÁTOR: Ukázka výsledkové části aplikace [fotografie]. Nejdůležitějším milníkem při vývoji softwaru je přímý akt programování, kterému předchází nejen analýza a návrh. Tedy co a jakým způsobem vytvoříme. Ale také studie proveditelnosti, která v našem případě však postrádá smysl. Při vývoji jedné, velmi jednoduché aplikace je většinou zbytečné postupovat všechny etapy životního cyklu. Často postačí, když si uvědomíme, co má aplikace dělat a jakým způsobem jí chceme vytvořit. Velmi zajímavým názorem bývá fakt, že nejdůležitější částí z celé implementace je vymyšlení samotného algoritmu. V našem případě tedy sestrojení vzorce, který po vložení hodnot vyprodukuje požadované výsledky měsíční splátky včetně celkového úroku. Implementace spotřebuje jen malou část úsilí potřebného pro vývoj softwaru a tento podíl navíc dlouhodobě klesá, zatímco nejvíce zdrojů se spotřebuje při provozu a údržbě. Programy se proto nevytvářejí tak, aby se lehce psaly, ale aby se lehce četly a modifikovaly. Při implementaci se dá postupovat dvěma základními způsoby. Při implementaci zdola-nahoru se nejdříve implementují části na nejnižších úrovních a ty se pak postupně spojují do větších 52

60 celků. Při implementaci shora-dolů se nejdříve vytvoří moduly na nejvyšší úrovni a pak se postupně dokončují části na nižších úrovních. V praxi se používá kombinace obou přístupů Objektově orientovaný návrh implementace Aplikace obsahuje jeden implementační balíček cz.app.calculator, který obsahuje několik tříd. Nejdůležitějšími třídami z hlediska uživatelského rozhraní jsou třídy MainActivity a ListIemActivity, které plní daty obrazovky aplikace. Pro komunikaci s databází slouží třída MySQLHelper, pomocí které jsou získávána data o jednotlivých produktech. Tyto produkty jsou reprezentovány jako objekty třídy CustomerCredit. Na rozdíl od databázové tabulky customer_credit objekty obsahují také další položky, jejichž výpočet je zajištěn ve třídě CustomerCreditDataSource. Mezi tyto položky patří výpočet měsíčních splátek monthpayment, výpočet celkové částky splatné bance bankamount, ale také vypočtená RPSN, kterou reprezentuje položka apr. Výpočet RPSN je zajištěn ve třídě APR. Poslední třídou použitou při implementace aplikace je třída CustomerCreditListAdapter, která zajišťuje správné přiřazení hodnot do výpisu položek k jednotlivým produktům. Příloha č. 20 BANKOVNÍ KALKULÁTOR: Objekt CustomerCredit reprezentující produkty jednotlivých bank [fotografie]. Část, ve které probíhá výpočet měsíční splátky, můžeme demonstrovat na následujícím kusu zdrojového kódu: 20 KŘENA, PH.D., Ing. Bohuslav a Ing. Radek KOČÍ, PH.D. VUT FIT BRNO. Úvod do softwarového inženýrství: Studijní opora [online], s. 78. vyd. Brno, 2006 [cit ]. 53

61 Příloha č. 21 BANKOVNÍ KALKULÁTOR: Výpočet měsíční splátky [fotografie]. Jedná se o analogii vzorce, který je pouze převeden do jazyka Java. Hlavní pointou je následující vzorec: Denní úrok = minimální úroková sazba úvěru / 1200 Index = 1 / (1 + denní úrok) Měsíční splátka = výše úvěru * denní úrok / (1 index počet měsíců ) Výpočet celkové částky zaplacené bance: Částka = měsíční splátky * počet měsíců + roční poplatek za správu * počet měsíců / 12 Velmi důležitý je XML soubor AndroidManifest, který specifikuje parametry aplikace Bankovního kalkulátoru. Zejména pak udělená oprávnění, tedy laicky řečeno, co aplikace může, na co smí sáhnout a co naopak nemůže. Naše aplikace kalkulátoru bankovních úvěrů má pouze jediný požadavek. A tím je přístup ke klávesnici uživatele, tedy jinými slovy řečeno odposlouchávání toho, co uživatel na klávesnici zadá. Součástí Manifestu je také 54

62 specifikace minimální a maximální úrovně API. Toto rozmezí rozhoduje, na které verzi OS Android bude aplikace běžet optimálně a na které je možné očekávat nestandardní projevy, jako rozházené vizuální komponenty, nekompatibilita s daným zařízením, apod. Manifest může také obsahovat jeden anebo více elementů provider indikujících dodavatele obsahu, což jsou komponenty, které dodávají data vašim aktivitám a s vaším povolením také aktivitám jiných aplikací v zařízení. Dodavatele obsahu obalují databáze nebo jiné datové sklady do jediného API, které může používat jakákoliv aplikace. V Manifestu může být také obsažen element Service popisující služby, což jsou dlouhodobě spuštěné části zdrojového kódu, které mohou operovat nezávisle na jakékoliv aktivitě. Typickým příkladem služby je MP3 přehrávač, který má za úkol pokračovat v přehrávání, i když uživatel otevře jinou aktivitu, které uživatelské rozhraní přehrávače překryje. 21 Příloha č. 22 BANKOVNÍ KALKULÁTOR: Ukázka manifestu aplikace [fotografie]. 21 MURPHY, Mark L. Android 2: průvodce programováním mobilních aplikací. Vyd. 1. Brno: Computer Press, 2011, s. 31. ISBN

63 Pokud bychom chtěli aplikaci distribuovat na Obchod Play/Play Store (dříve Android Market), je nutné vyplnit atribut minsdkversion, coby specifikaci úrovně, pro kterou bude aplikace plně optimalizována. Bankovní kalkulátor má nejnižší úroveň API levelu na čísle 9, která odpovídá verzi GingerBread (2.3). Verze Froyo a nižší tedy aplikací spustí, ale může docházet k již zmiňovaným nestandardním situacím. Cílený API level je nastaven na hodnotu 17, tedy v současnosti druhá nejrozšířenější verze Jelly Bean. Optimalizace pro nejnovější verzi Kit Kat proběhla prakticky automaticky, jelikož podložená funkčnost aplikace na verzi Jelly Bean se také přenáší do novějších verzí Implementace databáze Návrh datových struktur obsahuje celkem dvě databázové tabulky. První tabulka bank obsahuje mimo primárního klíče pouze název finančního ústavu, tedy banky. Druhá tabulka customer_credit obsahuje produkty daných bank, díky kterým je možné poskytnout žadateli osobní úvěr. Provázanost tabulek zajišťuje cizí klíč bid v tabulce customer_credit. Protože může jedna banka poskytovat více produktů, jsou tyto tabulky ve vztahu 1:N. Pro potřeby aplikace je důležité, aby byly ke každému produktu zaznamenány všechny potřebné informace. Sloupec product_name datového typu TEXT obsahuje název produktu, min_rate_loan typu FLOAT zaznamenává minimální úrokovou sazbu úvěru. Roční poplatek za správu úvěru reprezentuje sloupec management_fee_year typu INTEGER a minimální možnou výši poskytnutého úvěru sloupec min_loan_amount typu INTEGER. Nechybí ani poplatky spojené s úvěrem ve sloupci loan_fees typu INTEGER a poplatky za předčasné splacení úvěru ve sloupci penalties. Tyto poplatky jsou popsány textově, a proto je sloupec typu TEXT. Příloha č. 23 BANKOVNÍ KALKULÁTOR: Grafické vyjádření SQL databáze [fotografie]. 56

64 Získání dat o produktech z databáze Data z tabulek získáváme následujícím příkazem: SELECT * FROM customer_credit JOIN bank ON customer_credit.bid = bank.bid; Ukázku zdrojového kódu poskytuji níže: Příloha č. 24 BANKOVNÍ KALKULÁTOR: Ukázka části kódu reprezentující funkcionalitu databáze [fotografie]. Zdrojový kód pokračuje částí, ve které se praktikuje naplnění tabulky daty o názvech bank, poté přecházíme do části, kde již jednotlivě plníme třiadvacet záznamů pevnými parametry. 57

65 Parametry jsou název bankovního produktu, úroková míra, rozmezí částky, na které se daný produkt vztahuje a informace o sankci za předčasnou splátku Testování Testování je nepochybně nejdůležitější částí vývoje SW produktů. Je nutné mu věnovat dostatek času a předem si promyslet postupy, které budeme u testování praktikovat. U testování mobilních aplikací se bavíme o několika postupech, které v konečném důsledku mohou odhalit i faktické chyby, které jsme přehlídli v analýze Testování během vývoje Nejdůležitějším testováním je tzv. unit testing, který se používá pro automatické ověřování funkčnosti psaného kódu. Základem je testování jednotlivých tříd a metod. Vývojové prostředí Eclipse disponuje rozsáhlou druhotnou kontrolou psaného kódu. V případě komplikace je tedy schopno vypsat případné kolize, či chyby v kódu. Poměrně dobrým testem může být záměrně škodící jednání. Tedy používání aplikace tak, abychom jí vystavili záměrné nestabilitě. Tipy pro testování uvádím v těchto bodech: Vyzkoušení změny orientace displeje (viz příloha níže) Vypnutí aplikace jinými, než zavedenými postupy (např. tlačítkem zpět, či domů s opětovným navrácením do aplikace) Násilné ukončení aplikace task managerem (ukončí všechny aplikace a promaže RAM) Příloha č. 25 BANKOVNÍ KALKULÁTOR: Zobrazení aplikace naležato změna orientace displeje [fotografie]. 58

66 Emulátor O několik stran dříve jsem se zmínil o emulátoru, který slouží jakožto dokonalá kopie operačního systému Android pro účely testování. Pokud bychom chtěli naše aktivity přeložit, je pro tyto účely emulátor dobrou volbou. I v případě, že nevlastníme nějaké Android zařízení. Emulátor se definuje v SDK Manageru, kde je nejdříve nutné projít si instalacemi požadovaných pluginů. Zejména tedy instrukčních sad, dokumentací, specifických sad pro spuštění emulátoru v prostředí desktopu a Google API pro námi požadovanou verzi systému Android. Po kompletní instalaci zvolíme v záložce Tools AVD Manager, ve kterém vytvoříme konečnou podobu emulátoru. Příloha č. 26 BANKOVNÍ KALKULÁTOR: Příprava emulátoru [fotografie]. Při tvorbě emulátoru jen nutné brát na zřetel výkon počítače, na kterém jsme se rozhodli testovat. Pokud bychom chtěli emulovat tablet s vyšším rozlišením displeje, může se stát, že hardware našeho počítače bude takový emulátor vytvářet i několik desítek minut a samotný běh bude velmi ztížen četným zasekáváním. Důvodem je fakt, že mezi emulátorem a hardwarem počítače je softwarová vrstva operačního systému. K této vrstvě nemáme běžně přistup, existuje však tzv. hardwarová akcelerace, která umožňuje přistupovat emulátoru k hardwaru počítače mimo vrstvu operačního systému. Základním problémem je ovšem fakt, 59

67 že musíme emulovat instrukční sadu procesorů ARM, což je výpočetně velmi náročné. Obzvláště, když nedávné verze emulátoru uměly využít pouze jedno procesorové jádro počítače. Opačným aspektem může být i rozlišení displeje, které je stále jemnější a tak emulovat tablet (softwarově vykreslovat plochu displeje) je poměrně zajímavá výzva pro každé stolní PC. Takové řešení má však za následek občasné lagování, které může být u některých verzí Androidu velmi znatelné. Ideální je vytvoření takového emulátoru, který kopíruje nejrozšířenější typy mobilních telefonů. Tedy 4 4,5 displej s rozlišením 800 x 480 bodů (maximálně 1280 x 768 bodů). Můžeme také zvolit již předpřipravené profily nejpoužívanějších telefonů. Na výběr je Nexus S, Nexus 4, Nexus 7, apod. Při tvorbě vlastního emulátoru volíme následující hodnoty: Name: volíme dle našeho výběru. Device: zde upřesníme velikost a rozlišení displeje. Target: jedná se o cílový operační systém, pro který bude aplikace plně optimalizována. CPU: zůstává defaultně na pozici architektury ARM Memory: volíme velikost operační paměti. Internal Storage: zde volíme velikost vnitřní paměti. SD Card: pokud hodnotu vyplníme, bude v emulátoru dostupná paměťová karta, na kterou můžeme instalovat aplikace. 60

68 BANKOVNÍ KALKULÁTOR: Nastavení virtuálního stroje pro účely testování [fotografie]. Pokud jsme si nastavením jistí, zvolíme tlačítko OK. Výsledný emulátor je co do funkčnosti srovnatelný s mobilním telefonem obsahující OS Android. Na takto vzniklém emulátoru je možné bez problémů testovat již zkompilované APK balíky. Na níže uvedených obrázcích lze vidět perfektní funkčnost emulátoru s Androidem Jelly Bean: 61

Vývoj mobilních aplikací

Vývoj mobilních aplikací Bankovní institut vysoká škola Praha Katedra informatiky a kvalitativních metod Vývoj mobilních aplikací Diplomová práce Autor: Bc. Tomáš Hochmuth Informační technologie a management Vedoucí práce: Ing.

Více

Vývoj Internetu značně pokročil a surfování je dnes možné nejen prostřednictvím počítače, ale také prostřednictvím chytrých telefonů, tabletů a

Vývoj Internetu značně pokročil a surfování je dnes možné nejen prostřednictvím počítače, ale také prostřednictvím chytrých telefonů, tabletů a Vývoj Internetu značně pokročil a surfování je dnes možné nejen prostřednictvím počítače, ale také prostřednictvím chytrých telefonů, tabletů a netbooků. Chytré telefony, nazývané také Smartphony, poskytují

Více

Obsah. Úvod 11 Zpětná vazba od čtenářů 13 Errata 14 Poznámka ke kódům 14

Obsah. Úvod 11 Zpětná vazba od čtenářů 13 Errata 14 Poznámka ke kódům 14 Úvod 11 Zpětná vazba od čtenářů 13 Errata 14 Poznámka ke kódům 14 KAPITOLA 1 Nové rysy Windows 8 a 8.1 15 Nové uživatelské rozhraní 15 Rychlý náběh po zapnutí 16 Informace v prvním sledu 16 Nové prezentační

Více

Vývoj mobilních telefonů. Barbora Bartlíková

Vývoj mobilních telefonů. Barbora Bartlíková Vývoj mobilních telefonů Barbora Bartlíková 1. Mobilní telefon První mobilní telefon spatřil svět v r. 1983. vynalezl ho americký konstruktér Martin Cooper. Byla to Motorola DynaTAC 8000X. Tento přistroj

Více

Projekt: 1.5, Registrační číslo: CZ.1.07/1.5.00/34.0304. Osobní počítač

Projekt: 1.5, Registrační číslo: CZ.1.07/1.5.00/34.0304. Osobní počítač Osobní počítač Osobní počítač PC uvedla na trh firma IBM na trh v roce 1981. Jedná se o stavebnicovou konstrukci. Konkurenci se podařilo konstrukci napodobit a tak vznikly počítače IBM PC kompatibilní

Více

Obsah. O autorech 9 Earle Castledine 9 Myles Eftos 9 Max Wheeler 9 Odborný korektor 10. Předmluva 11 Komu je kniha určena 12 Co se v knize dočtete 12

Obsah. O autorech 9 Earle Castledine 9 Myles Eftos 9 Max Wheeler 9 Odborný korektor 10. Předmluva 11 Komu je kniha určena 12 Co se v knize dočtete 12 O autorech 9 Earle Castledine 9 Myles Eftos 9 Max Wheeler 9 Odborný korektor 10 Předmluva 11 Komu je kniha určena 12 Co se v knize dočtete 12 Poděkování 15 Earle Castledine 15 Myles Eftos 15 Max Wheeler

Více

Základní informace. Operační systém (OS)

Základní informace. Operační systém (OS) Základní informace Operační systém (OS) OS je základní program, který oživuje technické díly počítače (hardware) a poskytuje prostředí pro práci všech ostatních programů. Operační systém musí být naistalován

Více

Obsah. Úvod 11. Vytvoření emulátoru 20 Vytvoření emulátoru platformy Android 4.4 Wearable 22 Spouštění aplikací na reálném zařízení 23

Obsah. Úvod 11. Vytvoření emulátoru 20 Vytvoření emulátoru platformy Android 4.4 Wearable 22 Spouštění aplikací na reálném zařízení 23 Úvod 11 KAPITOLA 1 Nástroje pro vývoj 13 Co budete potřebovat 13 Instalace programovacího jazyka Java 13 Java 8 14 Vývojové prostředí Eclipse 15 Instalace a konfigurace Android SDK a doplňků ADT 15 Vytvoření

Více

úvod Historie operačních systémů

úvod Historie operačních systémů Historie operačních systémů úvod Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu www.rvp.cz, ISSN: 1802-4785. Provozuje Národní ústav

Více

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Číslo projektu: CZ.1.07/1.5.00/34.0410 Číslo šablony: 20 Název materiálu: Android vs ios Ročník: Identifikace materiálu: Jméno autora: Předmět:

Více

Procesory nvidia Tegra

Procesory nvidia Tegra VŠB-TU Ostrava Fakulta elektrotechniky a informatiky Procesory nvidia Tegra Petr Dostalík, DOS140 Pokročilé architektury počítačů Představení nvidia Tegra V únoru roku 2008 představila společnost nvidia

Více

Vývoj OS Windows Mobile. Ing. Jiří Šilhán

Vývoj OS Windows Mobile. Ing. Jiří Šilhán Vývoj OS Windows Mobile Ing. Jiří Šilhán Počátky vývoje Windows Mobile (též označovaný jako Windows CE) začíná roku 1992. Hlavním cílem bylo vyvinout mobilní zařízení s operačním systémem Windows. Myšlenkou

Více

Nástroje na vývoj aplikací pro ios Trocha motivace na úvod Co budete potřebovat Co když nemáte k dispozici počítač s macos? Vývojové prostředí Xcode

Nástroje na vývoj aplikací pro ios Trocha motivace na úvod Co budete potřebovat Co když nemáte k dispozici počítač s macos? Vývojové prostředí Xcode KAPITOLA 1 Nástroje na vývoj aplikací pro ios 11 Trocha motivace na úvod 11 Co budete potřebovat 11 Co když nemáte k dispozici počítač s macos? 12 Vývojové prostředí Xcode 14 Průběžná aktualizace 16 První

Více

Autodesk AutoCAD 2018

Autodesk AutoCAD 2018 Novinky Autodesk AutoCAD 2018 www.graitec.cz www.cadnet.cz, helpdesk.graitec.cz, www.graitec.com Novinky Autodesk AutoCAD 2018 PDF dokument obsahuje přehled novinek produktu AutoCAD 2018. AutoCAD 2018

Více

Samsung rozšiřuje nabídku smartphonů GALAXY o nové, levnější modely

Samsung rozšiřuje nabídku smartphonů GALAXY o nové, levnější modely Samsung rozšiřuje nabídku smartphonů GALAXY o nové, levnější modely Rovnou o tři nové přírůstky se rozrostla oblíbená rodina mobilních zařízení GALAXY společnosti Samsung. Smartphony Core II, Ace 4 a Young

Více

Programové vybavení počítačů operační systémy

Programové vybavení počítačů operační systémy Programové vybavení počítačů operační systémy Operační systém Základní program, který oživuje hardware a poskytuje prostředí pro ostatní programy Řídí využití procesoru, síťovou komunikaci, tisk, ovládá

Více

Inteligentní řízení strojů s portfoliem u-mation Řešení pro automatizaci a digitalizaci Let s connect. Automatizace a digitalizace

Inteligentní řízení strojů s portfoliem u-mation Řešení pro automatizaci a digitalizaci Let s connect. Automatizace a digitalizace Inteligentní řízení strojů s portfoliem u-mation Řešení pro automatizaci a digitalizaci Let s connect. Automatizace a digitalizace Řešení pro automatizaci a digitalizaci Jakožto expert v průmyslové konektivitě

Více

Dotykové technologie dotkněte se budoucnosti...

Dotykové technologie dotkněte se budoucnosti... Mgr. Petr Jelínek Ing. Michal Bílek Ing. Karel Johanovský Dotykové technologie dotkněte se budoucnosti... O co se vlastně jedná? dotykové obrazovky (displeje) jsou vstupní i výstupní zařízení dvě nesporné

Více

MATURITNÍ PRÁCE dokumentace

MATURITNÍ PRÁCE dokumentace MATURITNÍ PRÁCE dokumentace Jídelníček SŠIEŘ pro Android Martin Bartoň školní rok: 2012/2013 obor: třída: Počítačové systémy PS4.A ABSTRAKT Práce je zaměřená na problematiku tvorby Android aplikací,

Více

Software programové vybavení. 1. část

Software programové vybavení. 1. část Software programové vybavení 1. část Software Vše co není HW je SW = pojem se někdy vztahuje jak na programy, tak na data Oživuje hardware (zdaleka ne jen počítače) Je-li přítomen procesor, musí být i

Více

Motorola Phone Tools. Začínáme

Motorola Phone Tools. Začínáme Motorola Phone Tools Začínáme Obsah Minimální požadavky... 2 Před instalací aplikace Motorola Phone Tools... 3 Instalace aplikace Motorola Phone Tools... 4 Instalace a konfigurace mobilního zařízení...

Více

NÁVRH EFEKTIVNÍ STRATEGIE MOBILNÍHO BANKOVNICTVÍ: NALEZENÍ SPRÁVNÉHO OBCHODNÍHO MODELU Mobile tech 2014

NÁVRH EFEKTIVNÍ STRATEGIE MOBILNÍHO BANKOVNICTVÍ: NALEZENÍ SPRÁVNÉHO OBCHODNÍHO MODELU Mobile tech 2014 NÁVRH EFEKTIVNÍ STRATEGIE MOBILNÍHO BANKOVNICTVÍ: NALEZENÍ SPRÁVNÉHO OBCHODNÍHO MODELU Mobile tech 2014 Mojmír Prokop, Head of Direct Channels, Komerční banka, a.s. Praha 27.března 2012 Kdo jsme : Silná

Více

NOVÝ DIAGNOSTICKÝ TESTER DCU 100 UPGRADE KTS 460

NOVÝ DIAGNOSTICKÝ TESTER DCU 100 UPGRADE KTS 460 DCU KTS 350 100 PLUS NOVÝ DIAGNOSTICKÝ TESTER DCU 100 UPGRADE DCU 100 PLUS KTS 460 KTS 350 Nástupce KTS 340 KTS 340 Ukončení výroby prosinec 2015 KTS 350 DCU100 plus s integrovanou komunikační kartou KTS

Více

Windows a real-time. Windows Embedded

Windows a real-time. Windows Embedded Windows a real-time Windows Embedded Windows pro Embedded zařízení Současnost (2008): Windows Embedded WINDOWS EMBEDDED Windows Embedded CE Windows XP Embedded Windows Embedded for Point of Service Minulé

Více

Huawei Ideos X5 smartphone s operačním systémem Anroid a s ideálním poměrem ceny a výkonu, s dobrým čtypalcovým displejem a rychlými reakcemi

Huawei Ideos X5 smartphone s operačním systémem Anroid a s ideálním poměrem ceny a výkonu, s dobrým čtypalcovým displejem a rychlými reakcemi Vodafone v srpnu uvádí nejširší portfolio smartphonů na trhu Praha 1. srpna 2011 Devět chytrých telefonů a jeden tablet. To je bezkonkurenčně rozšířená nabídka chytrých telefonů v portfoliu Vodafone, která

Více

Efektivní vývoj mobilních aplikací na více platforem současně. Mgr. David Gešvindr MCT MSP MCPD MCITP gesvindr@mail.muni.cz

Efektivní vývoj mobilních aplikací na více platforem současně. Mgr. David Gešvindr MCT MSP MCPD MCITP gesvindr@mail.muni.cz Efektivní vývoj mobilních aplikací na více platforem současně Mgr. David Gešvindr MCT MSP MCPD MCITP gesvindr@mail.muni.cz Osnova 1. Kam míří platforma Windows Phone 2. Seznámení s univerzálními Windows

Více

Olga Rudikova 2. ročník APIN

Olga Rudikova 2. ročník APIN Olga Rudikova 2. ročník APIN Redakční (publikační) systém neboli CMS - content management system (systém pro správu obsahu) je software zajišťující správu dokumentů, nejčastěji webového obsahu. (webová

Více

Obsah ZÁKLADNÍ DESKA. O autorech 11 Úvod 13

Obsah ZÁKLADNÍ DESKA. O autorech 11 Úvod 13 O autorech 11 Úvod 13 Programování je zábavné! 13 Trocha historie 15 K čemu je tedy počítač Raspberry Pi dobrý? 19 Zpětná vazba od čtenářů 21 Zdrojové kódy ke knize 21 Errata 21 ČÁST I ZÁKLADNÍ DESKA KAPITOLA

Více

Knihovny v mobilních zařízeních. Jan Pokorný Knihovny současnosti 2012

Knihovny v mobilních zařízeních. Jan Pokorný Knihovny současnosti 2012 Knihovny v mobilních zařízeních Jan Pokorný Knihovny současnosti 2012 Mobilita a komunikace Zánik lokálních služeb na úkor globálních => nutnost stále cestovat z místa na místo Díky technologiím nežijeme

Více

Identifikátor materiálu: ICT-1-17

Identifikátor materiálu: ICT-1-17 Identifikátor materiálu: ICT-1-17 Předmět Informační a komunikační technologie Téma materiálu Operační systémy Autor Ing. Bohuslav Nepovím Anotace Student si procvičí / osvojí operační systémy. Druh učebního

Více

Vodafone nabízí šest nových smartphonů a prodlužuje slevu 2000 kroun na chytré telefony

Vodafone nabízí šest nových smartphonů a prodlužuje slevu 2000 kroun na chytré telefony Vodafone nabízí šest nových smartphonů a prodlužuje slevu 2000 kroun na chytré telefony Praha 1. prosince 2011 Zákazníci v prosinci najdou v nabídce Vodafonu tři novinky od Samsungu, dvě od značky a jednu

Více

Elektronické učebnice popis systému, základních funkcí a jejich cena

Elektronické učebnice popis systému, základních funkcí a jejich cena Elektronické učebnice popis systému, základních funkcí a jejich cena Vytvořil TEMEX, spol. s r. o. Obsah 1. Úvod... 2 Formáty... 2 Cena... 2 2. Systémové požadavky... 3 Interaktivní PDF verze... 3 HTML

Více

Hospodářská informatika

Hospodářská informatika Hospodářská informatika HINFL, HINFK Vytvořeno s podporou projektu Průřezová inovace studijních programů Lesnické a dřevařské fakulty MENDELU v Brně (LDF) s ohledem na disciplíny společného základu reg.

Více

Enterprise Mobility Management

Enterprise Mobility Management Enterprise Mobility Management Množství různých typů a celkové počty mobilních zařízení, pomocí kterých jsou dostupná firemní data, se neustále zvyšují. To na jedné straně zvyšuje efektivitu práce zaměstnanců,

Více

MOBILNÍ TELEFON HUAWEI P9 LITE DUALSIM MOBILNÍ TELEFON, DOTYKOVÝ, 5,2&QUOT; DISPLEJ, 16 GB, 2 GB RAM, ANDROID 6, ZLATÝ

MOBILNÍ TELEFON HUAWEI P9 LITE DUALSIM MOBILNÍ TELEFON, DOTYKOVÝ, 5,2&QUOT; DISPLEJ, 16 GB, 2 GB RAM, ANDROID 6, ZLATÝ 04.03.17 14:25:00 MOBILNÍ TELEFON HUAWEI P9 LITE DUALSIM MOBILNÍ TELEFON, DOTYKOVÝ, 5,2&QUOT; DISPLEJ, 16 GB, 2 GB RAM, ANDROID 6, ZLATÝ Cena celkem: 6 990 Kč (bez DPH: 5 777 Kč) Běžná cena: 7 689 Kč Ušetříte:

Více

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií VY_32_INOVACE_31_15 Škola Název projektu, reg. č. Vzdělávací oblast Vzdělávací obor Tematický okruh Téma Tematická oblast Název Autor Vytvořeno, pro obor, ročník Anotace Přínos/cílové kompetence Střední

Více

Vzdálený přístup k počítačům

Vzdálený přístup k počítačům Vzdálený přístup k počítačům jedna z nejstarších služeb vzdálený přístup k sálovým počítačům nejprve vzdálené terminály později terminálová emulace jako jedna ze služeb počítačové sítě současnost využíváno

Více

NOTEBOOK DELL INSPIRON 13Z 5000 TOUCH NOTEBOOK, I5-7200U, 4GB, 128GB SSD, 13.3&QUOT; FHD DOTYKOVÝ, W10, ŠEDÝ, 2YNBD ON-SITE

NOTEBOOK DELL INSPIRON 13Z 5000 TOUCH NOTEBOOK, I5-7200U, 4GB, 128GB SSD, 13.3&QUOT; FHD DOTYKOVÝ, W10, ŠEDÝ, 2YNBD ON-SITE 13.02.17 7:05:40 NOTEBOOK DELL INSPIRON 13Z 5000 TOUCH NOTEBOOK, I5-7200U, 4GB, 128GB SSD, 13.3&QUOT; FHD DOTYKOVÝ, W10, ŠEDÝ, 2YNBD ON-SITE Cena celkem: 19 239 Kč (bez DPH: 15 900 Kč) Běžná cena: 21 162

Více

1.1 Seznámení s programy Office

1.1 Seznámení s programy Office Název školy Číslo projektu Autor Název šablony Název DUMu Tematická oblast Předmět Druh učebního materiálu Anotace Vybavení, pomůcky Střední průmyslová škola strojnická Vsetín CZ.1.07/1.5.00/34.0483 Ing.

Více

INFORMAČNÍ SYSTÉMY NA WEBU

INFORMAČNÍ SYSTÉMY NA WEBU INFORMAČNÍ SYSTÉMY NA WEBU Webový informační systém je systém navržený pro provoz v podmínkách Internetu/intranetu, tzn. přístup na takový systém je realizován přes internetový prohlížeč. Použití internetového

Více

SAMSUNG E1170. Stránka 1 z 6

SAMSUNG E1170. Stránka 1 z 6 Stránka 1 z 6 SAMSUNG E1170 Cena : 416,- Kč bez DPH 499,- Kč s DPH Jednoduchý mobilní telefon vhodný pro nenáročné uživatele, seniory apod. Nabízí všechny základní funkce mobilní komunikace, imituje elegantní

Více

Zabezpečení mobilních bankovnictví

Zabezpečení mobilních bankovnictví Konference Security 2015 Zabezpečení mobilních bankovnictví Petr Dvořák CEO, Lime - HighTech Solutions s.r.o. petr@lime-company.eu Obsah Vlastnosti mobilních zařízení. Architektura mobilního bankovnictví.

Více

PHP framework Nette. Kapitola 1. 1.1 Úvod. 1.2 Architektura Nette

PHP framework Nette. Kapitola 1. 1.1 Úvod. 1.2 Architektura Nette Kapitola 1 PHP framework Nette 1.1 Úvod Zkratka PHP (z anglického PHP: Hypertext Preprocessor) označuje populární skriptovací jazyk primárně navržený pro vývoj webových aplikací. Jeho oblíbenost vyplývá

Více

Minix NEO Z64 Windows 8.1

Minix NEO Z64 Windows 8.1 Minix NEO Z64 Windows 8.1 Uživatelská příručka CZ Děkujeme Vám za zakoupení Minix NEO Z64 s OS Windows 8.1 Minix NEO Z64 je revoluční kompaktní Mini PC s čtyřjádrovým procesorem Intel Atom. NEO Z64 nově

Více

Xtreamer Wonder. Uživatelská příručka CZ

Xtreamer Wonder. Uživatelská příručka CZ Xtreamer Wonder Uživatelská příručka CZ Děkujeme Vám za zakoupení Xtreamer Wonder Xtreamer Wonder je zcela nový media hub na bázi Android 4.4 KitKat s čtyřjádrovým ARM Cortex A9 procesorem a grafikou Mali

Více

1 Správce licencí Správce licencí Správce licencí Start > Všechny programy > IDEA StatiCa > Správce licencí Soubor > Správce licencí Licence

1 Správce licencí Správce licencí Správce licencí Start > Všechny programy > IDEA StatiCa > Správce licencí Soubor > Správce licencí Licence 1 Správce licencí Programy IDEA jsou chráněny proti neoprávněnému použití. Pro běh programu je vyžadována platná licence. Upozornění: Lokální licence na pracovní stanici a síťová licence Eleckey jsou softwarové

Více

SKYLINK LIVE TV VAŠE TELEVIZE PŘES INTERNET

SKYLINK LIVE TV VAŠE TELEVIZE PŘES INTERNET SKYLINK LIVE TV VAŠE TELEVIZE PŘES INTERNET Skylink Live TV vám přináší svobodu a volnost při sledování televize. Nejen na velké televizní obrazovce, ale i na vašem chytrém telefonu, tabletu nebo PC. Kdykoli

Více

Microsoft SharePoint Portal Server 2003. Zvýšená týmová produktivita a úspora času při správě dokumentů ve společnosti Makro Cash & Carry ČR

Microsoft SharePoint Portal Server 2003. Zvýšená týmová produktivita a úspora času při správě dokumentů ve společnosti Makro Cash & Carry ČR Microsoft SharePoint Portal Server 2003 Zvýšená týmová produktivita a úspora času při správě dokumentů ve společnosti Makro Cash & Carry ČR Přehled Země: Česká republika Odvětví: Velkoobchod Profil zákazníka

Více

Chytré telefony pohledem operátora. Petr Dvořáček, Jan Fišer, T-Mobile Czech Republic a.s. 2.2. 2012

Chytré telefony pohledem operátora. Petr Dvořáček, Jan Fišer, T-Mobile Czech Republic a.s. 2.2. 2012 Chytré telefony pohledem operátora Petr Dvořáček, Jan Fišer, T-Mobile Czech Republic a.s. 2.2. 2012 Mobilní platformy Aktuální situace Mobilní platformy (ekosystémy) vznikají a zanikají, což je přirozené...

Více

Uživatelská příručka CZ

Uživatelská příručka CZ Minix NEO U9-H Uživatelská příručka CZ Děkujeme Vám za zakoupení Minix NEO U9-H Minix NEO U9-H je výkonné multimediální centrum na bázi Android 6.0 Marshmallow s osmijádrovým procesorem a grafikou Mali

Více

BALISTICKÝ MĚŘICÍ SYSTÉM

BALISTICKÝ MĚŘICÍ SYSTÉM BALISTICKÝ MĚŘICÍ SYSTÉM UŽIVATELSKÁ PŘÍRUČKA Verze 2.3 2007 OBSAH 1. ÚVOD... 5 2. HLAVNÍ OKNO... 6 3. MENU... 7 3.1 Soubor... 7 3.2 Měření...11 3.3 Zařízení...16 3.4 Graf...17 3.5 Pohled...17 1. ÚVOD

Více

Autodesk AutoCAD LT 2019

Autodesk AutoCAD LT 2019 Novinky Autodesk AutoCAD LT 2019 www.graitec.cz www.cadnet.cz, helpdesk.graitec.cz, www.graitec.com Novinky Autodesk AutoCAD LT 2019 PDF dokument obsahuje přehled novinek produktu AutoCAD LT 2019. AutoCAD

Více

2.790, 1.804, 1.542, 1.099, Štíhlý design. Super cena. Jednoduché ovládání. Rodinný telefon. Nikon Coolpix S3100. Garmin nüvi 40 ČR Lifetime

2.790, 1.804, 1.542, 1.099, Štíhlý design. Super cena. Jednoduché ovládání. Rodinný telefon. Nikon Coolpix S3100. Garmin nüvi 40 ČR Lifetime Vánoční inspirace Hledáte inspiraci na vánoční dárky? Nevíte jaký vánoční dárek vybrat pro své blízké? Nechte se inspirovat vánoční nabídkou, kterou jsme pro vás ušili přímo na míru. V katalogu Vánoční

Více

Uživatelský manuál - základ PiPO U6

Uživatelský manuál - základ PiPO U6 Uživatelský manuál - základ PiPO U6 Vítejte Děkujeme za koupi tohoto tabletu. Tablet běží na systému Android 4.2 a má čtyřjádobrý 1,6GHz procesor. Před použitím si prosím přečtěte tento manuál. Klávesy

Více

ROZVOJ ICT A PDA ZAŘÍZENÍ THE DEVELOPMENT OF ICT AND PDA DEVICES Jiří Vaněk

ROZVOJ ICT A PDA ZAŘÍZENÍ THE DEVELOPMENT OF ICT AND PDA DEVICES Jiří Vaněk ROZVOJ ICT A PDA ZAŘÍZENÍ THE DEVELOPMENT OF ICT AND PDA DEVICES Jiří Vaněk Anotace: Příspěvek se zabývá rozvojem informačních a komunikačních technologií se zaměřením na trendy technického a programového

Více

Obsah. Úvod 11 O autorovi 11 Koncept knihy 11 Zpětná vazba od čtenářů 12 Zdrojové kódy ke knize 12 Errata 12 ČÁST I VÝVOJ MOBILNÍ APLIKACE

Obsah. Úvod 11 O autorovi 11 Koncept knihy 11 Zpětná vazba od čtenářů 12 Zdrojové kódy ke knize 12 Errata 12 ČÁST I VÝVOJ MOBILNÍ APLIKACE Úvod 11 O autorovi 11 Koncept knihy 11 Zpětná vazba od čtenářů 12 Zdrojové kódy ke knize 12 Errata 12 ČÁST I VÝVOJ MOBILNÍ APLIKACE KAPITOLA 1 Vývojové prostředí a výběr frameworku 15 PhoneGap 15 jquery

Více

Smartphone kdysi. Na počátku byl. SIMON (IBM, 1992)

Smartphone kdysi. Na počátku byl. SIMON (IBM, 1992) Mobilní platformy očima uživatelů 1 Smartphone kdysi Na počátku byl. SIMON (IBM, 1992) Smartphone dnes Nyní ios Apple Android Acer, HTC, Samsung, Nokia.. Windows Phone HTC, Samsung, Dell, Nokia a další..

Více

monolitická vrstvená virtuální počítač / stroj modulární struktura Klient server struktura

monolitická vrstvená virtuální počítač / stroj modulární struktura Klient server struktura IBM PC 5150 MS DOS 1981 (7 verzí) DR DOS, APPLE DOS, PC DOS 1. 3. Windows grafická nástavba na DOS Windows 95 1. operační systém jako takový, Windows XP 2001, podporovány do 2014, x86 a Windows 2000 Professional

Více

Stručný obsah. Úvod 15. KAPITOLA 1 První kroky v systému Windows 8 19. KAPITOLA 2 Hlavní panel a jeho možnosti 41. KAPITOLA 3 Soubory a složky 51

Stručný obsah. Úvod 15. KAPITOLA 1 První kroky v systému Windows 8 19. KAPITOLA 2 Hlavní panel a jeho možnosti 41. KAPITOLA 3 Soubory a složky 51 Stručný obsah Úvod 15 KAPITOLA 1 První kroky v systému Windows 8 19 KAPITOLA 2 Hlavní panel a jeho možnosti 41 KAPITOLA 3 Soubory a složky 51 KAPITOLA 4 Práce se schránkou 85 KAPITOLA 5 Osobní přizpůsobení

Více

Point of View Android 2.3 Tablet - User s Manual ProTab 2XXL

Point of View Android 2.3 Tablet - User s Manual ProTab 2XXL Obsah 1. Úvod... 2 2. Příslušenství... 2 3. Technická specifikace... 3 4. Spouštění a vypínání... 4 5. Pracovní plocha... 5 6. Tlačítka... 5 7. APP zásuvky... 6 8. Nastavení systému... 6 9. Instalace,

Více

Mobile application developent

Mobile application developent Mobile application developent Jiří Šebek b6b36nss Obsah Návrh softwaru Prototypování testování MVVM architektura - mobile aplikace 2 Návrh softwaru Strategie : top down, bottom up Nejen u navrhu sw, ale

Více

Operační systém. Mgr. Renáta Rellová. Výukový materiál zpracován v rámci projektu EU peníze školám

Operační systém. Mgr. Renáta Rellová. Výukový materiál zpracován v rámci projektu EU peníze školám Operační systém Mgr. Renáta Rellová Výukový materiál zpracován v rámci projektu EU peníze školám Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Mgr. Renáta Rellová. Dostupné z Metodického

Více

Před instalací 25 Minimální požadavky na systém Linux a Windows na jednom disku Zrušení instalace Mandriva Linuxu...

Před instalací 25 Minimální požadavky na systém Linux a Windows na jednom disku Zrušení instalace Mandriva Linuxu... Obsah Úvodem 9 Typografické konvence.............................. 10 Změny oproti předchozím verzím......................... 11 Změny v českém vydání.............................. 18 Informace o aktualizaci

Více

1.2 Operační systémy, aplikace

1.2 Operační systémy, aplikace Informační a komunikační technologie 1.2 Operační systémy, aplikace Studijní obor: Sociální činnost Ročník: 1 Programy (Software - SW) V informatice se takto označují všechny samospustitelné soubory které

Více

Mobilní informační průvodce - RegTim

Mobilní informační průvodce - RegTim Mobilní informační průvodce - RegTim nabízí zpřístupnění kulturního a přírodního dědictví regionu s využitím moderních mobilních informačních technologií pro podporu cestovního ruchu a inovativní propagaci

Více

MOBILNÍ TELEFON SAMSUNG GALAXY S8+ (G955) ŠEDÝ MOBILNÍ TELEFON, OCTA CORE 2,3GHZ, 4GB RAM, 64GB, LTE, 6,2&QUOT;, IP68, ANDROID 7.

MOBILNÍ TELEFON SAMSUNG GALAXY S8+ (G955) ŠEDÝ MOBILNÍ TELEFON, OCTA CORE 2,3GHZ, 4GB RAM, 64GB, LTE, 6,2&QUOT;, IP68, ANDROID 7. 19.12.17 5:19:38 MOBILNÍ TELEFON SAMSUNG GALAXY S8+ (G955) ŠEDÝ MOBILNÍ TELEFON, OCTA CORE 2,3GHZ, 4GB RAM, 64GB, LTE, 6,2&QUOT;, IP68, ANDROID 7.0, ŠEDÝ Cena celkem: 24 490 Kč (bez DPH: 20 240 Kč) Běžná

Více

KANTOR IDEÁL Vzdělávání a podpora pedagogických pracovníků ZŠ a SŠ při integraci ICT do výuky. registrační číslo: CZ.1.07/1.3.00/51.

KANTOR IDEÁL Vzdělávání a podpora pedagogických pracovníků ZŠ a SŠ při integraci ICT do výuky. registrační číslo: CZ.1.07/1.3.00/51. KANTOR IDEÁL Vzdělávání a podpora pedagogických pracovníků ZŠ a SŠ při integraci ICT do výuky registrační číslo: CZ.1.07/1.3.00/51.0023 Kterou cestou se vydat? Tři základní operační systémy A z tohoto

Více

Minimální požadavky na systém... 21 Linux a Windows na jednom disku... 22 Zrušení instalace Mandriva Linuxu... 23

Minimální požadavky na systém... 21 Linux a Windows na jednom disku... 22 Zrušení instalace Mandriva Linuxu... 23 Obsah Úvodem 9 Typografické konvence.............................. 10 Změny oproti předchozí verzi Mandriva Linuxu.................. 11 Informace o aktualizaci z verze 2006....................... 17 Poděkování....................................

Více

Jakub Šesták. http://www.cesnet.cz/services/data-storage/?lang=en ESEJ DO PŘEDMĚTU DIGITÁLNÍ KNIHOVNY

Jakub Šesták. http://www.cesnet.cz/services/data-storage/?lang=en ESEJ DO PŘEDMĚTU DIGITÁLNÍ KNIHOVNY MASARYKOVA UNIVERZITA FAKULTA INFORMATIKY Datové služby sdružení CESNET http://www.cesnet.cz/services/data-storage/?lang=en ESEJ DO PŘEDMĚTU DIGITÁLNÍ KNIHOVNY Jakub Šesták 5. 12. 2014 1. ročník navazujícího

Více

instalace, implementace a integrace se systémem spisové služby (SSL)

instalace, implementace a integrace se systémem spisové služby (SSL) PŘÍLOHA Č. 1 ZADÁVACÍ DOKUMENTACE TECHNICKÁ SPECIFIKACE ZÁKAZNÍKA 1 Komplexní dodávka interaktivních úředních desek (IUD), včetně instalace, implementace a integrace se systémem spisové služby (SSL) 1.1

Více

T-Mobile Internet. Manager. pro Mac OS X NÁVOD PRO UŽIVATELE

T-Mobile Internet. Manager. pro Mac OS X NÁVOD PRO UŽIVATELE T-Mobile Internet Manager pro Mac OS X NÁVOD PRO UŽIVATELE Obsah 03 Úvod 04 Podporovaná zařízení 04 Požadavky na HW a SW 05 Instalace SW a nastavení přístupu 05 Hlavní okno 06 SMS 06 Nastavení 07 Přidání

Více

ELEKTRONICKÉ PODÁNÍ OBČANA

ELEKTRONICKÉ PODÁNÍ OBČANA Strana č. 1 ELEKTRONICKÉ PODÁNÍ OBČANA NÁVOD NA VYPLŇOVÁNÍ A ODESLÁNÍ FORMULÁŘŮ IČ: 63078236, DIČ: CZ63078236, OR: MS v Praze, oddíl B, vložka 3044 Strana 1 / 13 Strana č. 2 1 Obsah 1 Obsah... 2 2 Úvod...

Více

Obsah. 1) Rozšířené zadání 2) Teorie zásuvných modulů a) Druhy aplikací používajících zásuvné moduly b) Knihovny c) Architektura aplikace d) Výhody

Obsah. 1) Rozšířené zadání 2) Teorie zásuvných modulů a) Druhy aplikací používajících zásuvné moduly b) Knihovny c) Architektura aplikace d) Výhody Obsah 1) Rozšířené zadání 2) Teorie zásuvných modulů a) Druhy aplikací používajících zásuvné moduly b) Knihovny c) Architektura aplikace d) Výhody 3) 4) Mantichora Mantichora je moderní aplikace, který

Více

VIRTUALIZACE POČÍTAČE HISTORIE A VÝVOJ

VIRTUALIZACE POČÍTAČE HISTORIE A VÝVOJ VIRTUALIZACE POČÍTAČE HISTORIE A VÝVOJ Název školy Obchodní akademie, Vyšší odborná škola a Jazyková škola s právem státní jazykové zkoušky Uherské Hradiště Název DUMu Virtualizace počítače historie a

Více

Uživatelský manuál - základ PiPO P1

Uživatelský manuál - základ PiPO P1 Uživatelský manuál - základ PiPO P1 Vítejte Děkujeme za koupi tohoto tabletu. Tablet běží na systému Android 4.4 a má čtyřjádrový 1,8GHz procesor. Před použitím si prosím přečtěte tento manuál. Klávesy

Více

CineStar Černý Most Praha 31. 10. 2012

CineStar Černý Most Praha 31. 10. 2012 CineStar Černý Most Praha 31. 10. 2012 Stejná aplikace na více zařízeních Michael Juřek Microsoft s.r.o. Potřebné ingredience 1. Portable libraries 2. Návrhový vzor MVVM 3. XAML 4. Abstrakce platformy

Více

František Hudek. únor ročník

František Hudek. únor ročník VY_32_INOVACE_FH01_WIN Jméno autora výukového materiálu Datum (období), ve kterém byl VM vytvořen Ročník, pro který je VM určen Vzdělávací oblast, obor, okruh, téma Anotace František Hudek únor 2013 6.

Více

EMBARCADERO TECHNOLOGIES. Jak na BYOD chytře? Možnosti zapojování různých mobilních zařízení do podnikových informačních systémů.

EMBARCADERO TECHNOLOGIES. Jak na BYOD chytře? Možnosti zapojování různých mobilních zařízení do podnikových informačních systémů. Jak na BYOD chytře? Možnosti zapojování různých mobilních zařízení do podnikových informačních systémů. Trendy a móda EMBARCADERO TECHNOLOGIES Popularita a prodej mobilních zařízení roste Skoro každý má

Více

4.6 Zpracování videa na počítači

4.6 Zpracování videa na počítači 3. 4.6 Zpracování videa na počítači V řetězci bude na vstupu zapojeno zařízení, které nám poslouží jako zdroj signálu. Nemusí se nutně jednat jen o digitální kameru, web kameru či mobilní telefon. Můžeme

Více

Česká zemědělská univerzita v Praze

Česká zemědělská univerzita v Praze Česká zemědělská univerzita v Praze Provozně ekonomická fakulta Katedra informačních technologií Teze diplomové práce Operační systém Google Android Petr Koula 2011 ČZU v Praze Souhrn Diplomová práce zahrnuje

Více

Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek

Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek = Velmi malé jádro = implementuje jen vybrané základní mechanismy: = virtuální paměť; = plánování vláken; = obsluha výjimek; = zasílání

Více

BEZDRÁTOVÝ BOX PRO STREAMOVÁNÍ TV

BEZDRÁTOVÝ BOX PRO STREAMOVÁNÍ TV BEZDRÁTOVÝ BOX PRO STREAMOVÁNÍ TV Průvodce rychlou instalací DN-70310 1. Informace o produktu Děkujeme, že jste si vybrali bezdrátový box pro streamování televizního signálu DIGITUS Wireless TV. Produkt

Více

pouˇzití USB nebo SPI

pouˇzití USB nebo SPI Připojení modulů IQRF k platformě Android za pouˇzití USB nebo SPI Bc. Josef Jebavý, http://xeres.cz 25. srpna 2015 Obsah 1 Operační systém Android 2 2 Moˇznosti řešení 2 2.1 USB........................................

Více

Operační systémy: funkce

Operační systémy: funkce Operační systémy Software, který zabezpečuje základní chod počítače, je prostředníkem mezi hardwarem a aplikačním softwarem. Nutný základní software v počítači. Vykonává řadu rutinních operací, které by

Více

Compatibility List. GORDIC spol. s r. o. Verze 3.60.5 8.4.2009

Compatibility List. GORDIC spol. s r. o. Verze 3.60.5 8.4.2009 Compatibility List Verze 3.60.5 8.4.2009 GORDIC spol. s r. o. Copyright 1993-2009 1 Obsah Obsah 1 2 3 4 5 6 7 8 9 3.1 3.2 Úvodní informace Podporované databázové systémy Klientské prostředí Tlustý klient...

Více

Tvorba internetových aplikací s využitím framework jquery

Tvorba internetových aplikací s využitím framework jquery Tvorba internetových aplikací s využitím framework jquery Autor Michal Oktábec Vedoucí práce PaedDr. Petr Pexa Školní rok: 2009-10 Abstrakt Tato práce se zabývá využití frameworku jquery pro vytváření

Více

plussystem Příručka k instalaci systému

plussystem Příručka k instalaci systému plussystem Příručka k instalaci systému Tato příručka je určena zejména prodejcům systému a případně koncovým uživatelům. Poskytuje návod, jak provést potřebná nastavení komponent. ITFutuRe s.r.o. 26.2.2015

Více

1.1 BBL125 / 227 / 229 UŽIVATELSKÝ MANUÁL

1.1 BBL125 / 227 / 229 UŽIVATELSKÝ MANUÁL 1.1 BBL125 / 227 / 229 UŽIVATELSKÝ MANUÁL BBL125/227/229 Aplikace BeeWi SmartPad Děkujeme vám za zakoupení žárovky Smart LED Color Bulb od BEEWI. Přečtěte si prosím následující pokyny, kde se dozvíte,

Více

O 2 TV. jediná televize, která se vám přizpůsobí

O 2 TV. jediná televize, která se vám přizpůsobí O 2 TV jediná televize, která se vám přizpůsobí Vítejte ve světě O 2 TV Vítejte ve světě zábavy a odpočinku! Ve světě, kde se nemusíte nikomu a ničemu přizpůsobovat. Díky svým unikátním funkcím je O 2

Více

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/34.0333 Vzdělávání v informačních a komunikačních technologií

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/34.0333 Vzdělávání v informačních a komunikačních technologií VY_32_INOVACE_31_14 Škola Název projektu, reg. č. Vzdělávací oblast Vzdělávací obor Tematický okruh Téma Tematická oblast Název Autor Vytvořeno, pro obor, ročník Anotace Přínos/cílové kompetence Střední

Více

Android. Programujeme pro. Jiří Vávrů, Miroslav Ujbányai. DRUHÉ, rozší řené v ydání

Android. Programujeme pro. Jiří Vávrů, Miroslav Ujbányai. DRUHÉ, rozší řené v ydání Programujeme pro Android Jiří Vávrů, Miroslav Ujbányai DRUHÉ, rozší řené v ydání Vývoj nativních aplikací pro systém Android krok za krokem Instalace vývojových nástrojů a kon gurace prostředí Eclipse

Více

Téma: Základní rozdělení Hardware

Téma: Základní rozdělení Hardware Téma: Základní rozdělení Hardware Vytvořil: Vítězslav Jindra Dne: 24. 11. 2011 VY_32_Inovace/1_041 1 Anotace: Interaktivní prezentace seznamuje žáka s různými druhy počítačového hardware, je doplněna výkladem

Více

Platforma ArcGIS. Platforma ArcGIS se skládá ze čtyř komponent: dat, zdrojů, portálu a aplikací.

Platforma ArcGIS. Platforma ArcGIS se skládá ze čtyř komponent: dat, zdrojů, portálu a aplikací. Platforma ArcGIS Platforma ArcGIS Platforma ArcGIS je tvořena datovým obsahem, službami a softwarovými produkty, které spolu vzájemně komunikují. Je určena každému, kdo chce snadno a rychle sdělit informaci

Více

Windows 10 (5. třída)

Windows 10 (5. třída) Windows 10 (5. třída) Pracovní plocha: takto vypadá Pracovní plocha u nás ve škole - pozadí Pracovní plochy - ikony na Pracovní ploše ikona Student 17 (se jménem přihlášeného uživatele) ikona Tento počítač

Více

Operační systém osobního počítače

Operační systém osobního počítače Operační systém osobního počítače Studijní materiál pro žáky SŠ Začlenění dle RVP G Vzdělávací obsah: Očekávaný výstup: Digitální technologie ovládá, propojuje a aplikuje dostupné prostředky ICT využívá

Více

Aplikační programové vybavení

Aplikační programové vybavení Aplikační software Aplikační software Programy z nejrůznějších oblastí využití počítače. Dnes existují stovky programů a u každého druhu pak často desítky konkrétních programů, které s větším nebo menším

Více

Uživatelský manuál. Aplikace GraphViewer. Vytvořil: Viktor Dlouhý

Uživatelský manuál. Aplikace GraphViewer. Vytvořil: Viktor Dlouhý Uživatelský manuál Aplikace GraphViewer Vytvořil: Viktor Dlouhý Obsah 1. Obecně... 3 2. Co aplikace umí... 3 3. Struktura aplikace... 4 4. Mobilní verze aplikace... 5 5. Vytvoření projektu... 6 6. Části

Více

Aplikace GoGEN Smart Center

Aplikace GoGEN Smart Center Aplikace GoGEN Smart Center Návod na použití aplikace Úvod Aplikace GoGEN Smart Center pro maximální využití Smart TV GoGEN, spojuje vyspělou technologii a zábavu v pohodlí domova. SMART ovládání ovládání

Více