Návrh a realizace aplikace Atlas hub na platformě iphone

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

Download "Návrh a realizace aplikace Atlas hub na platformě iphone"

Transkript

1 Mendelova univerzita v Brně Provozně ekonomická fakulta Návrh a realizace aplikace Atlas hub na platformě iphone Bakalářská práce Vedoucí práce: Ing. Pavel Haluza Jakub Wagner Brno 2012

2 Úvodem práce bych rád poděkoval společenství autorů z komunity houbareni.cz za poskytnutí materiálů použitých v aplikaci. Mojí rodině za podporu a v neposlední řadě mému vedoucímu práce Ing. Pavlovi Haluzovi za užitečné rady při tvorbě práce.

3 Prohlašuji, že jsem tuto bakalářskou práci řešil samostatně a s použitím uvedené literatury. V Brně dne 5. ledna 2012

4 Abstract WAGNER, J. Design and implementation of application Mushroom Atlas for iphone platform Bachelor thesis. Brno, This thesis deals with the implementation of the application for the Apple mobile platform. It mentions basics of iphone application development. Its new features of current version of its operating system ios and its implication on development. Finally it describes important parts of development of the application Mushroom atlas in detail. Keywords Thesis, Apple, iphone, application development, Xcode 4, ios 5, CoreData, Storyboards Abstrakt WAGNER, J. Návrh a realizace aplikace Atlas hub na platformě iphone Bakalářská práce. Brno, Tato bakalářská práce se zaměřuje na realizování aplikace Atlas hub pro mobilní platformu společnosti Apple. V práci jsou zmíněny základy vývoje pro tuto platformu. Nové vlastnosti současné verze operačního systému ios a jejich vliv na vývoj aplikací. Nakonec detailně popisuje důležité části vývoje aplikace Atlas hub. Klíčová slova Bakalářská práce, iphone, vývoj aplikací, Xcode 4, ios 5, CoreData, Storyboards

5 Obsah 5 Obsah 1 Úvod a cíl práce Úvod Cíl práce Historický vývoj platformy iphone První iphone Hardware ios Jailbreaking ipod Touch iphone 3G App Store iphone 3GS iphone Retina displej ipad iphone 4S ios Důležité znalosti vývojáře Vývoj aplikace Specifika mobilní aplikace pro iphone Vývojářská licence Xcode Uživatelské rozhraní Základní prvky uživatelského rozhraní Strategie návrhu aplikace Způsoby vývoje uživatelského rozhraní... 18

6 Obsah Storyboards Programovací jazyk Objective-C Automatic Reference Counting Systém uložení dat Plist soubory SQLite databáze CoreData Implementace Struktura dat Konverze použitých dat Grafické uživatelské rozhraní Obrazovka Zaznamenání nálezu Obrazovka Zaznamenání nálezu se souřadnicemi Obrazovka s uložením pozice Obrazovka Košík Obrazovka Mapa nálezů Obrazovka Atlas hub Obrazovka Atlas hub detail Barevné schéma aplikace Ukázky ze zdrojového kódu Změna popisků v Tab bar Přidání tlačítka do navigation bar Načtení souboru s CoreData Načítání fotek do atlasu dle jména Optimalizované načtení atlasu hub Předávání dat mezi obrazovkami Formátování data Nastavení zobrazených informací o houbě v buňce... 39

7 Obsah 7 5 Distribuce aplikace Webová prezentace App Store Další možnosti šíření Testování aplikace Závěr Hodnocení technické Hodnocení ekonomické Další možný rozvoj Literatura 44 A Ukázky z vývojového prostředí 47

8 Úvod a cíl práce 8 1 Úvod a cíl práce 1.1 Úvod Mobilní telefon je nedílnou pomůckou civilizovaného světa. S rozvojem informačních a telekomunikačních technologií už však nejde pouze o jednoúčelové zařízení. Jde o mobilní osobní počítač obsahující řadu senzorů, výkonem odpovídající stolním počítačům z doby před pár lety. Dostupný mobilní internet nabízí přístup k datům kdykoliv a odkudkoliv. Spolu s dostupností nástrojů pro vývoj aplikací pro tyto zařízení, lze vytvářet specializované aplikace. Dotykové ovládání umožňuje vytvářet taková grafická rozhraní, která ovládaní takovýchto aplikací nesmírně zjednodušuje a přibližuje i zcela laickému uživateli. Spolu s komplexním vyřešení distribuce, tak i samotný vývojář může vytvořit aplikaci, jež bude mít značný úspěch mezi miliony uživatelů. 1.2 Cíl práce Cílem této práce je vytvořit aplikaci zprostředkující atlas hub. Aplikace bude dále využívat možnosti hardwaru zařízení, zde GPS technologie, pro možnost lokalizace a uložení aktuální polohy. V první části práce bude zmíněn historický vývoj platformy iphone a jeho vliv na možnosti vývoje aplikací pro tuto platformu. Druhá část pak bude věnována samotnému vývoji aplikace od grafického rozhraní, výběru mechanismu pro uchovávání dat a základním principům vývoje aplikací. Třetí část se bude zbývat přímou implementací aplikace Atlas hub a popisu jejích důležitých částí. Čtvrtá část se bude zabývat mechanismem distribuce a propagace aplikace. Poslední závěrečná část bude obsahovat zhodnocení celé práce.

9 Historický vývoj platformy iphone 9 2 Historický vývoj platformy iphone Počátky Apple platformy pro mobilní zařízení lze datovat již od roku Prvotní produkt Newton Message Pad s operační systémem Newton OS byl na svou dobu technicky velmi moderním zařízením, avšak s vysokou cenou. Na trhu se neujal a výroba skončila roku (Hormby, 2006) Až roku 9. ledna 2007 byl na konferenci Macworld představen zcela nový produkt, mobilní telefon iphone. Prezentaci vedl Steve Jobs, v tu dobu již ikonická osoba, která měla velký vliv nejen na vývoj celé budoucí mobilní platformy, ale i na samotné záchraně společnosti Apple. Ta byla právě kolem roku 1997 ve velmi těžké finanční situaci mimo jiné i vlivem nákladného vývoje platformy Newton. (Block, 2007) 2.1 První iphone Po prezentaci se zvedla vlna rozporuplných reakcí. Na jedné straně, komunita uživatelů Apple produktů, kteří po obdobném zařízení už dlouho volali. Stejně tak spousta uživatelů, pro které iphone představoval snadnou cestu k užívání mobilního internetu a obsluhu ů. Na straně druhé především výrobci zařízení z konkurenčních platforem, pro které byl Apple outsider a nevěřili, že zařízení může mít slibované funkce (Elektronista, 2010), či je příliš drahé na to, aby mělo komerční úspěch Hardware Z hardwarového hlediska telefonu dominovala 3,5 palcová LCD obrazovka s kapacitní dotykovou vrstvou. Mimo tlačítek pro zapnutí a volby hlasitosti, případně vypnutí vyzvánění, zde bylo jediné tlačítko Home pro návrat na úvodní obrazovku. iphone se ovládal dotyky prstů po displeji (v té době značná část konkurence používala rezistivní dotykové displeje a byla ovládaná pomocí stylusu). Operační systém iphonu byl pro toto ovládání uzpůsoben a využíval i možnosti současného doteku více prstů (multitouch) pro definovaná gesta, například oddálení dvou prstů na obrazovce pro zoom v mapové aplikaci Maps. Naproti tomu telefonu záměrně chyběly některé prvky výbavy, pro konkurenční telefony typické. iphone neměl výměnný zadní kryt, ani uživatelsky vyměnitelnou baterii. Taktéž neobsahoval slot pro paměťové karty, paměť měl vestavěnou 4GB nebo 8GB později i 16GB. Neobsahoval taktéž 3G modul pro využití rychlého mobilního internetu. (Block, 2007)

10 Historický vývoj platformy iphone 10 Obr. 1 Chytré telefony před a po příchodu iphonu na trh (iphone uprostřed) Zdroj: Webová stránka Starved Fool, ios Operační systém se nazýval iphone OS, později přejmenovaný na ios. To po vyřešení licenčních sporů s firmou Cisco, která měla ochranou známku na svůj operační systém IOS používaný ve svých síťových prvcích. (Carvell, 2010) Pro prvotní verzi systému nebylo možné psát nativní aplikace. Aktivně byla podporovaná tvorba webových mobilních aplikací. Tedy specificky upravených webových stránek pro běh ve webovém prohlížeči Safari, postaveném na jádře WebKit. Nemožnost oficiálně instalovat nativní aplikace obcházela metoda pro získání přístupu k souborovému systému a kořenové oprávnění, jailbreaking. (Matoušek, 2011)

11 Historický vývoj platformy iphone Jailbreaking Je metoda využívající většinou bezpečnostní chybu pro eskalaci uživatelských práv. Uživatel má pak přístup k souborovému systému a může instalovat aplikace třetích stran. Komunitou vývojářů byl díky němu tvořeny nativní aplikace a vytvořen obchod Cydia, kde jsou tyto aplikace nabízeny. Jailbreak byl soudem uznán v roce 2010 legální pro občany Spojených Států. (German, 2010) ipod Touch V roce 2007 byl uveden další nesmírně důležitý produkt pro Apple mobilní platformu. Byl jím ipod Touch, vzhledově velmi podobný telefonu iphone. Neobsahoval telefonní modul, tím však nepotřeboval drahý úvazek mobilnímu operátorovi. (nutný pro iphone především ve Spojených Státech) Za znatelně nižší cenu tak rozšiřoval dostupnost celé platformy. Používal totiž stejný operační systém jako iphone. Často se při srovnávacích statistikách tento produkt nezahrnuje, ač má na populárnost celé platformy značný vliv. 2.2 iphone 3G Další model byl uveden 11.července Byl jím iphone 3G, hlavní rozdíly pak byla přidaná podpora pro 3G mobilní data, asistovaná GPS a především nová verze operačního systému, ios 2.0. Tento systém byl uvolněn i pro originální iphone a ipod Touch. Jendou z největších nových funkcí byl App Store App Store Jednotné místo pro výběr a nákup software třetích stran. Je to jediné místo, které je podporované společností Apple. V okamžiku spuštění zde bylo zhruba 500 aplikací. V roce 2011 se jich nabízí více než (Ricker, 2008) Aplikace musí projít kontrolou společností Apple. Tento kontrolní proces se stal poněkud kontroverzní, díky nejasným důvodům pro odmítnutí aplikace či omezením, která to na vývojáře aplikace klade. 2.3 iphone 3GS Uveden 8.června 2009, vzhledem takřka identický s iphonem 3G. Uvnitř obsahoval rychlejší procesor, vetší operační paměť a nový digitální kompas. S novým hardwarem přišel i nový operační systém, opět dostupný pro předchozí modely a ipod Touch. Některé jeho funkce však byly dostupné pouze pro model iphone 3GS, díky hardwarové náročnosti. Takovou funkcí byl např. Voice Control, pro základní ovládání hlasem nebo VoiceOver hlasový pomocník pro tělesně postižené. (Apple Inc., 2009)

12 Historický vývoj platformy iphone iphone 4 S ročním odstupem byl 7. června 2010 uveden vzhledem zcela odlišný model. Ocelová obruba sloužící zároveň jako anténa či oboustranný skleněný kryt byl konstrukčně unikátní. Mimo další zvýšení výkonu, videohovory, gyroskopický senzor představuje iphone 4 především inovovaný Retina displej Retina displej Je marketingový název pro displej, který využívá předpokladu, že obraz s hustotou 300 ppi ve vzdálenosti 12 palců od oka pozorovatele, hraničí s fyzickou schopností oka rozlišit jednotlivé pixely. Rozlišení iphonu 4 je 960x640 pixelů na 3,5 palcovém LCD, tedy s hustotou 326 ppi. Aplikace musí být pro toto rozlišení uzpůsobeny. Tím, že jde o dvojnásobek rozlišení v původních modelech se tak starší aplikace poměrně snadno dají přetvořit na aplikace s podporou Retina displeje. (Brandrick, 2010) ipad Ještě před uvedením iphonu 4 byl 27. ledna 2010 uveden první moderní tablet společnosti Apple. Vzhledově velmi připomínal zvětšený iphone 3GS s hliníkovým zadním krytem. Využívá taktéž operační systém ios. Vývoj aplikací je pro něj specifický. Přestože na něm lze spustit aplikace pro iphone ve zvětšeném režimu, upřednostňuje se navržení grafického rozhraní uzpůsobené velikosti obrazovky ipadu, tedy 9,7 palců s rozlišením 1024x768 pixelů. S vlastním uváděcím cyklem se představil 12. května 2011 i jeho nástupce, ipad 2. Vzhledově opět podobný, i když tenčí a lehčí. Sjednotil použití shodné verze operačního systému s iphonem. 2.5 iphone 4S Představen 4. října 2011 porušil roční uváděcí cyklus. Vzhledem opět takřka identický s předchozím modelem. Nabízí anténu schopnou pracovat v GSM i CDMA sítích, násobně vyšší výkon především u graficky náročných aplikací, výrazně přepracovaný fotoaparát a rozšířené hlasové ovládání.

13 Historický vývoj platformy iphone 13 Obr. 2 Podoba současného modelu iphone s běžícími aplikacemi Zdroj: Webová stránka Apple, ios 5.0 Společný systém pro všechna mobilní zařízení platformy. Tedy iphone, ipad a ipod Touch. Obsahuje řadu nových uživatelských funkcí. Především nevázanost na stolní nebo přenosný počítač se softwarem itunes, bezdrátové zálohování a synchronizaci. Vývojáři zpřístupňuje pomocí nových API např. pokročilé ovládání fotoaparátu. (Dante, 2011) Ukončuje podporu pro některá starší zařízení. iphone 3G a ipod Touch druhé generace tak podporuje pouze ios verze Důležité znalosti vývojáře Vývojář by měl mít znalost o hardwarových a softwarových možností všech modelů. Vybavení jako např. GPS obsahuje jen určitá část zařízení celé platformy, aplikace však může být nabízena i pro ostatní zařízení pokud GPS není pro aplikaci stěžejní, musí to však být ve zdrojovém kódu patřičně ošetřeno. Podobně i možnosti určitých verzí operačního systému ios limituje rozsah zařízení na které pak půjde aplikace nainstalovat. Vývojář by si měl určit, od které verze operačního systému, a které zařízení z platformy bude podporovat. Tomu musí přizpůsobit grafické rozhraní aplikace, či vytvořit několik verzí aplikace pro jednotlivé zařízení. Vlivem rychlého vývoje bude muset průběžně aplikaci upravovat, aby podporoval nové operační systémy, či využil funkce nových zařízení.

14 Vývoj aplikace 14 3 Vývoj aplikace Tato část práce se bude věnovat vývoji aplikací pro zařízení iphone, případně ipod Touch, z platformy Apple mobilních zařízení. Postupy jsou až na jistá specifika shodná i s vývojem pro tablet ipad. Přestože jde vyvíjet i pomocí jiných postupů či nástrojů, jde opět o specifické případy a obecně nedoporučované postupy. Platforma iphone používá jako programovací jazyk Objective-C spolu s frameworkem CocoaTouch. Vývoj aplikace se provádí v aplikaci Xcode a testuje v aplikaci iphone Simulator. Pro vývoj je nutné být registrovaný vývojář společnosti Apple. Při vývoji je třeba mít na zřeteli jisté omezení běhu aplikací v operačním systému ios. Zdrojový kód aplikace je vhodné psát v anglickém jazyce, zjednodušení to sdílení kódu v případě problémů, jelikož zahraniční komunita vývojářů je mnohem větší. 3.1 Specifika mobilní aplikace pro iphone Výkon mobilního zařízení Přestože každý rok výkon v procesní a grafické oblasti násobně roste, je potřeba počítat s omezenými prostředky zařízení. Zvláště pokud vývoj probíhá na výkonné pracovní stanici může testování pouze v simulátoru zatajit vážné nedostatky v oblasti výkonu a odezvy aplikace. Proto je nezbytné testovat aplikaci na samotném zařízení, ideálně na všech zařízení platformy, pro které bude aplikace podporována. Sandboxing Sandboxing je systémové omezení přístupu aplikací k ostatním aplikacím a systému samotnému. Aplikace tak má přístup pouze k souborům z předem určených lokací. To zvyšuje bezpečnost, jelikož škodlivá aplikace nemá přístup např. k systémovým složkám, naproti tomu to může znemožnit užitečné funkce aplikace. Typicky pokud by jsme chtěli pracovat s daty jiné aplikace nebo vytvořit systémovou službu společnou pro více aplikací. (Apple Inc., 2011) Multitasking Současná verze ios nabízí možnost spuštění více aplikací a přepínání mezi nimi. Uživatel může operovat pouze s jednou aplikací přes její grafické rozhraní. Pokud se z aplikace přepne na jinou, její stav se uloží a aplikace dále neběží. Po přepnutí zpět se aplikace obnoví ve stavu, kdy byla ukončena. Některé služby jako GPS, či stahování mohou přesto běžet v pozadí. (Apple Inc., 2011)

15 Vývoj aplikace 15 Aplikace může být kdykoliv ukončena Na vývojáře toto chování klade požadavek, že aplikace může být kdykoliv ukončena případně hibernována. Má tedy omezený čas uložit aktuální data momentálního stavu aplikace a posléze do tohoto stavu zpětně obnovit pokud uživatel zpět aplikaci obnoví. Ve stavu hibernace o ukončení rozhoduje operační systém podle potřeby systémových zdrojů. 3.2 Vývojářská licence Pro vývoj aplikace je nutná aplikace Xcode a další součásti SDK 1. To je možné získat přes webové stránky Apple odděluje vývojáře pro mobilní ios platformu a Mac platformu specifikou licencí. Pro vývoj na ios platformě licence dále rozděluje na ios Developer Program Standardní program za 99 USD ročně. Zahrnuje přístup k betaverzím Xcode a SDK. Umožňuje testovat na vlastním zařízení a především nabízet aplikace v Apple App Store, ať již zdarma nebo placené. ios Developer Enterprise Program Obdobně jako standardní program, jen místo App Store umožňuje specifickou formu distribuce pro aplikace tvořené na zakázku. Především tedy aplikace pro firmy, vládu nebo školství. Stojí 299 USD ročně. ios Developer University Program Speciální program pro školství. Je zdarma, ale umožňuje pouze vývoj a testování bez uvedení do App Store. Je určen pro školy, které mají v osnovách právě výuku programovaní na ios platformě a musí být smluvně ošetřen. Během historického vývoje platformy se i vývojářské licence měnily. Nejčastěji je potřeba právě placená verze. Především, pokud chce vývojář aplikaci nabízet pomocí App Store a to i zdarma, musí počítat s ročním poplatkem. 3.3 Xcode Xcode je kompletní vývojové prostředí používané pro vývoj aplikací pro všechny platformy společnosti Apple. Spolu s rozvojem platformy iphone došlo také k razantním změnám v prostředí Xcode. Především verze Xcode 4.0 doznala radikálních změn, jak ve svém grafickém rozhraní, tak i k samotnému přístupu k vývoji aplikací. Xcode je podporován pouze na

16 Vývoj aplikace 16 operačních systémech OS X, pro vývoj aplikací je tedy navíc nezbytné používat Apple hardware. Pro použití nových funkcí nebo přístupů k návrhu aplikace je často nutná kombinace konkrétních verzí Xcode, SDK a ios na podporovaném zařízení. Ekosystém vývoje je tedy velice těsný, obzvláště pokud vývojář chce používat nejmodernější způsoby vývoje. Základní prvky vývojového prostředí se kterým bude vývojář pracovat jsou Editor s Asistentem Podporuje pokročilé doplňování kódu a díky inovovanému kompilátoru LLVM nabídne automatické opravy některých chyb v kódu. Asistent zobrazuje relevantní soubory podle právě zobrazeného kódu. Interface builder Dříve samostatná aplikace, od verze 4.0 vestavěný do Xcode. Pomocí něj se vytváří grafické rozhraní aplikace. Umožňuje pokročilou interakci s vlastnostmi objektů a návaznost do kódu aplikace. ios Simulator Umožňuje simulaci běhu aplikace na vývojové stanici. Je možný výběr cíleného zařízení i se specifickým displejem. Tedy například iphone s Retina displejem nebo ipad. Je možné také simulovat některá gesta např. zatřesení nebo funkce jako GPS. Na aplikaci je tak možné pohodlně testovat její základní chování. Jak bylo zmíněno dříve, pro skutečný test odezvy aplikace či využití dalších funkcí je nezbytné testovat na skutečném zařízení. Organizer Speciální samostatná aplikace pro správu vývojářského profilu a především pro správu testovacích zařízení. Každé zařízení se před testováním musí registrovat pomocí získané vývojářské licence. Obsahuje také soubory s log informacemi při pádu aplikace na zařízení. A to, jak pro testovací, tak pro všechny ostatní aplikace na zařízení. 1 SDK Software Development Kit je skupina nástrojů pro tvorbu aplikací na danou platformu

17 Vývoj aplikace Uživatelské rozhraní Při vývoji pro mobilní platformy je nesmírně důležité správně navrhnuté uživatelské rozhraní. Mobilní zařízení je typicky omezené velikostí obrazovky a způsobem interakce s obsahem na obrazovce. Současné populární platformy pro mobilní zařízení se poměrně liší důrazem na integritu zobrazení a chování ovládacích prvků. Platforma iphone zde velmi těží z toho, že byla od počátku navržena pro zobrazení a ovládání obsahu pouze přes displej zařízení, tedy pomocí samotného softwaru. Je zde jediné hardwarové tlačítko Home pro odchod z jakéhokoliv stavu aplikace na domovskou obrazovku. V momentu běhu aplikace se tak celé zařízení metaforicky stává aplikací. Zvláště při použití jednoúčelových aplikací jako Kalkulačka, Slovník, Vodováha dává zařízení pocit jako by bylo přímo navržené pouze pro tuto činnost Základní prvky uživatelského rozhraní Návrh rozhraní používá specifické názvosloví pro jednotlivé prvky. Pro většinu základních aplikací si vývojář vystačí se systémovými UI prvky 2, kde má navíc možnost měnit jejich vzhled. Pro tvorbu her se pak používají jiné postupy návrhu grafického rozhraní, většinou neobsahující standardní UI prvky. Zde je potřeba použití speciálních grafických knihoven. (Apple Inc., 2010) Status bar Obsahuje základní systémové údaje jako čas, síla signálu připojení a stav baterie. Nemusí být vždy viditelný. Obrazovka (screen) Každá aplikace používající standardní UI prvky se skládá ze skupiny obrazovek, kde každá osahuje další prvky. Uživatel pak přechází mezi jednotlivými obrazovkami. Navigation bar Umístěný ve vrchní části obrazovky pod Status barem. Do něj se umísťují tlačítka pro přechod k jiným obrazovkám aplikace či jiné vývojářem definované chování. 2 UI prvek User Interface prvek, je základní součást grafického rozhraní. Tvoří jej tlačítka, popisky, textová pole a další složitější objekty

18 Vývoj aplikace 18 Tab bar Umístěn ve spodní části obrazovky. Obsahuje ikony oddělující základní funkce aplikace a po stlačení umožňují přechod k jejich obrazovkám Toolbar Nachází se ve stejné poloze jako Tab bar a obsahuje vývojářem definovaná tlačítka nebo ovládací prvky. Tableview / Imageview Jsou základní prvky pro zobrazení dat v aplikaci. Tableview většinou dále obsahuje další prvky jako popisky, tlačítka nebo obrázky Strategie návrhu aplikace Apple na svém vývojářském portále nabízí řadu dokumentů, které mají vývojářům usnadnit vývoj aplikace. Jedním ze základních je pak ios Human Interface Guidelines. Je to seznam doporučených strategií návrhu aplikace, jak ze vzhledové, tak i funkční a filozofické podoby. (Apple Inc., 2010) Důraz je kladen především na 1. Stanovení funkcí aplikace dle očekávaných potřeb cílových uživatelů. Aplikace pokud možno navrhovat jednoúčelové. Každá obrazovka aplikace by pak měla přesně definovat činnost jakou lze vykonávat. 2. Návrh grafického rozhraní speciálně pro každé cílené zařízení. Využívat všech specifických funkcí, jež konkrétní zařízení nabízí. 3. Využívání standardních UI prvků a chování. Tedy aby např. tlačítko bylo rozeznatelné. Vzhled rozhraní by měl sám napovídat jak aplikaci používat, vyvarovat by se mělo dlouhých textů nápovědy v aplikaci. 4. Uzpůsobení designu aplikace úkolu. Pro aplikaci vodováhy tak např. zobrazit libelu se vzduchovou bublinou. Uživatel zná předmět z reálného světa a ihned mu bude jasné jak aplikace funguje Způsoby vývoje uživatelského rozhraní V praxi se pro vývoj uživatelského rozhraní používá několik způsobů, či jejich kombinací. Postupy se liší podle typu aplikace, především hry mají specifický přístup. Záleží také na konkrétnosti zadání či představě o aplikaci. (Iphonized, 2009)

19 Vývoj aplikace 19 Ručně kreslené poznámky Překvapivě efektivní metoda pro rychlý náčrtek myšlenek, způsobů návaznosti obrazovek, rozložení jednotlivých ovládacích prvků a zobrazení informací. Při práci v týmu, chybí jistá jednotnost návrhů a bez digitalizace je problematické i šíření a zálohování. Pomůcky pro kreslené návrhy Vlivem popularity platformy iphone vzniklo několik komerčních produktů pro usnadnění kreslených návrhů. Jedná se o speciální sešity a bloky s listy formátovanými jako iphone obrazovky, zde stačí pak jednotlivé prvky dokreslit pomocí kovových šablon. Jednotlivé návrhy tak mají ustálenou štábní kulturu a lépe odpovídají skutečné aplikaci, včetně reálných rozměrů rozhraní. Digitální wireframes Existuje řada předpřipravených šablon pro známé profesionální grafické aplikace. Pomocí nich lze velmi rychle připravit reálnou podobu výsledné aplikace, včetně vlastního designu ovládacích prvků, který je možno možno exportovat a ve výsledné aplikaci přímo použít. Digitální interaktivní návrhy O třídu výše je pak použití digitálních grafických návrhů pomocí populárních prezentačních aplikací Keynote, Powerpoint nebo specializovaného softwaru navrženého přímo pro tuto činnost. Existuje i řada webových nástrojů pro tento účel. Mimo navržení rozmístění prvků lze definovat přechody a interakce mezi jednotlivými prvky. Výhodou je snadné šíření a možnost diskuze nad návrhy a jejich následná jednoduchá úprava. Pro malé projekty je časová a finanční náročnost zvládnutí celého workflow návrhu po implementací spíše přítěží. Často je rychlejší měnit rozhraní přímo v kódu při psaní aplikace Storyboards Další velká inovace systému ios od verze 5.0. Spojuje dříve jednotlivé soubory.nib (nyní nazývané.xib, jelikož jsou nově založeny na XML formátu) s návrhem uživatelského rozhraní do jednoho. Umožňuje graficky provádět vazby mezi jednotlivými obrazovkami a tím i vytvořit grafický model celé aplikace. Umožňuje provádět animované přechody mezi obrazovkami tzv. segues. (Wenderlich, 2011) Velmi lehce se dá pracovat s rozvržením zobrazení informací v UI prvcích, jako jsou tableviews nebo modifikovat některé vzhledové aspekty prvků. Storyboards je stále ve vývoji, proto zatím není možné upravovat všechny vlastnosti UI prvků a některé změny se tak musí provádět ručně v kódu.

20 Vývoj aplikace Programovací jazyk Objective-C Programovací jazyk vytvořili Brad Cox a Tom Love již v roce Šlo o spojení syntaxe obdobné Smalltalku (jeden z prvních rozšířených objektových jazyků vůbec) spolu se známým jazykem C. V roce 1988 byl jazyk licencován společností NeXT a byl použit jako základ aplikačního frameworku NeXTStep. Po sloučení společností NeXT a Apple se toto rozhraní využilo pro framework Cocoa, tedy framework, který se dnes používá v obměnách jak na stolních tak mobilních platformách společnosti Apple. Odtud také pochází pojmenování tříd předponou NS to značí NeXTStep. (Neuburg, 2011) V Objective-C tedy je typ instance definován jeho třídou. Objective-C pro toto hojně využívá ukazatele. Jako typ tedy slouží ukazatel na danou třídu. Pokud tedy chceme vytvořit proměnou která obsahuje nějakou větu. NSString* s je testovací věta."; Pro volání metody se používají hranaté závorky. NSString* suppercase = [s uppercasestring]; Běžně tedy pracujeme s ukazateli, což má svá specifika, ale v celém jazyku se tento přístup používá konstantně, proto to po zvyknutí nečiní větší potíže. Základní konstrukcí aplikace je pak objekt. Kombinuje data spolu s funkčností do oddělených celků. Při správném návrhu struktury jej lze vhodně opakovaně používat. Pro implementaci je nutný hlavičkový soubor obsahující a implementační soubor obsahující Soubor Objekt.h obsahuje data a metody viditelné pro ostatní MyObject : (nonatomic, strong) NSString *text; // proměnná viditelná pro ostatní objekty -

21 Vývoj aplikace 21 Soubor Objekt.m pak obsahuje implementační detaily těchto metod #import MyObject { int count; text; - (id)init { if ((self = [super init])) { // akce při inicializaci } return self; } - (void)mymethod { // akce metody Pokud chceme použít objekt v nějaké části aplikace, typicky v jiném objektu musíme jej předtím naimportovat #import "MyObject.h" V hlavičkovém souboru si lze všimnout Ta je zde pouze k usnadnění zápisu proměnné. Metody pro získání a zapsání hodnoty proměnné doplní překladač a nemusí se psát ručně. Celá konstrukce je tedy, v hlavičkovém (nonatomic, strong) NSString *text; a poté v implementačním text;

22 Vývoj aplikace Automatic Reference Counting ARC je jedna z nevětších změn systému ios verze 5.0. Ve skutečnosti jde spíše o vlastnost nového kompilátoru Clang/LLVM. Ten nahrazuje velmi známý kompilátor GCC. Ve zkratce jde o metodu odstraňující nutnost manuálního ošetření memory managementu 3 aplikace. (Wenderlich, 2011) Používá se velmi snadno, stačí nastavit v projektu použití ARC a dále, až na speciální případy, nepoužívat metody retain, release a autorelease. Překladač si je vhodně doplní sám. Vývojové prostředí Xcode (od verze 4.2) umožňuje konverzi starších projektů. ARC zčásti nahrazuje garabage collector 4 známý především z Javy. Přestože jazyk Objective-C od verze 2.0 garbage collector také obsahuje, není jeho použití na mobilní platformě povoleno kvůli vysoké výkonnostní náročnosti. Naproti tomu ARC je implementován během překladu aplikace. Výsledný kód tedy použití ARC nijak nezpomaluje. 3.6 Systém uložení dat Na platformě iphone se data v praxi ukládají několika způsoby. Každý má své výhody a omezení. Na začátku každého projektu by se proto měl zvolit vhodný způsob. Je možné i způsoby kombinovat, pokud to přinese zřejmé výhody, ale obecně je lepší se držet jedné metody. Metody obsluhující práci s daty se tak mohou používat napříč celou aplikací jednotně Plist soubory Nejjednodušší metoda, pokud nepočítáme uložení přímo ve zdrojovém kódu. Zvolené data se uloží do souboru na disku. Standardně se.plist (property list) soubor u aplikace nachází jako systémový soubor pro popis aplikace, požadavcích na spuštění atp., nicméně lze tuto strukturu využít i pro ukládání dat ve formě klíč-hodnota. Na složitější aplikace s potřebou třídění nebo vyhledávání dle více parametrů se tato metoda nehodí SQLite databáze Velmi často užívaná metoda. Data jsou uložená v SQLite 5 databázi, ta je opět implementovaná jedním souborem.sqlite3 na disku. S touto databází můžeme standardně pracovat například přes systémový terminál. Tvořit schémata, plnit data, či editovat stávající data. (Alessi, 2010) 3 memory management snaha o optimální alokování paměti dle potřeby aplikace a její následné uvolnění 4 garbage collector je forma automatického memory menagementu prováděném za běhu aplikace 5 SQLite je relační databázový systém obsažený v knihovně napsané v jazyku C.

23 Vývoj aplikace 23 Přímá podpora Cocoa Touch frameworku však chybí, proto je nutné při práci s SQLite v aplikaci použít struktury jazyka C. Jelikož je jazyk Objectiv-C ANSI implementací jazyka C, není v tom žádný problém. Avšak v případě kdy by jsme chtěli používat ARC, část kódu psaném v C musíme ošetřit ručně. Na práci s SQLite je proto vhodné použít jeden z více dostupných frameworků, vytvořených samotnými vývojáři, přes který můžeme s databází pracovat pomocí objektů CoreData CoreData je data model framework vytvořený společností Apple pro práci s daty. Zjednodušeně by šel popsat jako graf objektů přímo zapsaný na disk. Vnitřně ho obsluhuje SQLite databáze. Navenek je implementován pomocí MVC 6 vzoru. Vývojář tak nepracuje se SQL příkazy ale s objekty. Ty jsou tvořeny v paměti zařízení. Některé základní konstrukce pro uložení, načtení a vyhledávání v datech jsou poměrně jednoduché. CoreData je doporučovaná metoda pro vývojáře a přestože naučit se s frameworkem pracovat zabere vývojáři jistý čas, jedná se o takřka nezbytnou součást moderního vývoje aplikací. (Alessi, 2010) 6 Model-View-Controller je softwarová architektura, která rozděluje datový model aplikace, uživatelské rozhraní a řídicí logiku do tří nezávislých komponent tak, že modifikace některé z nich má minimální vliv na ostatní.

24 Implementace 24 4 Implementace Pro vývoj aplikace byly zvoleny právě nejnovější postupy umožněné systémem ios verze 5.0. Situaci komplikoval fakt, že většina materiálů popisuje tvorbu aplikací pomocí konstrukcí bez těchto nových postupů a možností. Samozřejmě je stále možné psát aplikace dle starých zvyklostí, mnohé nové postupy však značně ulehčují vývoj. 4.1 Struktura dat Jelikož základem aplikace je databáze jednotlivých druhů hub, bylo zapotřebí vybrat vhodnou strukturu pro uchování těchto dat. Reálně se dalo uvažovat pouze mezi SQLite a CoreData. Po krátké úvaze byla zvolena CoreData. CoreData pracují s vyšší abstrakcí a umožňují jednoduchou implementaci základních funkcí bez potřeby opouštět Objective-C jazyk. Dále podporují Automatic Reference Counting, tedy zjednodušuje i memory management. Poměrně jednoduchým způsobem se dá optimalizovat i výkon aplikace, což bylo pro Atlas hub využito. Nejprve je nutné vytvořit objektový model struktury dat. To se dá provést přímo v Xcode v určeném nástroji. Pro celou aplikaci je potřeba pouze dvou tabulek. Tabulka Mushroom obsahuje atributy popisující vlastnosti dané houby. Tabulka Location pak popis uložených lokací. Mezi tabulkami nejsou potřeba žádné vazby. Obr. 3 Podoba tabulek popisující datový model Zdroj: Vývojářské prostředí Xcode Tabulka Location se bude plnit až v době běhu programu. Naopak tabulku Mushroom musíme naplnit vlastními daty již v době vývoje. Jako data byly použity materiály z webových stránek Data je ovšem před použitím nutné zkonvertovat a to hned několikrát.

25 Implementace Konverze použitých dat Obr. 4 Graf konverze použitých dat Z webových stránek byla data převedena do souboru SQLite. K tomu bylo použito standardních SQLite příkazů. Pro tento SQLite soubor bylo nejprve vytvořeno schéma tabulky Muschrooms odpovídající tabulce Mushroom v Xcode. Samotný vklad jednotlivé houby byl poté provedené příkazem (příkaz zkrácen) insert into Mushrooms (name,latin,status,grow_from,grow_to,mushroom_info, grow_info) values ( zde hodnoty v uvozovkách oddělenými čárkami ); Vklad po jedné hodnotě se prováděl z důvodu nutných textových úprav zdrojového materiálu do žádané podoby. Z webového zdroje se tak vybírala jen data vhodná dle schématu tabulky Mushrooms. Po naplnění byl získán SQLite soubor, který by šel již přímo použít v aplikaci, kdyby nebylo zvoleno použití CoreData. CoreData jsou sice založena na SQLite souboru, ale s vlastní strukturou, která neodpovídá tabulce Mushroom vytvořené v Xcode. Pro naplnění daty je tedy nutné nejprve vytvořit duplikát souboru CoreData.sqlite, ten posléze naplit daty z námi připraveného souboru Atlas.sqlite3 a následně vynutit jeho inicializaci při startu aplikace. Pro převod dat do CoreData.sqlite byl použit skript transformacecoredata.py napsaný v jazyce Python, spouštěný přes terminál. Tento skript se vypořádá s rozdílem schémat a připraví soubor CoreData.sqlite pro použití. 4.2 Grafické uživatelské rozhraní Pro základní náčrt aplikace bylo použito ručně kreslených návrhů. Ty se ukázaly jako nejrychlejší metoda pro zpracování nápadů, které se navíc zpočátku často měnily, než se ustálily. Použití metod zahrnující softwarové vybavení by v této fázi zbytečně komplikovalo vývoj, zvláště když nebylo třeba konzultovat s třetí stranou vzhled aplikace.

26 Implementace 26 Následně bylo použito nové metody Storyboards. Kreslené návrhy se převedly do grafického modelu aplikace, který byl užitečný pro následné přidávání funkčnosti. Storyboards se tak ukázala jako velice produktivní metoda návrhu grafického rozhraní. Umožňuje přidávat celé obrazovky s vazbami mezi sebou, takže je srozumitelná i logika přechodů mezi jednotlivými obrazovkami navzájem. Celý grafický model je ukázán na Obrázku č.5. Obr. 5 Storyboards, grafický model aplikace Zdroj: Vývojové prostředí Xcode, 2011 Následuje detailní popis rozhraní aplikace, kde jsou zároveň popsány všechny funkce aplikace, případně důvody proč byl zvolen určitý UI prvek a jeho umístění na obrazovce.

27 Implementace Obrazovka Zaznamenání nálezu Obr. 6 Obrazovka Zaznamenání nálezu Po spuštění je na první pohled zřejmá základní funkčnost aplikace. K tomu byl použit UI prvek Tab bar, ve kterém jsou slovně i graficky vyobrazené sekce, které aplikace obsahuje. Jako výchozí je nastaven panel pro uložení nálezu. Je to totiž akce, která se od uživatele čeká nejčastěji. Protože, kdyby byl jako startovní vybrán panel jiný a uživatel by musel udělat o jeden dotek navíc, by mohl být při častém užívání aplikace frustrován. Vývojář by se měl snažit minimalizovat počet nutných úkonů uživatele pro jakoukoliv akci. Na obrazovce tedy dále nalezneme jediné tlačítko pro akci zjištění polohy. Obrázek loga aplikace je zde pouze jako dekorace. Po stisknutí tlačítka proběhne krátká animace. Logo se odkutálí bokem, aby tak udělalo místo pro užitečné informace. Ve skutečnosti aplikace přejde na novou obrazovku. Pro uživatele je však decentní animace poutavý prvek vytvářející vazbu k aplikaci. Jelikož je tato animace po spuštění vidět pouze jednou, protože u dalších vyhledávání pozice se vychází už další obrazovky, neobtěžuje uživatele. Tyto drobné nuance, ukazují péči vývojáře, a jsou znakem dobře implementované aplikace.

28 Implementace Obrazovka Zaznamenání nálezu se souřadnicemi Obr. 7 Obrazovka Zaznamenání nálezu se souřadnicemi Viditelná po prvním příkazu na zjištění polohy uživatele. Doba zjišťování polohy je pevně nastavena na 10 sekund. Po tuto dobu se aktualizuje zeměpisná šířka a výška, pokud dochází k přesnějšímu nálezu polohy. Případně je možné zjišťování polohy zastavit stisknutím na tlačítko Zjistit polohu (to má v době zjišťování popis Přerušit). Konečně může uživatel zjištěnou polohu uložit, to umožní přístup k další obrazovce. Je důležité si uvědomit že iphone pracuje s omezenými zdroji, především co se kapacity baterie týče. Vyhledávání GPS pozice je energeticky velmi náročná činnost. Proto se jej snažíme všemi prostředky zkrátit. Získat přesnou polohu je ale také časově náročné a zde musíme brát ohled na uživatele, nabídnout mu možnost akci přerušit a zobrazit nějaký stav průběhu akce.

29 Implementace Obrazovka s uložením pozice Obr. 8 Obrazovka s uložením pozice Po potvrzení volby uložení pozice po jejím nalezení se uživateli nabídne možnost přidat další detaily nálezu. Po doteku na pole pro popis místa se zobrazí standardní virtuální klávesnice pro zadání textového popisu nálezu nebo místa nálezu. V panelu je zobrazeno datum nálezu a typ nálezu, což je zároveň tlačítko, jež zobrazí obrazovku s možnostmi výběru kategorie nálezu. Mimo kategorie houby si tak může uživatel odlišit nález malin, borůvek, černého bezu atp. Podobným způsobem je implementovaná funkce přidání fotky, zde se uživateli objeví možnost pořídit fotku vestavěným fotoaparátem nebo použít fotku z knihovny v zařízení, tedy například pořízenou někdy dříve nebo staženou z webových stránek. Dále je zde zaznamenána uchovaná zeměpisná šířka a výška, pokud by ji uživatel chtěl použít v jiném zařízení nebo programu, který přímé zadání souřadnic umožňuje.

30 Implementace 30 V UI prvku navigation bar jsou pak dvě tlačítka pro potvrzení nebo zrušení nálezu. Bez jedné z těchto akcí nemůže uživatel obrazovku opustit, proto by se nemělo stát, že přijde nechtěným dotykem na jiný UI prvek (kdyby byl nabízen) o zaznamenaná data. Po odsouhlasení nebo zrušení tak opětovně přejde na obrazovku Zaznamenání nálezu se souřadnicemi, aby mohl přidat další nález. Je předpoklad, že bude zadávat několik nálezů za sebou nebo v krátkém časovém rozmezí Obrazovka Košík Obr. 9 Obrazovka Košík Obrazovka využívá UI prvku tableview pro zobrazení seznam uložených pozic. Pro lepší rozlišení a vizuální přitažlivost využívá uložených fotografii pro zobrazení malého náhledu. Dále ukazuje text popisku a datum nálezu. Na obrázku jsou zobrazena ukázková data, jimiž byla testovaná aplikace naplněna.

31 Implementace 31 Jednotlivé buňky slouží navíc jako tlačítka pro přístup k editaci nálezu. K tomu je vhodně použita právě Obrazovka s uložením pozice. Pokud je to možné, je vhodné znovu využívat jednou vytvořené obrazovky nebo zdrojový kód. Obrazovka nabízí jednu skrytou akci. Tou je možnost smazání uložené pozice. Horizontálním přejetím prstu po buňce se zobrazí tlačítko pro smazání, které po stisknutí záznam smaže. Díky použití standardního UI prvku je tato funkcionalita poměrně snadno implementována a odpovídá i standardnímu chování v jiných aplikací, především těch systémových. Velice elegantně tak vyřeší funkci smazání bez omezení přehlednosti obrazovky. Navíc evokuje v uživateli jistou známost chování aplikace, jelikož se chová stejně, jak je zvyklý z aplikací jiných. To dodává konzistenci i celé platformě Obrazovka Mapa nálezů Třetí panel zobrazuje mapu s výskytem uložených nálezů. Nálezy jsou zobrazeny symbolem špendlíku zapíchnutého do své polohy na mapě. Po stisknutí na jeho hlavičku se zobrazí malé okno s popisem a kategorií nálezu spolu s tlačítkem pro přechod na tento nález. Samotné měřítko mapy lze upravovat pomocí gesta dvěma prsty, obdobně jak je na platformě obvyklé. Testované nálezy na obrázku jsou lokalizovány na západním pobřeží Spojených Států. Je to dáno funkcí iphone Simulátoru, která u testování GPS funkcionality přiřazuje náhodné lokace obchodů společnosti Apple. Na obrazovce se v UI prvku navigation bar nalézají ještě dvě tlačítka. To vlevo slouží pro zobrazení oblasti mapy kde se nacházejí nálezy. Tedy uzpůsobí měřítko mapy, tak aby se na ni vešly všechny nálezy. Pravé tlačítko slouží pro zobrazení aktuální pozice uživatele a tím umožnění navigace k místu nálezu. Obr. 10 Obrazovka Mapa nálezů

32 Implementace Obrazovka Atlas hub Čtvrtý panel obsahuje zobrazení atlasu hub, tedy hlavní funkce aplikace. Zde se promítají data vytvořena z CoreData při spuštění aplikace. Data jsou zobrazena opět pomocí tableview obsahující buňky s jednotlivými houbami. Houby jsou řazeny abecedně a předtím ještě dle kategorií jedlá, nejedlá, jedovatá. Buňka pak obsahuje náhled na fotografii houby, její český a latinský název. Následně ještě symbol šipky symbolizující existenci obrazovky s detaily. Opět se jedná o standardní způsob zobrazení na iphone platformě. Obr. 11 Obrazovka Atlas hub

33 Implementace Obrazovka Atlas hub detail Poslední popsaná obrazovka je zobrazení detailu houby. Zde byl opět použit UI prvek tableview, který dovoluje i takovéto rozvolněné zobrazení informací. Text je zde poté vhodně formátován z CoreData a zobrazen. Jelikož je zobrazených informací více, včetně fotky, je umožněn posun obrazovky pomocí doteku a posunu prstu uživatele. Protože se využívá standardních UI prvků rozhraní, je animace posunu velmi líbivá včetně animace gumového odrazu při najetí na konec nebo začátek obrazovky. Tyto nepatrné prvky dodávají i do statických informací jakousi hravost a jejich provedení je nepochybně jeden z faktorů úspěchu Apple mobilní platformy. Obr. 12 Obrazovka Atlas hub detail

34 Implementace Barevné schéma aplikace Aby aplikace lépe tematicky ladila se zvolenou funkcionalitou, byly změněny některé vlastnosti standardních prvků. To dodává aplikaci jistou originalitu. Některé prvky jako ikony v panelech či barva pozadí lze poměrně jednoduše změnit přes rozhraní vývojového prostředí Xcode. Jiné detaily, které ještě nebyly do Storyboards implementované, jako v případě této aplikace byla barva a font popisů panelů, se musely dělat ručně kódem. To bude ukázáno níže v této práci. 4.3 Ukázky ze zdrojového kódu Při tvorbě aplikace bylo hojně používáno tutoriálů a příkladů z webové stránky a internetového fóra pro vývojáře Oba zdroje poskytují aktuální postupy při řešení rozličných problémů, jež během vývoje mohou nastat. Celý zdrojový kód bude po dobu obhajoby uveřejněn na webové adrese Dále budou následovat zajímavé pasáže ze zdrojového kódu spolu s vysvětlením funkčnosti Změna popisků v Tab bar Jak bylo dříve v práci zmíněno, některé vlastnosti vzhledu UI prvků nelze změnit přímo pomocí Xcode editoru vlastností. Zde je ukázka ošetření stavu, kdy je jednotlivý tab UI prvku Tab bar neoznačen. Části kódu v komentáři ukazují další možnosti nastavení vzhledu, které nebyly v aplikaci využity. [[UITabBarItem appearance] settitletextattributes: [NSDictionary dictionarywithobjectsandkeys: [UIColor colorwithred:191.0/255.0 green:159.0/255.0 blue:127.0/255.0 alpha:1.0], UITextAttributeTextColor, //[UIColor whitecolor], UITextAttributeTextShadowColor, //[NSValue valuewithuioffset:uioffsetmake(0, 1)], UITextAttributeTextSha- dowoffset, //[UIFont fontwithname:@"americantypewriter" size:0.0], UITextAttributeFont nil] forstate:uicontrolstatenormal];

35 Implementace Přidání tlačítka do navigation bar Další věc, co zatím Storyboards neumožňuje, je přidávání vlastních tlačítek do UI prvku navigation bar. Toto je nutné ošetřit následujícím kódem. Po stisknutí se spustí metoda done, která způsobí odchod z obrazovky na obrazovku Zaznamenání nálezu se souřadnicemi. self.navigationitem.rightbarbuttonitem = [[UIBarButtonItem alloc] initwithtitle:@"uložit" style:uibarbuttonitemstyleplain target:self action:@selector(done:)]; Načtení souboru s CoreData Pro zobrazení atlasu hub je nutné načíst připravený soubor s CoreData při startu aplikace a použít jako výchozí. Toto se děje pouze při prvním startu. Soubor se zkopíruje do složky dokumentů vyhrazeném systémem ios. Další změny (uložení pozice s nálezem) se dále ukládají sem a aplikace pracuje dále s tímto souborem. Uživatel tak při dalším startu aplikace o svá data nepřijde. Dále je ukázáno použití odchytnutí chyby třídy NSError. Přes konstrukci NSLog je případná chyba vypsána na terminál. Využití NSLog se v aplikaci hojně využívá, umožňuje vývojáři kontrolu správného běhu aplikace. Po finálním odladění je možné tyto kusy kódu odebrat. Uživatel tyto výstupy ale stejně nikdy neuvidí, proto je praxe spíše je ponechat, aby při případném přidávání další funkcionality napomohly opětovném testování aplikace. - (NSPersistentStoreCoordinator *)persistentstorecoordinator { if (persistentstorecoordinator == nil) { NSURL *storeurl = [NSURL fileurlwithpath:[self datastorepath]]; NSFileManager * filemanager = [NSFileManager defaultmanager]; if (![filemanager fileexistsatpath:[self datastorepath]]) { NSString *defaultstorepath = [[NSBundle mainbundle] PathForResource:@"DataStore" oftype:@"sqlite"]; if (defaultstorepath) { [filemanager copyitematpath:defaultstorepath topath:[self datastorepath] error:null]; } } persistentstorecoordinator = [[NSPersistentStoreCoordinator alloc] initwithmanagedobjectmodel:self.managedobjectmodel];

36 Implementace 36 } NSError *error; if(![persistentstorecoordinator addpersistentstorewithty pe:nssqlitestoretype configuration:nil URL:storeURL options:nil error:&error]) { NSLog(@"Chyba při přidávání trvalého úložiště (persistent store) %@, %@", error, [error userinfo]); abort(); } } return persistentstorecoordinator; Načítání fotek do atlasu dle jména Aby se nemusely jednotlivé fotky načítat celé do souboru CoreData, což je neefektivní, bylo zvoleno načítání fotek dle latinského jména dané houby. Fotky jsou tak přidány ke zdrojovým souborům aplikace a v potřebném čase vyhledány. Na příkladu je patrné volání metod pomocí hranatých závorek a používání dlouhých výstižných jmen metod, tedy jeden se znaků jazyka Objective-C a frameworku Cocoa Touch. - (NSString *)photopath { // Vyhledá v resources fotky latinske_jmeno.jpg NSString *filename = [[NSBundle mainbundle] pathforresource:[nsstring stringwithformat:@"%@",[self.latin stringbyreplacingoccurrencesofstring:@" " withstring:@"_"]] oftype:@"jpg"]; return filename; } Optimalizované načtení atlasu hub Pro načtení samotných dat se používá metoda fetchrequest s atributem setfetchbatchsize. Je tak využito funkcionality CoreData a data jsou načítána po dávce dle potřeby. V tomto případě po 10 buňkách. To znatelně zlepšuje výkon aplikace, poněvadž uživatel více jak 10 položek na displeji nevidí, je proto zbytečné je všechny načítat do paměti. V případě posunutí obrazovky se pak načítají po dalších dávkách. Je také patrné dvojí seřazení. Prvně dle statusu, tedy jedlá, nejedlá, jedovatá. Dále pak dle abecedního pořádku. První setřídění je navíc odděleno oddělovačem kategorií. Zde je vidět další přednost CoreData v práci se tříděním a selekcí dat. Pokud by se pracovalo přímo s SQLite byl by zápis kódu mnohem složitější a méně přehledný.

37 Implementace 37 - (NSFetchedResultsController *)fetchedresultscontroller { if (fetchedresultscontroller == nil) { NSFetchRequest *fetchrequest = [[NSFetchRequest alloc] init]; NSEntityDescription *entity = [NSEntityDescription entityforna me:@"mushroom" inmanagedobjectcontext:self.managedobjectcontext]; [fetchrequest setentity:entity]; NSSortDescriptor *sortdescriptor1 = [NSSortDescriptor sortdescrip torwithkey:@"status" ascending:yes]; NSSortDescriptor *sortdescriptor2 = [NSSortDescriptor sortdescrip torwithkey:@"name" ascending:yes]; [fetchrequest setsortdescriptors:[nsarray arraywithob jects:sortdescriptor1, sortdescriptor2, nil]]; // Načítá v dávce po deseti dle potřeby [fetchrequest setfetchbatchsize:10]; fetchedresultscontroller = [[NSFetchedResultsController alloc] initwithfetchrequest:fetchrequest managedobjectcontext:self.managedobjectcontext sectionnamekeypath:@"status" cachename:@"mushroom"]; fetchedresultscontroller.delegate = self; } return fetchedresultscontroller; } Předávání dat mezi obrazovkami Předávání dat mezi obrazovkami obsluhuje metoda prepareforsegue. V tomto případě se jedná o předání dat z obrazovky Zaznamenání nálezu se souřadnicemi do Obrazovky s uložením pozice (definovaná v souboru LocationDetailsViewController.h). Toto je postup s využitím Storyboards, kdy je nutné ještě pojmenování přechodu (segue) přes Xcode v modelu grafického rozhraní aplikace. - (void)prepareforsegue:(uistoryboardsegue *)segue sender:(id)sender { if ([segue.identifier isequaltostring:@"editlocation"]) { UINavigationController *navigationcontroller = se gue.destinationviewcontroller; LocationDetailsViewController *controller = (LocationDetailsViewController *)navigationcontroller.topviewcontroller; controller.managedobjectcontext = self.managedobjectcontext;

38 Implementace 38 NSIndexPath *indexpath = [self.tableview indexpathforcell:sender]; Location *location = [self.fetchedresultscontroller objectatin- dexpath:indexpath]; controller.locationtoedit = location; } } Formátování data Na metodě formatdate pro formátování data je patrné použití přístupu lazy loading 7. Pomocí klíčového slova static zajistí aby byl objekt třídy NSDateFormatter vytvořen jako lokální statická proměnná, tedy nezruší se s koncem metody a lze jej opětovně používat. To šetří systémové prostředky, na které je objekt třídy NSDateFormater poměrně náročný, pokud by se měl pokaždé vytvářet znovu. - (NSString *)formatdate:(nsdate *)thedate { static NSDateFormatter *formatter = nil; if (formatter == nil) { formatter = [[NSDateFormatter alloc] init]; [formatter setdatestyle:nsdateformattermediumstyle]; [formatter settimestyle:nsdateformattershortstyle]; } return [formatter stringfromdate:thedate]; } 7 lazy loading programátorský přístup, kdy se data načítají až v okamžiku potřeby, což šetří systémové zdroje.

APPLE IPAD IN EDUCATION. Jan LAVRINČÍK

APPLE IPAD IN EDUCATION. Jan LAVRINČÍK THEORETICAL ARTICLES APPLE IPAD IN EDUCATION Jan LAVRINČÍK Abstract: The paper deals with the significance and general characteristics of tablets in education. A special emphasis is devoted to Tablet Apple

Více

ZoomText 10.1 pro Windows. Dodatek k uživatelské příručce

ZoomText 10.1 pro Windows. Dodatek k uživatelské příručce ZoomText 10.1 pro Windows 8 Dodatek k uživatelské příručce Autorská práva ZoomText Magnifier Copyright 2013, Algorithmic Implementations, Inc. Všechna práva vyhrazena. ZoomText Magnifier/Reader Copyright

Více

Vývoj SW pro mobilní zařízení s ios. Petr Hruška, Skymia s.r.o. Teorie a praxe IP telefonie, 6.12.2012

Vývoj SW pro mobilní zařízení s ios. Petr Hruška, Skymia s.r.o. Teorie a praxe IP telefonie, 6.12.2012 Vývoj SW pro mobilní zařízení s ios Petr Hruška, Skymia s.r.o. Teorie a praxe IP telefonie, 6.12.2012 Perspektiva 3 roky zkušeností s vývojem aplikací pro ios 1 rok vývoj pro Android desítky aplikací Obsah

Více

Obrazovka. Návod k aplikaci

Obrazovka. Návod k aplikaci Návod k aplikaci Změněno: St, 18 Květen, 2016 at 4:24 PM Uživatelská příručka pro aplikaci není k dispozici v tištěné podobě, protože je neustále aktualizována tak, aby odpovídala dalším funkcím průběžných

Více

CTUGuide (XXX-KOS) D1

CTUGuide (XXX-KOS) D1 CTUGuide (XXX-KOS) D1 Verze: 1.0 Předmět: PDA Mentor: Zdeněk Míkovec Autor: Petr Tarant, Martin Štajner, Petr Husák Datum: 14. 02. 2013 Obsah CTUGUIDE verze 1.0 1. Úvod... 3 1.1. Úvod do problematiky...

Více

VAR-NET INTEGRAL Manuál správce VNI 5.1 VAR-NET INTEGRAL. verze 0.2. Manuál správce VNI 5.1

VAR-NET INTEGRAL Manuál správce VNI 5.1 VAR-NET INTEGRAL. verze 0.2. Manuál správce VNI 5.1 Manuál správce VNI 5.1 verze 0.2 Manuál správce VNI 5.1 VARIANT plus, spol. s.r.o., U Obůrky 5, 674 01 TŘEBÍČ, tel.: 565 659 600 technická linka 565 659 655 (pracovní doba 7:30 15:00) www.variant.cz isb@variant.cz

Více

3D Vizualizace muzea vojenské výzbroje

3D Vizualizace muzea vojenské výzbroje 3D Vizualizace muzea vojenské výzbroje 3D visualization of the museum of military equipment Bc.Tomáš Kavecký STOČ 2011 UTB ve Zlíně, Fakulta aplikované informatiky, 2011 2 ABSTRAKT Cílem této práce je

Více

Testování mobilního telefonu Apple iphone 4

Testování mobilního telefonu Apple iphone 4 Testování mobilního telefonu Apple iphone 4 semestrální práce předmětu Testování uživatelského rozhraní Jakub Véle - 1 - Popis přístroje Semestrální projekt se bude zabývat mobilním telefonem Apple iphone

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

Fotogalerie pro redakční systém Marwel Obscura v. 2.0

Fotogalerie pro redakční systém Marwel Obscura v. 2.0 Fotogalerie pro redakční systém Marwel Obscura v. 2.0 postupy a doporučení pro práci redaktorů verze manuálu: 1.1 QCM, s. r. o., březen 2011 Podpora: e-mail: podpora@qcm.cz tel.: +420 538 702 705 Obsah

Více

Telekomunikační koncová zařízení

Telekomunikační koncová zařízení Telekomunikační koncová zařízení Projekt č.: 1 Datum: 6. 11. 2013 Název: Vypracoval: Bc. Lukáš Rygol login: ryg0007 1. Úvod Vnitřní struktura systému ios ios je mobilní operační systém vyvinutý firmou

Více

ios Cvičení RSS čtečka

ios Cvičení RSS čtečka strana 1 ios Cvičení RSS čtečka Jiří Kamínek Kaminek.jiri@stoneapp.com strana 2 Vytvoření nového projektu v XCode Název RSSLesson Navigation-based Application use Core Data for storage nezaškrtávat strana

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

E.C.S. řada 900 - nová generace obrat o 360 ( Systém vyvinut ve Florencii v r.2009 )

E.C.S. řada 900 - nová generace obrat o 360 ( Systém vyvinut ve Florencii v r.2009 ) E.C.S. řada 900 - nová generace obrat o 360 ( Systém vyvinut ve Florencii v r.2009 ) Filozofie vývoje nové řady E.C.S. CNC klade důraz především na vyspělou technologii a nadčasový vzhled. Vývoji nového

Více

Zrakové postižení a mobilní telefony (smartphony)

Zrakové postižení a mobilní telefony (smartphony) České vysoké učení technické v Praze Fakulta elektrotechnická Katedra Kybernetiky Biomedicínské inženýrství Zrakové postižení a mobilní telefony (smartphony) Semestrální úloha - A6M33AST Jarolímek Tomáš

Více

Mobilní aplikace Novell Filr Stručný úvod

Mobilní aplikace Novell Filr Stručný úvod Mobilní aplikace Novell Filr Stručný úvod Únor 2016 Podporovaná mobilní zařízení Aplikace Novell Filr je podporována v následujících mobilních zařízeních: Telefony a tablety se systémem ios 8 novějším

Více

A7B39TUR Testování uživatelského rozhraní. HTC Desire HD. (testování mobilního zařízení) Tomáš Klejna klejntom@fel.cvut.cz

A7B39TUR Testování uživatelského rozhraní. HTC Desire HD. (testování mobilního zařízení) Tomáš Klejna klejntom@fel.cvut.cz A7B39TUR Testování uživatelského rozhraní HTC Desire HD (testování mobilního zařízení) Tomáš Klejna klejntom@fel.cvut.cz 20. 10. 2011 ČVUT v Praze Fakulta elektrotechnická 2 Obsah: Obsah... 2 Popis zařízení...

Více

Manuál k aplikaci SDO PILOT v.0.2

Manuál k aplikaci SDO PILOT v.0.2 Manuál k aplikaci SDO PILOT v.0.2 Základní informace o aplikaci Aplikace slouží pro zjednodušené vytváření dokumentů Souhrnů doporučených opatření pro Evropsky významné lokality. Vznikala přírustkovým

Více

Obsah. Část I Začínáme s jazykem AppleScript

Obsah. Část I Začínáme s jazykem AppleScript Obsah Úvod... 13 Je tato kniha pro vás?...13 Jaká témata kniha pokrývá?...13 Proč je text vytištěný tolika různými druhy písma a k čemu jsou všechny ty podivné značky?...15 Zpětná vazba od čtenářů...16

Více

Point of View TAB-P731N- Android 4.0 Tablet PC. Čeština. Obsah

Point of View TAB-P731N- Android 4.0 Tablet PC. Čeština. Obsah Point of View TAB-P731N- Android 4.0 Tablet PC Čeština Obsah Obecné pokyny pro užívání zařízení... 2 Doplňující informace... 2 Obsah balení... 2 1.0 Základní informace... 3 1.1 Tlačítka a konektory...

Více

Implementace hry Shannon switching game pro ios

Implementace hry Shannon switching game pro ios Univerzita Karlova v Praze Matematicko-fyzikální fakulta BAKALÁŘSKÁ PRÁCE Miroslav Macík Implementace hry Shannon switching game pro ios Ústav formální a aplikované lingvistiky Vedoucí bakalářské práce:

Více

Úvod...12 Součásti aplikace... 12 Použité konvence... 13

Úvod...12 Součásti aplikace... 12 Použité konvence... 13 Obsah 1 2 Úvod...12 Součásti aplikace... 12 Použité konvence... 13 1. Instalace a nastavení...15 1.1 Než začnete instalovat... 16 1.2 Instalace... 16 Průběh... 17 1.3 Oprava instalace... 18 1.4 Odinstalování

Více

O aplikaci Parallels Desktop 7 for Mac

O aplikaci Parallels Desktop 7 for Mac O aplikaci Parallels Desktop 7 for Mac Parallels Desktop 7 for Mac představuje zásadní upgrade softwaru Parallels pro používání Windows na Macu. O této aktualizaci Parallels Desktop 7 for Mac (sestavení

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

Návod k ovládání administrační části nového turistického portálu Olomouckého kraje

Návod k ovládání administrační části nového turistického portálu Olomouckého kraje Evropská unie a Evropský fond pro regionální rozvoj jsou partnery pro váš rozvoj. Návod k ovládání administrační části nového turistického portálu Olomouckého kraje Příručka pro Informační centra Olomouckého

Více

Datec News 2012/1. Moderní marketingové technologie v řešení Datec Retail Solutions. OBSAH Datum vydání: 20.4.2012

Datec News 2012/1. Moderní marketingové technologie v řešení Datec Retail Solutions. OBSAH Datum vydání: 20.4.2012 1 OBSAH Datum vydání: 20.4.2012 Moderní marketingové technologie v řešení Datec Retail Solutions webové aplikace mobilní technologie QR kódy Moderní marketingové technologie v řešení Datec Retail Solutions

Více

Na základě Business Targets autora Simona Greenalla, vydaných nakladatelstvím Macmillan Heinemann English Language Teaching (Oxford).

Na základě Business Targets autora Simona Greenalla, vydaných nakladatelstvím Macmillan Heinemann English Language Teaching (Oxford). LANGMaster International, s.r.o. Branická 107, 147 00 Praha 4 Česká republika Tel.: +420 244 460 807, +420 736 623 459 Fax: +420 244 463 411 e-mail: info@langmaster.cz http://www.langmaster.cz Na základě

Více

DUM 01 téma: Úvod do Corelu

DUM 01 téma: Úvod do Corelu DUM 01 téma: Úvod do Corelu ze sady: 1 tematický okruh sady: Vektorová grafika ze šablony: 09 Počítačová grafika určeno pro: 2. ročník vzdělávací obor: vzdělávací oblast: číslo projektu: anotace: metodika:

Více

Metodická příručka pro učitele. InspIS SET modul školní testování

Metodická příručka pro učitele. InspIS SET modul školní testování Metodická příručka pro učitele InspIS SET modul školní testování Tato Metodická příručka pro učitele byla zpracována v rámci projektu Národní systém inspekčního hodnocení vzdělávací soustavy v České republice

Více

Apple Professional Learning Nabídkový katalog

Apple Professional Learning Nabídkový katalog Apple Professional Learning Nabídkový katalog Využívejte své produkty společnosti Apple na maximum Apple věří, že technologie mohou měnit způsob, jakým studujeme a vyučujeme, a podle tohoto přesvědčení

Více

ZPRACOVÁNÍ NEURČITÝCH ÚDAJŮ V DATABÁZÍCH

ZPRACOVÁNÍ NEURČITÝCH ÚDAJŮ V DATABÁZÍCH 0. Obsah Strana 1 z 12 VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA STROJNÍHO INŽENÝRSTVÍ ÚSTAV AUTOMATIZACE A INFORMATIKY FACULTY OF MECHANICAL ENGINEERING INSTITUTE OF AUTOMATION

Více

Tablet SAMSUNG GALAXY NOTE 10.1. Popis a používání zařízení ve výuce

Tablet SAMSUNG GALAXY NOTE 10.1. Popis a používání zařízení ve výuce STŘEDNÍ PRŮMYSLOVÁ ŠKOLA ELEKTROTECHNICKÁ A INFORMAČNÍCH TECHNOLOGIÍ BRNO Tablet SAMSUNG GALAXY NOTE 10.1 Popis a používání zařízení ve výuce Vytvořil: Mgr. David Čížek Obsah 1. Úvod... 2 2. Popis tabletu,

Více

Pěší navigace pomocí lokálně kontextových služeb

Pěší navigace pomocí lokálně kontextových služeb Vybrané informační systémy cestovního ruchu Pěší navigace pomocí lokálně kontextových služeb Archalous Tomáš Hájková Lucie Hovorková Milena Jinochová Bohdana Hradec Králové 2014 Obsah Úvod... 2 Základní

Více

Bluetooth Smart ph elektroda

Bluetooth Smart ph elektroda Bluetooth Smart ph elektroda edge blu se dodává s profesionální ph sondou, která komunikuje přes Bluetooth Smart (Bluetooth 4.0). Bluetooth Smart technologie je energeticky účinná, zajišťující nízkou spotřebu

Více

FAKULTA INFORMAČNÍCH TECHNOLOGIÍ

FAKULTA INFORMAČNÍCH TECHNOLOGIÍ VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV INFORMAČNÍCH SYSTÉMŮ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INFORMATION SYSTEMS NOČNÍ OBLOHA

Více

Instalujeme a zakládáme databázi Oracle Database 11g

Instalujeme a zakládáme databázi Oracle Database 11g KAPITOLA 2 Instalujeme a zakládáme databázi Oracle Database 11g Protože se instalace systému Oracle s každou novou verzí zjednodušuje, stojí uživatel před pokušením otevřít krabici s médii a ihned začít

Více

Statistica, kdo je kdo?

Statistica, kdo je kdo? Statistica, kdo je kdo? Newsletter Statistica ACADEMY Téma: Typy instalací Typ článku: Teorie Někteří z vás používají univerzitní licence, někteří síťové, podnikové atd. V tomto článku Vám představíme,

Více

Editor pro vizualizaci interiérů bytů

Editor pro vizualizaci interiérů bytů České vysoké učení technické v Praze Fakulta elektrotechnická Katedra počítačové grafiky a interakce Bakalářská práce Editor pro vizualizaci interiérů bytů Dominik Vondráček Vedoucí práce: Ing. David Sedláček

Více

Výukové materiály z oblasti ICT

Výukové materiály z oblasti ICT Výukové materiály z oblasti ICT Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky. Moderní trendy ve vzdělávání dětí se speciálními vzdělávacími potřebami

Více

Návod k administraci e-learningové platformy

Návod k administraci e-learningové platformy LIFELONG LEARNING PROGRAMME Leonardo da Vinci Přenos inovací Návod k administraci e-learningové platformy Pracovní balíček č. 3, aktiva č. 3.3.2 Odpovědný partner: NVF Datum: 30/05/2015 Verze: Konečná

Více

MOBILNÍ ZAŘÍZENÍ (TABLET I NOTEBOOK) V PRÁCI UČITELE (PRO SŠ)

MOBILNÍ ZAŘÍZENÍ (TABLET I NOTEBOOK) V PRÁCI UČITELE (PRO SŠ) Ostravská univerzita v Ostravě, Pedagogická fakulta MOBILNÍ ZAŘÍZENÍ (TABLET I NOTEBOOK) V PRÁCI UČITELE (PRO SŠ) ROSTISLAV FOJTÍK MOBILNÍ ZAŘÍZENÍ (TABLET I NOTEBOOK) V PRÁCI UČITELE (PRO SŠ) ROSTISLAV

Více

SMART GATE webové a aplikační ovládací rozhraní zařízení ESIM120

SMART GATE webové a aplikační ovládací rozhraní zařízení ESIM120 ALARM PRODEJ.CZ OFICIÁLNÍ DISTRIBUTOR VÝROBKŮ ELDES PRO ČESKOU REPUBLIKU UVÁDÍ INSTRUKTÁŽNÍ PREZENTACI SMART GATE webové a aplikační ovládací rozhraní zařízení ESIM120 ALARM PRODEJ.CZ je součástí CENTR

Více

DATA ARTICLE. AiP Beroun s.r.o.

DATA ARTICLE. AiP Beroun s.r.o. DATA ARTICLE AiP Beroun s.r.o. OBSAH 1 Úvod... 1 2 Vlastnosti Data Article... 1 2.1 Požadavky koncových uživatelů... 1 2.2 Požadavky na zajištění bezpečnosti a důvěryhodnosti obsahu... 1 3 Implementace

Více

Manuál k aplikaci WANAS

Manuál k aplikaci WANAS Manuál k aplikaci WANAS OBSAH 1 DŮLEŽITÉ INFORMACE PRO PRÁCI V NOVÉ VERZI APLIKACE WANAS.. 2 2 PROSTOROVÁ DATA... 3 2.1 POPIS HLAVNÍCH FUNKCÍ... 3 2.2 PRÁCE S DEFINIČNÍM BODEM SEGMENTU... 4 2.3 PRÁCE S

Více

Technická specifikace předmětu veřejné zakázky Zhotovení interaktivního webového portálu a mobilních aplikací

Technická specifikace předmětu veřejné zakázky Zhotovení interaktivního webového portálu a mobilních aplikací Technická specifikace předmětu veřejné zakázky Zhotovení interaktivního webového portálu a mobilních aplikací 1 Členění zakázky... 2 1.1 Webový portál... 2 1.1.1 Obecné požadavky... 2 1.1.2 Seznam databází...

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

MANUÁL MOBILNÍ APLIKACE GOLEM PRO OPERAČNÍ SYSTÉM ANDROID 4.X A VYŠŠÍ

MANUÁL MOBILNÍ APLIKACE GOLEM PRO OPERAČNÍ SYSTÉM ANDROID 4.X A VYŠŠÍ MANUÁL MOBILNÍ APLIKACE GOLEM PRO OPERAČNÍ SYSTÉM ANDROID 4.X A VYŠŠÍ 1 OBSAH 1.Popis... 3 2.Ovládání aplikace...3 3.Základní pojmy... 3 3.1.Karta...3 3.2.Čtečka...3 3.3.Skupina...3 3.4.Kalendář...3 3.5.Volný

Více

Příloha č. 18. Specifikace bloku PŘÍPRAVA. Příloha k zadávací dokumentaci veřejné zakázky Integrační nástroje, vstupní a výstupní subsystém

Příloha č. 18. Specifikace bloku PŘÍPRAVA. Příloha k zadávací dokumentaci veřejné zakázky Integrační nástroje, vstupní a výstupní subsystém Název projektu: Redesign Statistického informačního systému v návaznosti na zavádění egovernmentu v ČR Příjemce: Česká republika Český statistický úřad Registrační číslo projektu: CZ.1.06/1.1.00/07.06396

Více

Ukazovací zařízení a klávesnice Uživatelská příručka

Ukazovací zařízení a klávesnice Uživatelská příručka Ukazovací zařízení a klávesnice Uživatelská příručka Copyright 2008 Hewlett-Packard Development Company, L.P. Microsoft a Windows jsou registrované ochranné známky společnosti Microsoft Corporation v USA.

Více

Databázový systém Matylda

Databázový systém Matylda Databázový systém Matylda Návrh softwarového projektu Vývojový tým Předpokládaný počet řešitelů: 5 Vedoucí: Mgr. Martin Nečaský Ph.D. Motivace V současné době se mnoho nákupů odehrává v internetových obchodech.

Více

Test uživatelského rozhraní aplikace Google Maps

Test uživatelského rozhraní aplikace Google Maps ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE FAKULTA ELEKTROTECHNICKÁ Test uživatelského rozhraní aplikace Google Maps Testování uživatelského rozhraní - A4B39TUR Semestrální práce A2 Tom Nováček novacto2@fel.cvut.cz

Více

Základní ovládání aplikace

Základní ovládání aplikace Základní ovládání aplikace Základem ovládání aplikace je jednoduchý toolbar (panel nástrojů) ve spodní části obrazovky, který umožňuje přepínání mezi jednotlivými obrazovkami aplikace. Jsou zde zobrazeny

Více

Naučit se, jak co nejsnadněji přejít od verze TopoLu pro Windows k verzi TopoL xt. Cílem není vysvětlení všech možností programu.

Naučit se, jak co nejsnadněji přejít od verze TopoLu pro Windows k verzi TopoL xt. Cílem není vysvětlení všech možností programu. Školení programu TopoL xt Přechod na TopoL xt z programu TopoL pro Windows Cíl: Obsah: Naučit se, jak co nejsnadněji přejít od verze TopoLu pro Windows k verzi TopoL xt. Cílem není vysvětlení všech možností

Více

Příručka pro uživatele Navigační software

Příručka pro uživatele Navigační software Příručka pro uživatele Navigační software - 2 - Obsah 1 Uvedení do provozu... 4 1.1 Důležité informace... 5 1.2 Alternativní instalace navigačního softwaru z paměťové karty... 5 1.3 Další digitální mapy...

Více

Rozdílová dokumentace k ovládání IS KARAT.net

Rozdílová dokumentace k ovládání IS KARAT.net Dokumentace k IS KARAT.net Rozdílová dokumentace k ovládání IS KARAT.net programový modul: Rozdílová dokumentace k ovládání IS KARAT.net OBSAH: 1 ÚVOD... 3 2 PŘIHLAŠOVACÍ DIALOG... 4 3 NAVIGACE... 5 3.1

Více

ArcGIS Online a jeho využití (nejen) při výuce

ArcGIS Online a jeho využití (nejen) při výuce ArcGIS Online a jeho využití (nejen) při výuce Sylva Vorlová, ARCDATA PRAHA, s.r.o. Jeden z workshopů, které na Konferenci GIS Esri v ČR proběhly, nesl název ArcGIS Online a jeho využití pro výuku. Náplní

Více

1. ÚVOD 2. ARCHITEKTURA MOBILNÍHO TERMINÁLU 2.1. HARDWARE TERMINÁLU PRO SYMBIAN OS S OS SYMBIAN 2009/67 26.12. 2009

1. ÚVOD 2. ARCHITEKTURA MOBILNÍHO TERMINÁLU 2.1. HARDWARE TERMINÁLU PRO SYMBIAN OS S OS SYMBIAN 2009/67 26.12. 2009 APLIKACE PRO MOBILNÍ TERMINÁLY S OPERAČNÍM SYSTÉMEM SYMBIAN doc. Ing. Vít Novotný, Ph.D. Ing. Tomáš Mácha, Vysoké učení technické v Brně, Fakulta elektrotechniky a komunikačních technologií, Ústav telekomunikací,

Více

UŽIVATELSKÁ DOKUMENTACE PRO DODAVATELE. Stav ke dni 1. 8. 2013 v. 2.0

UŽIVATELSKÁ DOKUMENTACE PRO DODAVATELE. Stav ke dni 1. 8. 2013 v. 2.0 UŽIVATELSKÁ DOKUMENTACE PRO DODAVATELE Stav ke dni 1. 8. 2013 v. 2.0 Obsah: 1 Úvod... 3 1.1 Definice a zkratky... 4 1.2 Podmínky provozu... 4 1.3 Pokyny k užívání dokumentu... 4 1.4 Obecné informace o

Více

Sciphone I68+ Rychlý návod

Sciphone I68+ Rychlý návod Sciphone I68+ Rychlý návod Pro další informace a pro technickou podporu navštivte stránky www.mysciphone.com/support/manuals/i68/english a zde si můžete stáhnout uživatelský manuál a získat odpovědi na

Více

Současné trendy vývoje aplikací pro platformu ios

Současné trendy vývoje aplikací pro platformu ios Současné trendy vývoje aplikací pro platformu ios Petr Zvoníček @zvonicek 27. 11. 2014 PV226 Proč je vývoj pro ios zajímavý? uzavřený ekosystém silná open source komunita roční vývojový cyklus major verzí

Více

Uživatelský manuál na obsluhu mobilní aplikace CMOB

Uživatelský manuál na obsluhu mobilní aplikace CMOB Uživatelský manuál na obsluhu mobilní aplikace CMOB 1 Obsah 1. Popis aplikace... 3 2. Instalace aplikace na zařízení... 3 3. První spuštění aplikace... 3 4. Úvodní obrazovka aplikace... 3 5. Sekce kamer...

Více

LIBRATONE ZIPP NÁVOD K OBSLUZE

LIBRATONE ZIPP NÁVOD K OBSLUZE LIBRATONE ZIPP NÁVOD K OBSLUZE 1 2 3 Návody v jiných jazycích najdete na webu www.libratone.com/manual GRATULUJEME! 4 FULLROOM 5 AirPlay / PlayDirect 6 Úvod 8 Rychlé nastavení systému AirPlay (wi-fi) 10

Více

Chytré hodinky S9. Uživatelský manuál. Přečtěte si prosím tento manuál pozorně dříve, než začnete hodinky používat

Chytré hodinky S9. Uživatelský manuál. Přečtěte si prosím tento manuál pozorně dříve, než začnete hodinky používat Chytré hodinky S9 Uživatelský manuál Přečtěte si prosím tento manuál pozorně dříve, než začnete hodinky používat Upozornění: Není povoleno rozebírat hodinky či jakkoli zasahovat do jejich konstrukce. Vystavovat

Více

Uživatelská příručka - diagnostický systém

Uživatelská příručka - diagnostický systém Uživatelská příručka - diagnostický systém v 2.6.9 Autodiagnostika ROBEKO www.autodiagnostika-obd.cz Obsah: 1. Úvod : 1.1 Spuštění programu...4 1.2 Základní obrazovka...4 2. Základní funkce : 2.1 Navázání

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

7. Nástroje. 7.1 Pravopis. 7.2 Jazyk. Kapitola 7: Nástroje 47. Kontrola pravopisu

7. Nástroje. 7.1 Pravopis. 7.2 Jazyk. Kapitola 7: Nástroje 47. Kontrola pravopisu Kapitola 7: Nástroje 47 7. Nástroje Kontrola pravopisu 7.1 Pravopis V prezentaci Encian přichystejme dvě záměrné pravopisné chyby na prvním snímku. Slovo Váš nahradíme slovem Vaš a slovo přehledným nahradíme

Více

LuxRiot uživatelský manuál verze 1.6.12. Uživatelský manuál Verze 1.6.12. -1-2008, Stasa s.r.o.,pokorného 14, 190 00, PRAHA

LuxRiot uživatelský manuál verze 1.6.12. Uživatelský manuál Verze 1.6.12. -1-2008, Stasa s.r.o.,pokorného 14, 190 00, PRAHA Uživatelský manuál Verze 1.6.12-1- 2008, Stasa s.r.o.,pokorného 14, 190 00, PRAHA LuxRiot je softwarový balík, určený pro sledování a ukládání dat z kamer. Umožňuje přijímat data z IP kamer a video serverů

Více

Gymnázium Vincence Makovského se sportovními třídami Nové Město na Moravě

Gymnázium Vincence Makovského se sportovními třídami Nové Město na Moravě VY_32_INOVACE_MOB_BU_05 Sada: Mobilní aplikace ve výuce Téma: Aplikace Mapy.cz Autor: Mgr. Miloš Bukáček Předmět: Zeměpis Ročník: 4. ročník nižšího gymnázia Využití: Prezentace určená pro výklad Anotace:

Více

Software pro personalizaci karet

Software pro personalizaci karet Software pro personalizaci karet Intuitivní, rychlý a efektivní, těžko uvěřit, že je to software pro identifikační karty. Jediný program pro všechny tiskárny. Asure ID 7 pracuje s tiskárnami pro potisk

Více

MLE2 a MLE8. Datalogery událostí

MLE2 a MLE8. Datalogery událostí MLE2 a MLE8 Datalogery událostí Zapisovač počtu pulsů a událostí Návod k obsluze modelů MLE2 MLE8 Doporučujeme vytisknout tento soubor, abyste jej mohli používat, když se budete učit zacházet se zapisovačem.

Více

Plán testů. Úvod. Jednotkové (unit) testování

Plán testů. Úvod. Jednotkové (unit) testování Plán testů Úvod Tento dokument popisuje metody testování softwaru použité při vývoji sociální sítě Felbook. Dokument popíše základní filozofii testování a také přesný popis již prováděných, popřípadě plánovaných

Více

Návod na E-Shop. tel.: 224 916 202, fax: 244 922 737, helpdesk: 606 230 000, e-mail: ipo@antee.cz

Návod na E-Shop. tel.: 224 916 202, fax: 244 922 737, helpdesk: 606 230 000, e-mail: ipo@antee.cz Návod na E-Shop Obsah 1. Založení nového e-shopu 2. Definice kategorií e-shopu 3. Definice atributů e-shopu 4. Vložení nové položky do e-shopu 5. Editace a smazání položky v e-shopu 6. Hromadná aktualizace

Více

Manuál pro používání Google Apps

Manuál pro používání Google Apps Manuál pro používání Google Apps Co vše Google Apps žákům školy nabídne? Všichni žáci školy získají jednotnou vlastní e-mailovou adresu ve tvaru: jmeno.prijmeni@zscernilov.cz s neomezenou kapacitou velikosti

Více

Představení telefonu

Představení telefonu Český manuál Představení telefonu Mobilní telefon CUBE 1 je představitelem rodiny chytrých mobilních telefonů vybavených operačním systémem Android, který patří mezi nejrozšířenější systémy pro mobilní

Více

Obsah. Kapitola 1 Stažení a instalace... 13. Kapitola 2 Orientace v programu a základní nastavení... 23. Úvod... 9

Obsah. Kapitola 1 Stažení a instalace... 13. Kapitola 2 Orientace v programu a základní nastavení... 23. Úvod... 9 Obsah Úvod......................................................... 9 Co vás čeká a co GIMP umí............................................... 9 Co s GIMPem dokážete?............................................................10

Více

Obsah. Úvod 13 Co a kde v knize najdete 13 Pro koho kniha je a jak ji číst 14 Zpětná vazba od čtenářů 15 Errata 15

Obsah. Úvod 13 Co a kde v knize najdete 13 Pro koho kniha je a jak ji číst 14 Zpětná vazba od čtenářů 15 Errata 15 Obsah Úvod 13 Co a kde v knize najdete 13 Pro koho kniha je a jak ji číst 14 Zpětná vazba od čtenářů 15 Errata 15 Kapitola 1 Seznamte se 17 Co je v krabici a jak ipad vypadá 17 Sluchátkový konektor 17

Více

Strana 27-6. Strana 27-7

Strana 27-6. Strana 27-7 Strana -6 SOFTWARE PRO DOHLED A SPRÁVU ENERGETICKÝCH SÍTÍ Struktura a aplikace založená na relačním databázovém systému MS SQL Prohlížení dat prostřednictvím běžných internetových prohlížečů Vysoce univerzální

Více

Poslouchejte odpovědně.

Poslouchejte odpovědně. Začínáme Nastavení, synchronizování a nabíjení. 1. Stáhněte a nainstalujte si nejnovější verzi itunes z www.itunes.com/download. 2. Připojte ipod touch k USB portu vašeho Macu nebo PC pomocí přibaleného

Více

Vizuální programovací jazyk

Vizuální programovací jazyk Vizuální programovací jazyk Adam Zmrzlý Seminář LaSArIS, 24. 04. 2013 Obsah Motivace Vizuální programování Jazyk Shades Jazyk Tints Interpret a běhové prostředí Shader Vývojové prostředí CodePainter Ukázky

Více

Obsah. Úvod. Kapitola 1 Seznamte se 17. Co a kde v knize najdete 13 Pro a od koho kniha je 14 Zpětná vazba od čtenářů 14 Dotazy 15 Errata 15

Obsah. Úvod. Kapitola 1 Seznamte se 17. Co a kde v knize najdete 13 Pro a od koho kniha je 14 Zpětná vazba od čtenářů 14 Dotazy 15 Errata 15 Obsah Úvod Co a kde v knize najdete 13 Pro a od koho kniha je 14 Zpětná vazba od čtenářů 14 Dotazy 15 Errata 15 Kapitola 1 Seznamte se 17 Okružní jízda na úvod 17 Co je v krabici a jak ipad vypadá 17 Sluchátkový

Více

OBSAH. ÚVOD...5 O Advance CADu...5 Kde nalézt informace...5 Použitím Online nápovědy...5. INSTALACE...6 Systémové požadavky...6 Začátek instalace...

OBSAH. ÚVOD...5 O Advance CADu...5 Kde nalézt informace...5 Použitím Online nápovědy...5. INSTALACE...6 Systémové požadavky...6 Začátek instalace... OBSAH ÚVOD...5 O Advance CADu...5 Kde nalézt informace...5 Použitím Online nápovědy...5 INSTALACE...6 Systémové požadavky...6 Začátek instalace...6 SPUŠTĚNÍ ADVANCE CADU...7 UŽIVATELSKÉ PROSTŘEDÍ ADVANCE

Více

Uživatelem řízená navigace v univerzitním informačním systému

Uživatelem řízená navigace v univerzitním informačním systému Hana Netrefová 1 Uživatelem řízená navigace v univerzitním informačním systému Hana Netrefová Abstrakt S vývojem počítačově orientovaných informačních systémů je stále větší důraz kladen na jejich uživatelskou

Více

Návod na použití prezentační techniky

Návod na použití prezentační techniky Laboratorní centrum Fakulty technologické Návod na použití prezentační techniky Střední posluchárna č. 113 Před použitím prezentační techniky pročtěte tento návod ApS Brno s.r.o., divize projekční techniky

Více

Po nastudování této kapitoly byste měli být schopni:

Po nastudování této kapitoly byste měli být schopni: 4 Tvorba prezentací Cíl kapitoly Po nastudování této kapitoly byste měli být schopni: vytvořit jednoduchou prezentaci v Microsoft PowerPoint 2010, vkládat nové snímky, měnit návrh, rozvržení a přechody

Více

Dotazník pro žáky a studenty

Dotazník pro žáky a studenty Příloha 1 Dotazník pro žáky a studenty Technologie geoinformačních systémů na mobilních zařízeních Dotazník je anonymní, jeho údaje budou využity ke zpracování bakalářské práce. Otázka č. 1 Jsi: Muž /

Více

Office 2013. podrobný průvodce. Tomáš Šimek

Office 2013. podrobný průvodce. Tomáš Šimek Office 2013 podrobný průvodce Tomáš Šimek Seznámení se společnými postupy při práci s dokumenty Office Popis základních a pokročilejších postupů při práci s Wordem, Excelem, PowerPointem a OneNote Možnosti

Více

Uživatelská příručka pro program

Uživatelská příručka pro program NEWARE Uživatelský manuál Uživatelská příručka pro program ve spojení se zabezpečovacím systémem strana 1 Uživatelský manuál NEWARE strana 2 NEWARE Uživatelský manuál Vaše zabezpečovací ústředna DIGIPLEX

Více

Obsah. Položkování 1: Prefix dřívějších osamocených dílů se zachovává...23 Položkování 2: Editace předběžných čísel...23

Obsah. Položkování 1: Prefix dřívějších osamocených dílů se zachovává...23 Položkování 2: Editace předběžných čísel...23 Obsah VÍTEJTE V ADVANCE STEEL 2013, ČÁSTÍ ŘEŠENÍ GRAITEC BIM... 5 ADVANCE CAD DOSTUPNÁ 64BITOVÁ PLATFORMA... 6 VYLEPŠENÍ PLATFORMY ADVANCE CAD 2013... 7 NOVÁ PALETA NÁSTROJŮ... 8 MODELOVÁNÍ... 9 Modelování

Více

Office 2016. Průvodce uživatele. Office 2016. Průvodce uživatele. Josef Pecinovský, Rudolf Pecinovský. www.grada.cz. Průvodce uživatele

Office 2016. Průvodce uživatele. Office 2016. Průvodce uživatele. Josef Pecinovský, Rudolf Pecinovský. www.grada.cz. Průvodce uživatele Kniha vám odpoví na otázky: Jak ukládat data do cloudu (na internetové úložiště) Jak vytisknout data na papír nebo do dokumentu PDF Jak kontrolovat pravopis a gramatiku Jak rychle a účelně formátovat vzhled

Více

Manuál programu HPSim

Manuál programu HPSim Manuál programu HPSim Základní informace o programu HPSim Program si můžete zdarma stáhnou z domovské stránky tohoto programu na adrese: http://www.winpesim.de. Tento software je volně šiřitelný pro potřeby

Více

KONVERTIBILNÍ ULTRABOOK TM INTEL vpro TM

KONVERTIBILNÍ ULTRABOOK TM INTEL vpro TM CELKOVÉ NÁKLADY NA VLASTNICTVÍ: KONVERTIBILNÍ ULTRABOOK INTEL vpro NAMÍSTO SAMOSTATNÉHO NOTEBOOKU A TABLETU PŘINÁŠÍ ÚSPORY KONVERTIBILNÍ ULTRABOOK TM INTEL vpro TM TABLET A NOTEBOOK V JEDINÉM ZAŘÍZENÍ

Více

Kapitola 1: Úvodní strana PARTICLER

Kapitola 1: Úvodní strana PARTICLER Kapitola 1: Úvodní strana PARTICLER OBSAH Úvod 1.O Particleru 2.Popis programu 2.1 Hlavní okno programu 2.1.1 - Horní lišta 2.1.1.1 Soubor 2.1.1.2 Vzhled 2.1.1.3 - Nastavení 2.1.1.4 - Pomoc 2.1.2 - Pracovní

Více

Uživatelská příručka

Uživatelská příručka Uživatelská příručka PC výkaznictví JASU (program pro zpracování účetního výkaznictví) březen 2012 Dodavatel: MÚZO Praha s.r.o. Politických vězňů 15 P.O.Box 36 111 21 Praha 1 telefon: 224 091 619 fax:

Více

Č.j. PPR-19172-118/ČJ-2013-990640 Praha 7.7.2014 Počet listů: 8

Č.j. PPR-19172-118/ČJ-2013-990640 Praha 7.7.2014 Počet listů: 8 POLICEJNÍ PREZIDIUM ČESKÉ REPUBLIKY Odbor veřejných zakázek Č.j. PPR-19172-118/ČJ-2013-990640 Praha 7.7.2014 Počet listů: 8 dle seznamu dodavatelů, kteří si vyzvedli zadávací dokumentaci kteří požádali

Více

Popis licencování, nastavení a ovládání replikací - přenosů dat

Popis licencování, nastavení a ovládání replikací - přenosů dat Popis licencování, nastavení a ovládání replikací - přenosů dat Ing. Martin Klinger 1.6.2016 Co jsou replikace? Sdílení dat, tzv. replikace najdou své uplatnění všude tam, kde je potřeba výměna dat v online

Více

Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto

Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto Registrační číslo projektu Šablona Autor Název materiálu / Druh CZ.1.07/1.5.00/34.0951 III/2 INOVACE A ZKVALITNĚNÍ VÝUKY PROSTŘEDNICTVÍM ICT

Více

MATLAB a Simulink R2015b

MATLAB a Simulink R2015b MATLAB a Simulink R2015b novinky ve výpočetním systému Jan Houška HUMUSOFT s.r.o. houska@humusoft.cz 1 >> 2016 1991 ans = 25 2 Release 2015a a 2015b tradiční dvě vydání do roka březen a září 2015 R2015a

Více

Programovací práce v rámci projektu cestovního ruchu Komunikační kampaň Jižní Moravy - opakované řízení

Programovací práce v rámci projektu cestovního ruchu Komunikační kampaň Jižní Moravy - opakované řízení 4BC54 Programovací práce v rámci projektu cestovního ruchu Komunikační kampaň Jižní Moravy - opakované řízení Registrační číslo projektu: CZ.1.11/2.2.00/38.01599 Předmět zakázky: služba Oblast podpory:

Více

TEPELNÁ TECHNIKA 1D. Základy práce s aplikací. Verze 3.0.0

TEPELNÁ TECHNIKA 1D. Základy práce s aplikací. Verze 3.0.0 TEPELNÁ TECHNIKA 1D Základy práce s aplikací Verze 3.0.0 OBSAH 1. Přehled verzí aplikace... 5 2. Spuštění aplikace... 8 2.1. Ze stránek www.stavebni-fyzika.cz... 8 2.2. Z jiné aplikace... 8 3. Princip

Více