Mobilní platforma. Windows Phone 8

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

Download "Mobilní platforma. Windows Phone 8"

Transkript

1 VYSOKÁ ŠKOLA EKONOMICKÁ V PRAZE Fakulta informatiky a statistiky Katedra informačních technologií Studijní program: Aplikovaná informatika Obor: Informatika Mobilní platforma Windows Phone 8 BAKALÁŘSKÁ PRÁCE Student : Vedoucí : Oponent : Jan Ženíšek doc. Ing. Alena Buchalcevová, Ph.D. Ing. Jan Mittner 2013

2 Prohlášení Prohlašuji, že jsem bakalářskou práci zpracoval samostatně a že jsem uvedl všechny použité prameny a literaturu, ze kterých jsem čerpal. V Praze dne 14. Května 2013 Jan Ženíšek

3 Poděkování Rád bych zde poděkoval doc. Ing. Aleně Buchalcevové, Ph.d, za veškeré rady a připomínky, které mi poskytla při zpracovávání této bakalářské práce. Dále bych chtěl poděkovat Štěpánu Bechyňskému, který mi poskytl mnoho cenných rad do začátku této práce.

4 Abstrakt Tato bakalářská práce se zabývá mobilním operačním systémem Windows Phone 8, který byl uveden v polovině roku Cílem práce je představit operační systém Windows Phone 8. Tím jsou myšleny všechny jeho parametry, vlastnosti a technologie, které jsou nutné pro následný vývoj aplikací. Dílčím cílem je vysvětlení možností a postupů při vývoji aplikací určených jak pro systém Windows Phone 8, tak zároveň pro Windows 8. Dalším dílčím cílem je názorná ukázka použití nových technologií v aplikacích. Těchto cílů bylo dosaženo kompletací informací převážně ze zahraničních zdrojů, jelikož české zdroje týkající se tohoto systému jsou nedostačující. Tato práce je rozdělena následovně: začíná popisem funkcí a novinek, které jsou dostupné v sytému, následují způsoby a principy designování aplikací, v další části je vysvětlen návrhový vzor a způsoby více platformního vývoje a na závěr je ukázáno, jak lze do aplikací implementovat funkce: hlasových příkazů, geolokalizace, peněženky a bezdrátového přenosu informací. V této práci jsou shrnuty všechny informace, které jsou potřebné pro představení systému Windows Phone 8 začínajícímu i pokročilému vývojáři aplikací. V České republice do této doby nebyla publikována žádná práce, jež by se zaměřovala na mobilní systém Windows Phone 8. Klíčová slova Windows Phone 8, mobilní operační systém, chytrý telefon, XAML, MVVM, platforma Windows Phone, Data binding

5 Abstract This bachelor thesis describes to mobile operating system Windows Phone 8. That was introduced in half of the year The main aim this thesis is to introduce operating system Windows Phone 8. It includes all its parameters, features and technologies, which are necessary for future application development. Partial goal is to explain the possibilities and processes of the development not only for Windows Phone 8 but also for Windows 8. Another crucial goal is the illustrative example of using new technologies in applications. These goals were accomplished by gathering information from foreign sources, because Czech sources concerning this system are not insufficient. This thesis is divided into following parts: firstly describes the functions and news, that are available in the system, manners and principals of designing applications are following, in the next section is explained designing pattern and manners of multi-platform development and in the end is showed, how it is possible to implement functions such as: voice commands, geolocalization, wallet and wireless information transport. In this thesis are summarised all information that are necessary for introducing system Windows Phone 8 beginning and also advanced application developer. In the Czech Republic there has not already been published any publication that would focus on mobile system Windows Phone 8. Key words Windows Phone 8, mobile operating system, smart phone, XAML, MVVM, Windows Phone platform, Data binding

6 Obsah 1 Úvod Struktura práce Předpoklady a omezení práce Cílová skupina Cíle práce Předpokládaný přínos práce Vymezení základních pojmů Rešerše zdrojů Platforma Windows Phone Historie Windows Phone Sdílené systémového jádra Požadavky platformy Windows Phone Uživatelské rozhraní Windows Phone Aplikační vybavení systému Windows Phone Životní cyklus aplikací v systému Windows Phone Obecná pravidla, kterými se řídí aplikace v systému Windows Phone Spouštění a ukončování aplikace Uspaná aplikace Přechod aplikace ze stavu uspáno do pohřbeno Technologie pro zobrazování aplikací WP Typy aplikací - dělení dle způsobu návrhu uživatelského rozhraní Windows Presentation Foundation (WPF) Extensible Application Markup Language (XAML) Vývoj aplikací pro Windows Phone Vývojové nástroje pro Windows Phone

7 3.2 Šablony XAML aplikací pro WP Aplikační stránka a ovládací prvky Šablona Pivot Šablona Panorama Šablona Portrét Rotace zobrazení Vývoj aplikace pro běh na Windows Phone 8 i Windows Rozdíly systému WP8 a W8 z hlediska uživatelského prožitku Platformově specifické prvky Rozdíly v životním cyklu aplikací v systémech WP8 a W Data binding Příklad vytvoření XAML elementu a vytvoření datové vazby Návrhový vzor Model-View-ViewModel Techniky pro opětovné užití kódu mezi třídami aplikací Windows 8 a Windows Phone 8 za pomoci Visual Studia Použití nových technologií v aplikacích WP NFC Aplikace používající NFC Hlasové ovládání Aplikace používající hlasové příkazy Mapy a geolokalizace Aplikace používající mapu a geolokalizaci Peněženka Aplikace používající peněženku Závěr Terminologický slovník Použitá literatura... 62

8 9 Seznamy Seznam obrázků Seznam tabulek Seznam zdrojových kódů Seznam diagramů Rejstřík... 70

9 1 Úvod Strana 1 1 Úvod V současnosti jsou lidské životy úzce spojeny s použitím elektronických zařízení. Z velké části je to způsobeno příchodem a rozvojem připojení k internetu. V roce 2010 bylo k internetu připojeno okolo dvou milionů uživatelů (22% populace Země) [1].Synonymem pro připojení k internetu vždy býval počítač, ať už stolní nebo přenosný. V současnosti toto dogma již neplatí, jelikož poslední studie prokázaly, že uživatelé používají k připojení k internetu stále ve větší míře mobilní zařízení. V České republice se v roce 2010 pomocí mobilních zařízení připojovalo okolo 38% obyvatel [2]. Stoupající obliba mobilních zařízení není patrná pouze v Čechách, ale celosvětově. Za poslední rok vzrostl celkový počet připojení na internet pomocí mobilních zařízení o téměř 10% [3].Mobilní telefony najdou v současnosti využití jak v osobní, tak i v profesní sféře. Manažeři mají na pracovních cestách stále přístup k firemním aplikacím, ům či jsou schopni se zúčastnit konferenčních hovorů. Tímto výčtem zvyšující se popularity a schopnosti mobilních zařízení jsem chtěl přiblížit fakt, proč jsem si zvolil téma týkající se vývoje mobilních platforem. Mobilních operačních systémů existuje v současnosti celá řada. Nyní z 65% celý trh pokrývají dvě konkurenční platformy: ios (27%) a Android (38%) [4]. Zvyšující se preference těchto mobilních platforem, které ovládly téměř tři čtvrtiny trhu, a razantně snižující se oblíbenost systémů BlackBerry OS (pokles o 10% od roku 2011) a Symbian (pokles o 25% od začátku roku 2012), vytvořila na trhu s mobilními operačními systémy mezeru. 25. října 2012 přichází na svět systém Windows Phone 8 (dále WP8), pomocí kterého se společnost Microsoft snaží tuto mezeru vyplnit. Důvodů pro volbu bakalářské práce na téma Windows Phone 8je několik. Tento systém je, na rozdíl od systému ios a Android, úplně nový. S tím je spojen i fakt, že neexistuje mnoho knih, respektive studií, které by komplexně sumarizovaly parametry systému, případně vývoj aplikací. Dalším důvodem je, že za použití správné metodiky vývoje lze aplikace vytvořené pro WP8 velice snadno přenášet na desktopové Windows 8, což přináší velké usnadnění pro vývojáře. 1.1 Struktura práce Tato práce je rozdělena do několika částí. V první části je představen operační systém Windows Phone 8 jako celek. Úvodní část je zaměřena na historický vývoj celé platformy. Následovat bude obecné seznámení s uživatelského rozhraní systému a aplikací. Dále budou definovány minimální požadavky na mobilní telefon, aby na něj mohl být použit systém Windows Phone 8. Nakonec bude zmíněno, jaké aplikace jsou dodávány jako součást tohoto systému.

10 1 Úvod Strana 2 Druhá část bude zaměřena na teoretické znalosti, které jsou nutné, aby vývojáři byli schopni vyvíjet aplikace pro Windows Phone 8. V úvodu je objasněn životní cyklus aplikace na této mobilní platformě. Dále bude vysvětleno, jakým způsobem se deklaruje uživatelské rozhraní a jak vypadají, respektive se definují grafické struktury, které jsou použity v aplikacích. V další části bude představen návrhový vzor MVVM 1,pomocí kterého lze efektivně vyvíjet aplikace pro systémy Windows Phone 8 a Windows 8. Zároveň bude zmíněno, jaké jsou rozdíly při vývoji aplikací pro oba tyto systémy a na jaká úskalí si při daném vývoji dát pozor. Nakonec se tato práce zaměří na možnosti získání potřebného softwaru či jiných náležitostí pro vývoj aplikací. Také bude v této části zmíněno, jak probíhá akceptace a nasazení aplikací na Windows nebo firemní obchod s aplikacemi. Poslední část se bude zaměřovat na praktickou implementaci kódu, a jak se na této platformě používají pokročilé funkce (například geolokalizace, hlasové příkazy, využití senzorů, použití služby Peněženka a jiné). V každé podkapitole bude vysvětleno, k čemu se daná funkce používá a jak se tato funkce implementuje. Nakonec budou shrnuty všechny znalosti, které byly prezentovány v této bakalářské práci. 1.2 Předpoklady a omezení práce U čtenářů se předpokládaná minimálně základní znalost syntaxe jazyků C# a XML. Tato práce se zaměřuje na představení mobilního systému Windows Phone 8 a způsobu jakým jsou pro tento systém vyvíjeny aplikace. To znamená, že po přečtení této práce bude čtenář znát hlavní parametry a specifika systému a bude schopen navrhnout aplikaci využívající prvky, které jsou pro tuto verzi systému nové. Díky rozsahu práce nelze dopodrobna popsat všechny technologie, které jsou při vývoji použity (XAML, Databinding aj.) natož obsáhnout veškerou funkcionalitu systému. 1.3 Cílová skupina Teoretická část bakalářské práce je sestavena tak, aby jí porozuměl běžný uživatel, který se proaktivně zajímá o mobilní zařízení (respektive mobilní operační systémy), ale zároveň aby oslovila i zkušeného profesionála. Profesionálové mohou ocenit, že informace, které jsou sice pro mnohé z nich dostupné, jsou zde prezentovány jako ucelený blok a přeloženy do češtiny. První kniha týkající se kompletně této problematiky bude vydána v polovině května tohoto roku (2013) v USA. Profesionály jsou zde míněni, jak odborníci vyvíjejí aplikace, tak i například manažeři IT oddělení. Manažeři mohou čerpat z teoretické části a díky tomu cílit vývoj aplikací pro firemní nebo byznys účely. Vývojáři mohou použít znalosti jak z teoretické tak i z praktické části této práce. 1 MVVM je zkratka pro Model-View-ViewModel. Do češtiny se tento návrhový vzor dá přeložit jako Model- Pohled-Pohled modelu. Více bude představen v kapitole

11 1 Úvod Strana Cíle práce Cílem této bakalářské práce je poskytnout vývojářům mobilních aplikací nejen teoretické, ale zejména praktické informace a příklady pro vytváření aplikací v systému Windows Phone 8. Do tohoto cíle patří uceleně prezentovat informace, které jsou potřebné pro návrh a vývoj aplikací v systému Windows Phone 8. Pro splnění tohoto cíle jsou vysvětleny následující technologie a funkcionality tohoto systému: Parametry mobilních zařízení, na kterých lze systém použít Využití deklarativního jazyka XAML Data binding Návrhový vzor MVVM Použití funkcionalit systému (geolokalizace, použití NFC, hlasové ovládání a Peněženky) 1.5 Předpokládaný přínos práce Tato práce je první (v České republice) ucelenou publikací informací týkající se systému Windows Phone 8 a vývoje aplikací pro něj určených. Čtenářům shrnuje a popisuje potřebné informace pro návrh, vývoj a nasazení aplikace. 1.6 Vymezení základních pojmů V této části práce je nutno definovat ústřední pojem operační systém (či pouze systém nebo zkráceně OS). Ačkoliv za poslední desetiletí tento pojem příliš zevšedněl mezi laickou veřejností, tak jeho definice se mezi odborníky úplně neustálila. Proto je v následujících řádcích přehled několika definic, které jsou mezi sebou porovnány. První definice pochází z internetové encyklopedie Merriam-Webster: software that controls the operation of a computer and directs the processing of programs (as by assigning storage space in memory and controlling input and output functions [5]). To lze přeložit: OS je software, který kontroluje operace v počítači a řídí zpracování programů (přiřazováním místa v paměti a kontrolováním vstupních a výstupních funkcí). Tato definice téměř kompletně popisuje, jak operační systém funguje. Mně osobně zde objasňuje dvě informace: vztah mezi aplikacemi a operačním systémem, fakt, že operační systém může fungovat i na jiných přístrojích než je počítač. Na webu PCMag.com popisují operační systém v několika částech. Zde budou uvedeny pouze první dvě (v dalších částech jsou popisovány ostatní komponenty OS) První část zní takto: The computer's master control program. When the computer is turned on, a small "boot program" loads the operating system. Although additional system modules may be loaded as needed, the main part,

12 1 Úvod Strana 4 known as the "kernel" resides in memory at all times. [6] Což lze přeložit jako Operační systém je hlavní kontrolní systém počítače. Když je počítat zapnut zaváděcí program, načte operační systém. Ačkoliv můžou být načteny dodatečné moduly, pokud jsou potřebné, tak hlavní část známá jako jádro je načtena po celou dobu v paměti. Druhá část definice je popsána následovně: The operating system (OS) sets the standards for all application programs that run in the computer. Applications "talk to" the operating system for all user interface and file management operations. [6] přeloženo: Operační systém je množina standardů pro všechny aplikace, které běží na daném počítači. Aplikace komunikují s operačním systémem za účelem zobrazení uživatelského rozhraní a práci se správcem souborů. První část této definice dle mého úsudku zasahuje až příliš do zbytečných podrobností jelikož popisuje start a běh operačního systému samotného. Druhá část se velice podobá definici z encyklopedie Merrian-Webster, ale navíc popisuje vztah mezi OS a aplikacemi. Znovu mně osobně v definici chybí, že operační systém může být použit i na jiných zařízeních. Poslední definice operačního sytému je z internetového deníku Mobileburn.com: An Operating System, or OS, is the master software that is run on a computer or smartphone that allows it to run other applications developer for that platform. [7] tedy v překladu: Operační systém neboli OS je hlavní software který běží na počítači nebo chytrém telefonu a umožnuje běh dalších aplikací vyvinutých pro danou platformu. Tato definice je velice jednoduchá a nezasahuje příliš do podrobností a navíc jako jediná připouští možnost běhu operačního systému na jiném zařízení. Tuto definici považuji vhodnou pro úplné laiky. Jako bezchybnou definice bych považoval takovou jenž skloubí první dvě a přidá možnosti existence operačního sytému i na jiných zařízeních nežli je PC. Přestavoval bych si ji následovně: OS je hlavní software, který kontroluje operace v počítači či jiném mobilním zařízení a řídí zpracování programů (přiřazováním místa v paměti a kontrolování vstupních a výstupních funkcí). Aplikace komunikují s operačním systémem za účelem zobrazení uživatelského rozhraní a prací se správcem souborů. 1.7 Rešerše zdrojů V poslední době získávají mobilní zařízení a technologie s nimi spjaté stále více na popularitě. Díky tomu i velice rychle vzrůstá počet prací publikovaných na tato témata. Přínosný zdroj informací vidím v bakalářské práci Lucie Třískové vypracované na téma Přehled platforem pro vývoj mobilních aplikací. Tato práce je zaměřena na porovnání mobilních platforem a volbu nejvhodnější platformy pro začínající vývojáře. Informace o mobilních platformách jsou spíše obecného charakteru, naopak způsob porovnání jednotlivých platforem je podložen statistikami z odborných médií a je zpracován velice důkladně.

13 1 Úvod Strana 5 Druhou studentskou prací, která přispívá již blíže k tématu mého zadání, je bakalářská práce studenta Fakulty elektrotechnické ČVUT Tomáše Kápla: Vývoj mobilních aplikací pro OS Windows Phone. Práce se zaměřuje na historii, vývoj a popis komponent OS Windows Phone 7. Celou problematiku autor popisuje z pohledu vývojáře a v jednotlivých kapitolách ji popisuje velice dopodrobna. Ačkoliv je toto téma velice podrobně a pečlivě zpracováno, tak není možno ho použít ve všech ohledech při řešení dané problematiky, protože se zabývá předchozí verzí systému. Poslední studentská práce přispívající částečně k tomuto tématu je bakalářská práce Lukáše Vaise na téma Framework WPF. Autor se v této práci snaží stručně popsat funkcionalitu frameworku. Spolu s Frameworkem WPF popisuje i XAML, Data binding a použití triggerů. Podrobné informace týkající se přímo operačního systému WP8 se v současnosti nacházejí na zahraničních webových serverech. Hlavním zdrojem informací je vývojářský web společnosti Microsoft MSDN 2. Informace na ní obsažené jsou ve formě tutoriálů, blogů či video návodů. Tyto informace jsou v mnoha případech velice roztříštěné. Některá problematika se vyskytuje duplicitně na několika místech a jiná je téměř vynechána. Knižní cizojazyčné (i české) zdroje téměř neexistují. Jediná kniha pojednávající podrobně o této problematice se nazývá Windows Phone 8 development internals. Tato kniha je v této době (duben, 2013) dostupná pouze v elektronické formě preview 2. Tímto je myšleno, že jsou prozatím napsány pouze 2/3 knihy, které jsou dostupné pro veřejnost 3. Kniha velice dopodrobna popisuje z pohledu vývojáře všechny části systému Windows Phone 8 a zdůrazňuje, co vše se změnilo oproti předchozí verzi. V současnosti jsou velice důležitým zdrojem prezentace, které se promítají na přednáškách Microsoftu určených pro vývojáře. Prezentace jsou koncipovány tak, aby oslovily jak začínající tak i pokročilé vývojáře aplikací. Každá se zaměřuje na určitou problematiku a dopodrobna ji rozebírá. Prvními prezentace se nazývá Built for both (Stavějte pro oboje) byla prezentována tento únor v české pobočce Microsoftu Štěpánem Bechyňským. Zaměřuje se na problematiku návrhu a vývoje aplikací pro WP8 a zároveň pro W8. Druhý je cyklus prezentací s názvem Building apps for Windows Phone 8 zaměřený na novinky (respektive změny) v systému WP8. Tyto prezentace byly prezentovány (jako součást online konference Jump to start ) na konci roku 2012 Andym Wigleym a Robem Tiffanym. 2 MSDN je zkratkou anglických slov Microsoft-Developer-Network (Vývojářská sít Microsoftu) 3 Zbytek knihy bude vydán až 15. Května 2013.

14 2 Platforma Windows Phone 8 Strana 6 2 Platforma Windows Phone 8 V této kapitole je představen historický vývoj systému Windows mobile a jeho přerod na Windows Phone. Následovat bude kompletní seznámení se systémem Windows Phone 8. Tím jsou myšleny nejen změny oproti předchozí verzi systému Windows Phone 7. X., ale i nové minimální hardwarové požadavky, změny v uživatelském rozhraní, přechod na nové jádro systému a s tím spojené následky při psaní aplikací. 2.1 Historie Počátky systému Windows Phone lze nalézt již 6. Ledna 2000, kdy společnost Microsoft na veletrhu CES představila nový operační systém Windows CE (s jádrem CE 3.0). Spolu s tímto systémem představila i dvě aplikace: přehrávač Windows media player a čtečku elektronických knih Ms Ebook reader. Představení tohoto systému vedlo ke vzniku platformy Pocket PC 4 [8]. Zprvu tento systém obsahoval velice strohé uživatelské rozhraní měl velice omezenou funkcionalitu. V následujících sedmi letech Microsoft vydal pět velkých verzí, které postupně přinášeli novou funkce: internetový prohlížeč, prohlížeč obrázků, sadu MS Office a jiné. V průběhu vývoje se systém přejmenoval z Pocket PC na Windows Phone. Zároveň s každou velkou verzí vyšlo několik menších verzí, které systém dělil podle použití: pro chytré telefony (WM Smartphone), počet PC pro telefony (WM Pocket PC Phone) a počet PC (WM Pocket PC). Vytvoření těchto podverzí vedlo k tomu, že systém Windows Mobile mohl běžet na velkém počtu zařízení, které se diametrálně lišily. To mělo za následek velkou roztříštěnost systému a velice obtížnou tvorbu aplikací, jež by mohly být spuštěny na všech zařízeních. [8] Na konci roku 2005 Windows mobile ovládal celkem 17 % trhu s mobilními operačními systémy [9]. Během tří následujících let systém Windows mobile postupně ztrácel popularitu, až se zastavil okolo 2% v Prosinci roku Tento výrazný pokles pravděpodobně způsobil příchod systému ios v červnu V tu dobu již vládnoucí systém Symbian a pomalu nastupující systém Android [4]. Na to zareagovala společnost Microsoft vydáním operačního systému Windows Phone 7 v dubnu roku 2010 [10]. WP7 přinesly kompletně nové uživatelské rozhraní, které Microsoft nazval Metro. Tento systém trpěl mnoha vadami, například neuměl multitasking, výrobci mohli použít pouze jedno jádrové procesory, nemohly být implementovány sloty na SD karty a stále byl systém postaven na velice starém jádře CE. Obecně se tento systém nesetkal s velkou oblibou u veřejnosti ani u výrobců. Z části je to způsobeno výše zmíněnými nedostatky a také velké popularitě nepomohla zpráva od 4 Operační prostředí pro ruční přístroje od Microsoftu, založené na operačním systému Windows CE[33]

15 2 Platforma Windows Phone 8 Strana 7 Microsoftu, že se verze WP7 nebude moci aktualizovat na novou verzi Windows Phone 8 a zároveň i aplikace vytvořené pro novou verzi nebude možné spustit na starší verzi. 2.2 Windows Phone 8 Dva roky po uvedení WP7 přichází na trh nová verze označená Windows Phone 8 (29. Října 2012) [11]. Systém byl kompletně předělán, ačkoliv z pohledu uživatelského rozhraní je systém velice podobný předchůdci. Do tohoto systému vkládá velké naděje nejen Microsoft, ale i specialisté z odborných medií [12]. Následující podkapitoly se věnují novému jádru systému Windows Phone 8 dále požadavkům musejí být splněny zařízeními, která podporují tento systém. Další podkapitola se zabývá uživatelským rozhraním systému a poslední část je věnována softwarovému vybavení, které je dodáváno spolu se systémem Sdílené systémového jádra Největší změnou systému WP8 je přechod na NT kernel. Toto jádro bylo vydáno roku 1993 ve verzi 3.1 a od té doby se používá jako základ všech desktopových systémů Windows. V současné době je vydána verze NT 6.2, která je použita ve Windows 8, Windows Server 2012 a samozřejmě i WP8. Jádro NT použité ve WP8 je podmnožinou desktopové verze. Tím se rozumí, že všechny funkce jádra, které jsou dostupné na WP8 lze zakomponovat do W8, ale naopak tomu již není (na tuto problematiku bude více zaměřena kapitola o vývoji). Zároveň NT kernel přináší pro WP8 zrychlení systému a zpracování aplikací. Sdílením systémového jádra znamená, že systémy W8 a WP8 sdílejí nejenom NT kernel, ale i souborový systém NTFC, systém Networking a systém Security. Tyto čtyři části se dohromady nazývají Systémy jádra Windows (Windows Core Systems). Dále spolu sdílejí Mobilní jádro (Mobile Core) do kterého patří: vykreslovací jádro IE Trident, jádro pro multimédia, bezpečnostní jádro CoreCLR a nakonec jádro pro zpracování grafiky DirectX. Na obrázku 1 je graficky znázorněno, které části Systémového jádra jsou sdíleny u těchto dvou systémů.

16 2 Platforma Windows Phone 8 Strana 8 Obrázek 1: Sdílené jádro Windows [13] Na obrázku č. 1 je názorně vidět, které části systémů jsou sdíleny a které již nikoliv. Je nutno podotknout, že ačkoliv jsou jádra sdílena, tak desktopová verze obsahuje navíc dodatečné funkcionality, které jsou pro ní specifické. Toto všechno napomáhá budoucím či stávajícím vývojářům aplikací k mnohem snadnější tvorbě aplikací, jež budou porovnatelné na oba dva systémy Požadavky platformy Windows Phone 8 Stejně jako v případě předchozí verze Microsoft vydal seznam minimálních respektive doporučených požadavků [14]. Tato informace je důležitá pro vývojáře jelikož si mohou být vždy jistí, že všechna zařízení s tímto systémem mají zaručená minimální hardwarové vybavení. Toto přináší zároveň velké usnadnění vývoje, kdy není zapotřebí na úrovni kódu kontrolovat, zda zařízení je dostatečně výkonné nebo má zabudovanou určitou technologii. Seznam minimálních požadavků [14]: Osazení procesory Qualcom Snapdragon S4 dvou-jádrový. Minimum 512 MB RAM pro telefony WVGA a 1 GB pro telefony s rozlišením WXGA. Minimum 4 GB flash paměti.

17 2 Platforma Windows Phone 8 Strana 9 Použití GPS a A-GNSS; Navigační systém GLONASS je podporován na úrovni systému. Implementace modulu je na volbě výrobců. Port pro micro-usb ,5 mm stereo headphone jack s podporou tří ovládacích tlačítek. Fotoaparát v zadní části se zaostřováním a LED nebo Xenonovým bleskem. Volitelná kamera v přední části telefonu. V obou případech musí být rozlišení fotoaparátu minimálně VGA. Zároveň musí být dedikováno hardwarové tlačítko pro spoušť fotoaparátu. Musí být použitý akcelometr, senzor přiblížení a senzor světla. Zároveň telefon musí mít vibrační motor. Použití magnetometru a gyroskopu je volitelné. Přístroj musí obsahovat WiFi b/g (volitelně n) a Bluetooth. DirectX grafický hardware, který podporuje hardwarovou akceleraci aplikací používajících Direct3D. Multi-dotyková obrazovka podporující minimálně čtyři simultánní dotyky. Mobilní přístroj musí obsahovat tři ovládací tlačítka: Zpět, Start a Lupa Uživatelské rozhraní Windows Phone 8 Uživatelské rozhraní použité v systému WP8 (resp. i v W8) se dříve nazývalo Metro uživatelské rozhraní (Metro UI) nyní Microsoft používá pojmenování Nové Windows uživatelské rozhraní (New Windows UI) nebo prostě Windows uživatelské rozhraní (Windows UI). Uživatelské rozhraní je složeno z takzvaných živých dlaždic (Live tiles), které mohou mít tři různé velikosti. Živé dlaždice mají tvar: malého čtverce, velkého čtverce a obdélníku. Dlaždice jsou poskládány v mřížce na hlavní obrazovce systému. V případě, že se dlaždice nevejdou na plochu obrazovky, začnou se řadit pod sebe a uživatel si je může zobrazit vertikálním srolováním. Každá dlaždice znázorňuje odkaz na aplikaci v systému. V případě, kdy je dlaždice stisknuta, otevírá se aplikace, kterou reprezentuje. Každá dlaždice může být zvláště animována, je pouze na vývojářích, co bude zobrazovat a jak. Například: aktuální stav počasí, počet nově přijatých volání, sms či ů (viz. Obrázek 2: Hlavní obrazovka s živými dlaždicemi). V případě, kdy se uživatel přesune z hlavní obrazovky na vedlejší obrazovku (rychlým přejetím prstu z pravé strany obrazovky na levou), zobrazí se seznam aplikací (zobrazen na obrázku 3), které jsou v mobilním telefonu nainstalovány. Pokud počet aplikací přesáhne 40, v seznamu se objeví položky písmen, pomocí kterých se lze navigovat. Všechny aplikace, které jsou zobrazeny v seznamu, si může uživatel připnout na hlavní obrazovku jako živou dlaždici.

18 2 Platforma Windows Phone 8 Strana 10 Obrázek 2: Hlavní obrazovka s živými dlaždicemi Obrázek 3: Menu s aplikacemi Aplikační vybavení systému Windows Phone 8 Systém WP8 je dodáván s určitým množstvím předinstalovaných aplikací, které jsou pro tuto platformu unikátní. Zde následuje výběr nejpodstatnějších: Office - Mobilní verze kancelářského balíku MS Office ve verzi 15 (číslování verzí je rozdílné od desktopové verze MS Office). Je možno otevírat, upravovat či vytvářet dokumenty typu Word a Excel. Zároveň je možné prohlížet prezentace typu PowerPoint. Možnosti upravování dokumentů jsou pouze na základní úrovni: Změna velikosti, barvy, podbarvení písma. HERE Maps - Off-line mapy s podklady pro 94 zemí světa. Mapy jsou ke stažení do mobilního přístroje pro každou zemi zdarma. Tato aplikace je schopna navigovat jak pěší, tak i automobily.

19 2 Platforma Windows Phone 8 Strana Životní cyklus aplikací v systému Windows Phone8 Nejprve je nutno vysvětlit termín životní cyklus aplikace. Tento pojem definuje, jak se aplikace chová v různých stavech, respektive při přechodu z jednoho do druhého. Těmito stavy jsou: spuštěná (Running), uspaná (Dormant), pohřbená (Tombstoned 5 ) a vypnutá (Not running) aplikace. Přechody mezi jednotlivými stavy vysvětluje následující diagram a následující podkapitoly (diagram i kapitola čerpají ze zdroje [15]). Obrázek 4: Životní cyklus aplikace [15] Obecná pravidla, kterými se řídí aplikace v systému Windows Phone 8 Aplikace v systému WP8 podléhají jistým omezením, která byla vytvořena tak, aby se prodloužila výdrž baterie a byl vždy dosažen optimální uživatelský prožitek 6 (User Experience dále UX). Nejpodstatnějším omezením je, že v popředí může být spuštěna pouze jedna aplikace, ostatní aplikace jsou deaktivovány. Pro aplikace, respektive pro toho, kdo píše její kód, vyplývá, že musí při deaktivování a reaktivování ošetřit ukládání (resp. načítat) dat, aby nebyla ztracena. Dále platí následující pravidla [13]: 5 Toto slovo se dá přeložit do češtiny jako pod náhrobním kamenem, proto v tomto případě budu preferovat slovo pohřbená (proces přechodu do stavu pohřbená aplikace pohřbívání). 6 Uživatelský prožitek lze definovat takto: Jedná se o pocity a emoce, které jsou subjektivní pro každého člověka a vystávají mimo jiné také při používání určitého produktu či služby [53].

20 2 Platforma Windows Phone 8 Strana 12 pouze aktivní aplikace nebo uživatel může spouštět jiné aplikace. uživatel se může kdykoliv pomocí hardwarového tlačítka start vrátit na hlavní obrazovku a tím pádem uspí aktivní aplikaci. uživatel se může kdykoliv pomocí hardwarového tlačítka zpět navigovat na předchozí obrazovku nebo aplikaci. aplikace se uspí také v případě, kdy mobilní telefon začne zpracovávat příchozí hovor nebo pokud uživatel po určitou dobu se zařízením nepracuje a ono se automaticky uzamkne (vypne display) Spouštění a ukončování aplikace Aplikace může být spuštěna buď pomocí živé dlaždice z hlavní obrazovky, ikony aplikace v seznamu aplikací nebo pomocí vnořeného odkazu 7 (deep link). Prostředí systému WP8 upozorní aplikace o změně jejich stavu v rámci životního cyklu pomocí ovladačů událostí (event. handler). V momentu, kdy se spouští aplikace (Launching), se zavolá ovladač událostí Application_Launching, pomocí kterého je doporučeno načíst obsah ze záložní paměti (backing store). Při ukončování aplikace (Closing) se volá ovladač událostí Application_Closing,pomocí kterého je doporučeno ukládat obsah do záložní paměti Uspaná aplikace V odstavci jsou vyjmenovány všechny případy, ve kterých se aplikace uspí. V každém z těchto případů je zavolán ovladač událostí Application_Deactivated. Z pohledu systému stav aplikace uspáno a vypnuto jsou totožné, pokud je aplikace deaktivována a uživatel se k ní již nevrátí zpátky. Proto je nutno vždy převést všechna data při přechodu aplikace do stavu uspání na data perzistentní. Na tento proces převedení dat má aplikace přesně 5 sekund, po této době jsou data odstraněna z paměti. V případě, kdy je aplikace obnovena ze stavu uspáno, načte se automaticky na stránce i s daty, které obsahovala před uspáním. Tuto funkcionalitu automatiky zabezpečuje operační systém. Všechny objekty jsou stále uloženy v paměti systému, přesně v takové podobě, než byla aplikace přerušena. Na následujícím obrázku (Obrázek 5: Uspání a probuzení aplikace) je názorně ukázáno, jak probíhá uspání aplikace při spuštění jiné aplikace a následné obnovení této aplikace ze spánku. Aplikace je obnovena ve stejné podobě přesně tam, kde byla před uspáním. 7 Vnořený odkaz je hyperlink s absolutní adresou URL.

21 2 Platforma Windows Phone 8 Strana 13 Obrázek 5: Uspání a probuzení aplikace [15] Přechod aplikace ze stavu uspáno do pohřbeno Aplikace ve stavu pohřbená je držena v paměti vedle ostatních aplikací, ale pokud systému začnou docházet systémové zdroje (paměť nebo v některých případech baterie 8 ), tak systém začne vyřazovat uspané aplikace od nejstarších. Tento proces se jmenuje pohřbívání. Pohřbené aplikace jsou zpravovány pomocí historie otevřených stránek aplikací a cache nazvané adresář stavu (state dictionaries). Rozdíl mezi aplikací uspanou a pohřbenou je následující. Uspaná aplikace se po svém obnovení vrátí do přesně stejného stavu, v jakém byla, než ji uživatel uspal. Naopak pohřbená aplikace po svém obnovení zobrazí pouze poslední otevřenou stránku aplikace a zbytek dat se musí znovu načíst z perzistentní paměti. Aplikace dokáže zjistit z jakého stavu je obnovována a je pouze na programátorovi, aby ošetřil opětovné načtení potřebných dat. 8 Pokud mobilnímu telefonu dochází baterie, může uživatel přepnout systém na úsporný režim, ve kterém se neaktivní aplikace automaticky ukončují, aby se ušetřila baterie.

22 2 Platforma Windows Phone 8 Strana Technologie pro zobrazování aplikací WP8 Tato část je zaměřena na způsoby a principy návrhu grafického uživatelského rozhraní v aplikacích pro WP8. Nejprve je zobrazeno rozdělení typů aplikací. Další část se věnuje představení frameworku Windows Presentation Foundation (dále WPF), která se následně zabývá deklarativním jazykem XAML, vytváření vazeb mezi elementy jazyka XAML a daty. Celá tato část bude zakončena ukázkou tvorby elementu a jeho provázaní s proměnou Typy aplikací - dělení dle způsobu návrhu uživatelského rozhraní Pro systém Windows Phone 8 lze vyvíjet aplikace třech typů (dělené dle způsobu návrhu uživatelského rozhraní): XAML, Smíšený mód (Mixed mode) a Direct3D. Důvodem tohoto rozdělení je, že pro každý druh aplikací (z hlediska uživatelského rozhraní) se vyvíjí jiným způsobem. Jsou podporovány jiné druhy programovacích jazyků, API a frameworků pro definování uživatelského rozhraní. Ve sloupci Popis je vysvětleno kdy a za jakých podmínek je vhodné daný typ aplikace použít. Popis jednotlivých typů je v tabulce 1. Typ Popis Podporovaný UI Podporované API aplikace jazyk Framework XAML Nejvíce používaný typ aplikací pro C# XAML Microsoft.NET Windows Phone 8. Tyto aplikace jsou napsány pouze za pomoci XAML a řízeného kódu. Visual Basic Windows Phone API WinPRT API Smíšený Tyto aplikace vycházejí ze struktury C# XAML Microsoft.NET mód XAML aplikací, ale dovolují začlenění nativního kódu zabaleného v WinPRT komponentě. Tyto aplikace se velice hodí, pokud vývojář chce opětovně využít nativní knihovny, nežli přepisovat Visual Basic C/C++ Direct3D (skrze Drawing Surface) Windows Phone API WinPRT API Win 32/COM API (s komponentami WinPRT) nativní kód. Tento typ aplikace je velice vhodný v případech, ve kterých vývojář chce psát většinu aplikace v nativním kódu (včetně Direct3D), ale také potřebuje přístup k XAML

23 2 Platforma Windows Phone 8 Strana 15 UI kvůli prvkům, které jsou dostupné pouze za pomoci XAML(tím je například animace živé dlaždice na hlavní obrazovce) Direct3D Tento typ aplikací se nejlépe hodí pro tvorbu her. Využití Direct3D nabízí největší možnost vytěžovaní hardwaru telefonu. Jelikož jsou tyto aplikace založeny na Windows app modelu, tak nabízejí největší stupeň sdílení kódu mezi Windows a Windows Phone C/C++ Direct3D WinPRT API Win32/COM API Tabulka 1: Typy aplikací [13] Následující kapitoly se věnují návrhu aplikací typu XAML. Je to z několika důvodů: XAML druh je nejvíce používaný při vývoji aplikací určených pro WP8 Pro ostatní druhy aplikací je nutné znát velké množství dodatečných informací, které svým rozsahem překračují možnosti této práce. V XAML aplikacích lze použít další technologie, které napomáhají sdílení kódu při vývoji aplikací pro více platforem (těmto technologiím se podrobněji věnuje kapitola 4). Aplikace lze velice jednoduše lokalizovat do různých jazyků Windows Presentation Foundation (WPF) Windows Presentation Foundation je prezentační systém pro tvorbu Windows, Windows Phone nebo webových aplikací zaměřených na velký uživatelský prožitek [16]. WPF je podmnožinou frameworku 9.NET od verze 3.0. Technologie WPF je implementována do systémů Windows (Xp SP2, Vista, 7, 8), Windows Server (2003 R2, 2008, 2012) a Windows Phone (7 a 8). Cílem bylo sjednotit uživatelské rozhraní, 2D a 3D grafiku, vektorovou a rastrovou grafiku, animace, audio a video [17].WPF dává přednost používání vektorové grafiky, tím pádem jsou objekty vykreslovány stejně ostře při zobrazení na malých přenosných zařízeních, jako i na velkých obrazovkách či promítacích plátnech. 9 Framework je softwarová struktura, která slouží jako podpora při programování a vývoji a organizaci jiných softwarových projektů. Může obsahovat podpůrné programy, knihovny API, podporu pro návrhové vzory nebo doporučené postupy při vývoji. [30]

24 2 Platforma Windows Phone 8 Strana 16 Technologie WPF je postavena nad Direct3D 10 API. To znamená, že obsah (může to být jak 2D tak 3D) v aplikacích napsaných pomocí WPF se konvertuje do 3D trojúhelníků, textur a jiných Direct3D objektů, které jsou následně vykresleny hardwarem. WPF aplikace získávají díky hardwarové akceleraci velkou výhodu v rychlejším zpracování a jemnějším grafickém výstupu. Toto je dosáhnuto tím, že je vytěžována GPU 11 namísto CPU 12. Zároveň je WPF připraveno fungovat i bez grafické karty, tedy vykreslovat grafiku softwarově (pomocí CPU). V případě, kdy je grafická karta zastaralá nebo pokud jí dojdou volné zdroje, automaticky se spustí záložní mechanismus, který přepne na softwarové vykreslování Extensible Application Markup Language 13 (XAML) Extensible Application Markup Language (XAML) je jádrem definice uživatelského rozhraní pro aplikace napsané v jazycích založených na frameworku.net.xaml popisuje UI jako stromovou strukturu souvisejících prvků. Data v jazyku XAML jsou perzistentní. Za převádění zápisu ve formátu stromu XAML elementů do instancí NET tříd se stará XAML Parser. V deklaraci můžeme zapsat kterýkoliv platný objekt patřící do frameworku.net [18]. XAML v současnosti existuje ve čtyřech verzích (čerpáno ze zdroje [18]): WPF Windows Presentation foundation XPS používaný v produktech MS Office Silverlight aplikace běžící v rámci webového prohlížeče WF (Windows workflow foundation) tvorba aplikací založených na workflow Struktura XAML Jakým způsobem probíhá zápis jazyka XAML bude znázorněno na následujícím příkladu, který je zobrazen v obrázku 6. Zároveň je zde zobrazen zápis identického prvku pomocí jazyka C#. 10 Je součástí DirectX API. Je dostupný pro systémy Windows 95 a novější a jiné platformy prostřednictvím open source softwaru Wine[32]. 11 Grafická karta (Graphic processing unit) 12 Procesor (Central processing unit) 13 Tento termín se používá převážné ve formě zkratky XAML. Do češtiny ho lze přeložit jako Rozšiřitelný značkovací jazyk pro aplikace.

25 2 Platforma Windows Phone 8 Strana 17 Obrázek 6: Deklarace UI XAML a C# [19] V obou případech je vytvořen objekt typu tlačítko (button), který má barvu světle šedou, nápis I am a Button a šířku 100px. Z tohoto příkladu lze vidět, že XAML je postaven na bázi jazyka XML 14 [20]. Dokumenty, ve kterých je XAML kód, jsou ukládány ve formátu jméno_souboru.xaml. Za běhu je renderován strom objektů z XAML souboru, který následně vytváří uživatelské rozhraní. XAML sám o sobě pouze abstraktně popisuje objekty. To umožňuje popisovat uživatelské rozhraní v různých jazycích založených na frameworku.net. Zároveň XAML odděluje vytváření uživatelského rozhraní od tvorby business logiky aplikace [19]. Hlavním rozdílem a výhodou použití XAML, oproti deklarování uživatelského rozhraní v kódu aplikace je rozdíl v procesu vytváření uživatelského rozhraní. V případě, kdy je uživatelské rozhraní definováno přímo v kódu, je vykreslování prováděno až za běhu. Naopak při definování UI v XAML je již za běhu kód načtený, tím pádem se pouze zobrazí [19]. Aby bylo možné definovat XAML prvky určené pro Windows Phone 8, je nutno namapovat XML jmenný prostor. Pro systém WP8 je možno použít jmenné prostory [21]: Microsoft.Phone.Controls obsahuje ovládací prvky pro WP8 Microsoft.Phone.Shell obsahuje ovládací prvky pro WP8 System.Windows.Control obsahuje ovládací prvky pro Windows 8 a sdílené prvky pro WP8 14 Je zkratka pro rozšiřitelný značkovací jazyk Extensible markup language

26 3 Vývoj aplikací pro Windows Phone 8 Strana 18 3 Vývoj aplikací pro Windows Phone 8 V této kapitole je popsáno, jak se navrhuje a tvoří uživatelské rozhraní v XAML aplikacích pro Windows Phone 8. Nejprve je popsáno, jaké nástroje jsou k navrhování zapotřebí, jaké minimální požadavky tyto nástroje potřebují, a kde se dají získat. Další část se zabývá hlavními ovládacími prvky, které jsou v aplikacích dostupné a šablonami rozložení WP8 aplikací. V dalších částech je popsáno, jak se v aplikacích zajišťuje zobrazení: pro různé rozlišení displejů, orientaci displeje nebo rozložení ovládacích prvků. 3.1 Vývojové nástroje pro Windows Phone 8 Veškeré vývojové nástroje je možné stáhnout na stránkách Windows phone developer center nacházející se na Zde je možné zdarma stáhnout Windows Phone SDK 15, které obsahuje prostředí pro vývoj WP8 a WP7.5 aplikací. Součástí SDK je samostatná instalace Visual Studio Express 2012 edice pro Windows Phone, která zároveň funguje jako doplněk (pokud uživatel již má nainstalovanou některou z následující verzi) pro Visual Studio 2012 Profesional, Premium nebo Ultimate. Windows Phone 8 aplikace lze vyvíjet pouze v prostředí Visual Studio 2012 [22]. Hardwarové a softwarové požadavky pro Visual Studio 2012 jsou zobrazeny v tabulce Kategorie Požadavky Operační systém Hardware Windows Phone emulátor 16 - Windows 8 64-bit - 8 GB volného místa na disku - 4 GB RAM - doporučeny - Windows 8 v edici Professional a vyšší (tyto verze obsahují klienta pro Hyper-V 17 ) - Procesor musí podporovat technologii SLAT 18 a virtualizace Tabulka 2: Požadavky pro Virtual Studio 2012 [23] V případě, že počítač vývojáře splní první dvě kategorie požadavků, může na něj být nainstalováno Visual Studio Tím pádem je vývojář schopný i vyvíjet aplikace. Windows Phone emulátor virtualizuje systém WP8 ve Visual Studiu. Díky tomu je možné každý pokrok v aplikaci vyzkoušet aniž by se musela aplikace nahrávat do mobilního zařízení. To se 15 SDK je zkratkou pro software development kit (sada nástrojů pro vývoj) 16 Emulátor 17 Hyper-V je virtualizační platforma 18 SLAT je zkratkou pro Second Leve laddress Translation (překlad adres druhé úrovně)

27 3 Vývoj aplikací pro Windows Phone 8 Strana 19 převážně vyplatí v raných fázích vývoje aplikací, kdy se píše respektive testuje hlavní funkcionalita aplikace. Virtualizované prostředí systému WP8 poskytuje vývojáři téměř plnou funkcionalitu při testování jako v systému WP8 přímo na mobilním telefonu. Proto je velice přínosné, aby WP emulátor byl ve Visual Studio funkční. Funkce virtualizace se u procesoru zapíná přímo v nastavení BIOS. Velký problém je s technologií SLAT. Pokud jí procesor nepodporuje nelze to nijak obejít. Tuto technologii podporuje většina produktové řady Core i procesorů od společnosti Intel. Procesory od společnosti AMD ji podporují (ne všechny)od třetí generace procesorů Opteron. Existuje velice jednoduchý způsob jak zjistit, zda procesor tuto technologii podporuje. Je zapotřebí si pouze stáhnout program CoreInfo na adrese Poté stačí zadat v příkazovém řádku příkaz coreinfo v. Pokud je v následujícím výpisu vedle hodnoty EPT znak *, tak procesor technologii SLAT podporuje a v případě kdy je zobrazen znak -, tak je technologie nepodporována [23]. Zde je seznam všech možností a omezení emulátoru WP8, na které jsem přišel při používání emulátoru: Nemohou se nasimulovat příchozí či odchozí hovory a SMS zprávy Jsou dostupné všechny aplikace Aplikace mapy má podklad z Bing Maps nikoliv z Nokia HERE Map Je možné používat připojení k internetu, pokud je k němu připojen i počítač, na kterém je WP8 virtualizováno Je možno nasimulovat natočení stroje pomocí akcelometru Je možno nasimulovat geolokalizaci Nelze reálně nasimulovat focení. Na obrazovce se pouze zobrazí pohybující barevný čtverec, který mění barvy. Avšak tento čtverec lze vyfotit a uložit. V případě, kdy vývojář nemůže testovat aplikace v emulátoru nebo potřebuje vyzkoušet reálnou funkčnost v zařízení na kterém je WP8, musí použít pouze zařízení (mobilní telefon s WP8), která jsou odemčená. Pro odemknutí zařízení potřebuje mít vývojář vývojářský účet (Developer Account). Tento účet může získat pokud: Je předplatitel služby MSDN Je předplatitel služby Dreamspark. Do této služby se může přihlásit jakýkoliv student pomocí karty ISIC nebo pomocí školního předplatného (pokud má škola smlouvu s Microsoftem) Nebo zaplacení ročního poplatku pro samostatné vývojáře ve výši 99$.

28 3 Vývoj aplikací pro Windows Phone 8 Strana 20 Registrace vývojářského účtu se provádí skrze stránky Windows Phone developer center nebo přes stránky Dreamspark na Pro každý vývojářský účet mohou být otevřeny maximálně tři zařízení. Na obrázku je zobrazen emulátor prostředí WP8 s otevřeným internetovým prohlížečem a nástroj pro simulaci geolokalizace. Obrázek 7: Emulátor Windows Phone 3.2 Šablony XAML aplikací pro WP8 XAML aplikace v systému WP8 mohou být zobrazeny pomocí tří šablon 19 : Panorama, Pivot nebo Portrét. Každá z těchto šablon má své specifické vlastnosti zobrazení i způsob definování). Před tím než jsou vysvětleny rozdíly (ve způsobu zobrazení nebo definování) mezi jednotlivými šablonami, je popsáno, jak se definuje aplikační stránka a její ovládací prvky Aplikační stránka 20 a ovládací prvky V této části jsou popsány XAML prvky, které se vyskytují pouze při vývoji aplikací pro WP8. Nebude zde popsáno jak vytvořit obecné ovládací prvky jako je: tlačítko, výběrové tlačítko, textová pole a jiná. Pro podrobnější informace týkající se tvorby v XAML doporučuji bakalářskou práci Lukáše Vaise na téma Framework WPF. 19 Pojem šablona jsem převzal z Visual Studia 2012, kdy při vytváření nového projektu/řešení si WP8 vývojář může vybrat z několika template - tedy šablon. 20 Překlad pojmu ApplicationPage

29 3 Vývoj aplikací pro Windows Phone 8 Strana 21 Každá aplikace musí mít definovaný kořenový element PhoneApplicationPage. V tomto elementu se pomocí atributů definují následující vlastnosti: jmenné prostory rodina fontů použitých v aplikaci - atribut FontFamily velikost fontů - atribut FontSize pozadí aplikace - atribut Foreground podporovaná orientace obrazu - atribut SupportedOrientations zobrazení systémové lišty - atribut SystemTray.IsVisible definice cesty ke třídě a jejího názvu za účelem propojení XAML třídy a kódu v pozadí 21 - atribut Class a jiné například definování cesty k datům určeným pro cvičné pouze pro designování 22 Do atributu PhoneApplicationPage je vždy vnořen element Grid s atributem Name= LayoutRoot. Pojmenování LayoutRoot označuje, že všechen obsah stránky je vložen do tohoto elementu. Dalším atributem, který se velice často používá v aplikacích je LongListSelector. To jest dlouhý výběrový seznam, který obsahuje jednotlivé položky tvořené atributem LongListSelector.ItemTemplate. Dlouhý výběrový seznam je zmíněn v této části, jelikož je používán velice často pro zobrazení obsahu či další navigaci v rámci aplikace. Posledním důležitým atributem je ApplicationBar. Tento element definuje aplikační menu, do kterého se vkládají elementy ApplicationBarIconButton, které definují jednotlivá ovládací tlačítka. Ovládací tlačítka v aplikační liště mohou být maximálně čtyři. Na obrázku Obrázek 8: Ovládací prvky je zobrazen design aplikace s právě popsanými prvky: PhoneApplicationPage(se zobrazenou systémovou lištou SystemTray), LongListSelectora ApplicationBar. 21 Kódem v pozadí je myšlen obslužný kód psaný v C#, který se vytváří pro každý XAML dokument. V angličtině je používán termín code-behind. 22 Tím jsou na mysli data, která se používají pro cvičné vyplňování: názvů, textů, odkazů, obrázků, aj. při vývoji aplikací. V angličtině se používá pojem design time data.

30 3 Vývoj aplikací pro Windows Phone 8 Strana 22 Obrázek 8: Ovládací prvky Design aplikace z obrázku Obrázek 8: Ovládací prvky je definován pomocí XAML kódů ve výpisu kódu 1. Všechny jmenné prostory, které jsou definovány v elementu PhoneApplicationPage jsou vytvářeny standardně při vytvoření každé nové šablony. Atribut Class určuje umístění v hierarchii projektu a text za poslední tečkou určuje jméno třídy s kódem XAML (V tomto případě se stránka jmenuje MainPage a je uložena přímo v kořenu projektu). Atribut DataContext určuje cestu k datům, která jsou určená pro vývoj (design-time data) v tomto případě jsou uložena ve složce SampleData v dokumentu MainViewModelSampleData.xaml. Atributy FontFamily, FontSize a Foreground jsou nastaveny na statické zdroje StaticResource definuje, že hodnoty písma nebo popředí jsou spojeny s nastavením systému. Tím pádem pokud uživatel změní v systému velikost nebo barvu písma, tak se při použití StatiResource změní hodnoty použití ve vyvíjené aplikaci. Stejné pravidlo platí i pro popředí.

31 3 Vývoj aplikací pro Windows Phone 8 Strana 23 XAML Výpis kódu 1: Definování aplikační stránky s hlavními prvky Atribut SupportedOrientations určuje, že podporované zobrazení je výšku (Portrait 24 ). Atribut Orientation určuje jak je aplikace zobrazena po spuštění v případě kdy je podporováno dvojí zobrazení (zde znovu na výšku). Posledním elementem SystemTray je nastaven (True), tím pádem se zobrazí systémová lišta. V dalším elementu PhoneApplicationPage.ApplicationBar, jenž definuje aplikační menu, jsou vloženy tři elementy ApplicationBarIconButton. Pomocí kterých jsou zobrazena tři tlačítka v aplikačním menu. Pomocí atributů u elementu ApplicationBarIconButton se definuje cesta k ikoně (IconUri), zda je tlačítko možno zmáčknout (IsEnabled) a název tlačítka (Text). 24 Element SupportedOrientation může nabývat ještě hodnot Landscape (na šířku) nebo PortraitOrLandscape (možné aplikaci zobrazit jak na výšku, tak na šířku)

32 3 Vývoj aplikací pro Windows Phone 8 Strana 24 Dále je již definováno přímo zobrazování obsahu aplikace pomocí elementů, které jsou vnořeny do elementu Grid (s atributem Name rovným LayoutRoot jinak by to byl pouze element pro definování tabulky). Dále všechna data jsou obaleny do elementu LongListSelector. Zdroj dat pro položky v dlouhém seznamu je určen pomocí atributu ItemSource={ Binding Items }. Díky tomuto atributu jsou jednotlivé položky svázány s elementy Items které se nachází v dokumentu MainViewModelSampleData.xaml. Pomocí atributu SelectionChanged je možno provést akci při změně položky v dlouhém výběrovém seznamu. Každá položka (LongListSelector.ItemTemplate) v dlouhém výběrovém seznamu je složena ze dvou textových polí (TextBlock). Tyto textová pole jsou svázána s prvky LineOne respektive LineTwo jenž jsou atributy elementu Items Šablona Pivot Dle mé osobní zkušenosti s aplikacemi pro WP8 je okolo poloviny XAML aplikací vyvinuto za použití šablony pivot. Tato šablona zobrazuje aplikace jako oddělené stránky mezi, kterými je možno přesouvat pohybem do stran. Tyto stránky se za sebou řadí dokola. Z poslední stránky je možno se přesunout na první a naopak. Šablona pivot se deklaruje pomocí elementu Pivot. Do tohoto elementu se vkládá atribut Title, kterým se definuje nadpis aplikace. Do elementu Pivot se vkládají elementy PivotItem pomocí kterých se definují jednotlivé stránky v aplikaci. Elementy PivotItem mají atribut Header jenž definuje nadpis jednotlivé stránky. Příklad aplikace se dvěma stránkami je na obrázku 9 a zdrojový kód k této aplikaci zúžený pouze na obsah elementu Grid, tedy na samotnou definici pivot šablony je zobrazen ve výpisu kódu 2.

33 3 Vývoj aplikací pro Windows Phone 8 Strana 25 XAML Obrázek 9: Pivot aplikace Výpis kódu 2: Pivot šablona Šablona Panorama Tento druh šablony je vzdáleně podobný pivot šabloně. Stejně jako v minulém případě je aplikace rozdělena na několik stránek, mezi kterými je možno cyklicky listovat. Změnou je, že pozadí aplikace je jeden obdélníkový (panorama) obrázek, který se při listování stránkami posouvá. Další změnou je, že ovládací prvky mohou zasahovat do více stránek na jednou. U Pivot aplikací je jedna stránka aplikace velká, tak aby vyplnila displej. U panorama aplikací se mohou prvky v rámci jedné stránky naskládat tak vedle sebe, že přesahují displejem zobrazovanou plochu. Uživatel si zobrazuje prvky, které nejsou aktuálně zobrazené pomocí horizontálního posunutí obrazovky. Ukázka panorama aplikace je na obrázku 10. Tato šablona se definuje pomocí elementu Panorama. V tomto elementu se pomocí atributu Title, definuje název aplikace. Do atributu Panorama jsou vnořeny elementy Panorama.Background a PanoramaItem. Pomocí elementu Panorama.Background se definuje v aplikaci pozadí. Elementy PanoramaItem vytvářejí v aplikaci jednotlivé stránky. Tento element zároveň obsahuje atribut Header, kterým se definuje název jednotlivé stránky. Příklad definování panorama šablony pomocí XAML je zobrazen ve výpisu kódu 3. Z důvodů zkrácení zápisu XAML výpisů je znovu uváděn zápis kódu pouze pro jednu stránku a od elementu Grid (s atributem LayoutRoot).

34 3 Vývoj aplikací pro Windows Phone 8 Strana 26 XAML Obrázek 10: Panorama šablona [24] Výpis kódu 3: Panorama šablona

35 3 Vývoj aplikací pro Windows Phone 8 Strana Šablona Portrét Tento druh šablony je z výše zmíněných nejjednodušší. Zobrazuje se pouze jedna stránka, na kterou je možno vkládat přímo prvky. Tedy veškeré ovládací prvky (z pohledu jazyka XAML elementy) jsou vkládány přímo do elementu Grid (s atributem LayoutRoot). Vzhledem k předchozímu definování způsobu zápisu aplikační stránky a ostatních šablon, považuji ukázku XAML kódu pro šablonu Portrét za zbytečnou. 3.3 Rotace zobrazení V případě, kdy je možno aplikaci zobrazit jak na výšku, tak na šířku, nastává problém s rozložením prvků na aplikační stránce. Jelikož nastavení, které se zdá esteticky a účelově dobré pro zobrazení na výšku, nemusí být vždy ideální pro zobrazení na šířku. Praktický příklad optimalizovaného zobrazení je na obrázku 11. V tomto obrázku lze na první pohled poznat, že zobrazení aplikace na výšku a na šířku nejsou identická. Zobrazení aplikace na šířku je upraveno tak, aby lépe využívalo celý prostor aplikační stránky. Toto automatické přeskupení zobrazení lze snadno dosáhnout malými úpravami XAML a připsáním odpovídajícího obslužného kódu v C#. Aby bylo možno prvky takto přesouvat musejí být všechny vloženy do tabulky (respektive do některého řádku a sloupce v ní). Obrázek 11: Optimalizace zobrazení

36 3 Vývoj aplikací pro Windows Phone 8 Strana 28 Jak již bylo řečeno v kapitole Aplikační stránka a ovládací prvky, tabulka se definuje za pomocí elementu Grid. Do tabulky se vkládají řádky a sloupce za pomocí elementů Grid.RowDefinition a Grid.ColumnDefinition. Do těchto elementů se vkládají přímo již jednotlivé sloupce či řádky prostřednictvím elementů RowDefinition nebo CulumnDefinition. Sloupce i řádky jsou v XAML jsou číslovány od nuly. Pokud se například nadefinují tři elementy RowDefinition, budou jednotlivé řady číslovány 0,1,2. Elementům řádku a sloupce je nutno nastavit velikost. V případě RowDefinition existuje atribut Height a pro atribut ColumnDefinition existuje atribut Width. U těchto atributů je možno udávat velikost v absolutních hodnotách (pixelech) nebo za použití hodnot: auto nebo * (v angličtině se používá pojem aterisk ). Díky hodnotám auto a * je možno upravovat velikost (zobrazení) tabulky tak, aby byla aplikace optimalizovaná pro obě zobrazení. Hodnota auto roztáhne sloupec či řádek podle velikosti obsahu, který je vložen do aktuální buňky v tabulce. Pokud v daném sloupci (řádku) není nic vloženo, tak je hodnota nastavena na nulovou velikost. Hodnota * v definici velikosti určuje sloupci (řádku), aby se roztáhl do maximální velikosti volného prostoru. Ve výpisech kódu 4 a 5 je zobrazen kód pomocí, kterého se zajistí změna zobrazení aplikace uvedené v obrázku 11. XAML Výpis kódu 4: XAML definice pro optimalizaci rozložení Ve Výpisu kódu 4 je příklad toho jak se vytvoří tabulka se dvěma řádky a sloupci. Dále je vytvořen obrázek (element Image) a panel (element StackPanel), který obsahuje čtyři tlačítka (element Button). Pro změnu rozložení prvků je nutné u elementů Image a StackPanel definovat jejich název (atribut Name), aby se na ně bylo možné odkazovat z obslužného kódu a zároveň definovat jejich

37 3 Vývoj aplikací pro Windows Phone 8 Strana 29 standartní pozici v tabulce za pomocí atributů Grid.Row (nastavení řádků v tabulce) a Grid.Column (nastavení sloupce v tabulce). C# Výpis kódu 5: C# kód v pozadí pro optimalizaci obsahu Výpis kódu 5 zobrazuje, jakým způsobem se zajistí změna rozložení pomocí C# kódů. Při každé změně orientace displeje se zavolá metoda PhoneApplicationPage_OrientationChanged, která následně zavolá metodu ZmenaPozice(), jenž zjistí, zda je orientace displeje horizontálně. Pokud ano, tak XAML element pojmenovaný buttomlist (v tomto případě je to panel s tlačítky) změní pozici na řadu 0 a sloupec 1. Pokud je displej vertikálně, tak se bottomlist vrátí na standartní pozici, tedy řádek 1 a sloupec 0.

38 4 Vývoj aplikace pro běh na Windows Phone 8 i Windows 8 Strana 30 4 Vývoj aplikace pro běh na Windows Phone 8 i Windows 8 Jak již bylo zmíněno v předchozích kapitolách, aplikace, které jsou vyvíjeny pro WP8, lze velice snadno předělat, tak aby byly spustitelné i na Windows 8. Tato kapitola je nejprve zaměřena na rozdíly mezi oběma systémy. Následují podobnosti mezi těmito systémy. V poslední části je vysvětleno, za pomocí jakých technik lze efektivně navrhovat aplikace pro oba systémy. Nejprve je nutno vysvětlit, pro jaký druh aplikací je tento společný vývoj možný. Jsou jimi pouze takzvané Windows Store aplikace (v případě Windows 8) či Windows Phone Store aplikace (v případě Windows Phone 8). Tento druh aplikací není možno získat jiným způsobem nežli přes digitální distribuční platformu Window Store (nebo Windows Phone Store). 4.1 Rozdíly systému WP8 a W8 z hlediska uživatelského prožitku Před tím než bude možno začít vytvářet aplikace, je nutné si uvědomit rozdíly mezi jednotlivými systémy. Zařízení s WP8 aw8 jsou stavěny s jinými profilovými faktory (form factors 25 ). V tabulce 3 je znázorněno, jaké jsou rozdíly mezi profilovými faktory. Windows 8 Windows Phone 8 Rozlišení displeje 1024x768 a více 800x480, 1280x720, 1280x768 Druhy zobrazení aplikací Na výšku, na šířku (standartní), Přichycený, Vyplněný Na výšku (standartní), na šířku Velikost displeje 10 palců a více Menší než 5 palců Hlavní obrazovka Tabulka 3: Rozdíly dle profilových faktorů mezi W8 a WP8 [25] 25 Profilový faktor (form faktor) vyjadřuje tvar, velikost a fyzické uspořádání zařízení. Do profilového faktoru se síle řadí vlastnosti jako pozice, ve které se standardně zařízení drží (používá), uspořádání klávesnice a jiné.

39 4 Vývoj aplikace pro běh na Windows Phone 8 i Windows 8 Strana 31 Zároveň je nutno vzít v potaz, že oba dva systémy mají rozdílný uživatelský prožitek (UX) daný již z podstaty systému. Tento rozdíl je zapříčiněn faktem, že systém Windows 8 nemá úzce specifikovány parametry (oproti systému Windows Phone 8) na zařízení, které ho používají. Výrobci zařízení s Windows 8 tak získávají velký prostor pro různé modifikace a úpravy. Další velký rozdíl v uživatelském prožitku plyne z velikosti displeje na zařízeních s Windows 8 může být zobrazeno najednou mnohem více informací než v případě Windows Phone 8. Všechny rozdíly mezi oběma systémy z hlediska uživatelského prožitku jsou sepsány v tabulce 4. Windows 8 Windows Phone 8 Zařízení mohou mít rozdílné tvary i ovládání. Mohou se ovládat: dotykem, klávesnicí, myší či kombinací těchto metod. Ve většině případů se zařízení ovládají oběma rukama. Zařízení je možno ovládat pouze pomocí dotyků. Zpravidla ho uživatel ovládá jednou rukou. U těchto zařízení není zajištěna minimální hardwarová výbava. Je zaručeno, že bude vždy určitá hardwarová výbava. Aplikace mohou obsahovat více sloupců na jedné stránce. Prvky na jedné stránce aplikace jsou ve formě jednoho dlouhého výběrového seznamu. V aplikační liště může být téměř neomezený počet prvků. Systémová lišta může obsahovat pouze čtyři prvky. Neexistuje hardwarové tlačítko zpět Je vždy dostupné hardwarové tlačítko zpět Tabulka 4: Rozdělení systémů W8 a WP8 dle UX Vzhledem k rozdílům v uživatelském prožitku, které vycházejí z jiných profilových faktorů systémů Windows 8 a Windows Phone 8 není doporučeno, aby se při vývoji aplikací určených pro oba dva systémy používal jeden dokument (XAML) pro definování uživatelského rozhraní obou systémů. Z tohoto vyplívá, že při tvorbě aplikace cílené jak na Windows 8 tak na Windows Phone 8 je nutno vytvořit dva XAML dokumenty zvlášť pro každý systém. Další faktory, díky kterým není doporučováno opětovné použití XAML, jsou [25]: rozdíly ve jmenných prostorech rozdílné ovládací prvky rozdílné šablony aplikací

40 4 Vývoj aplikace pro běh na Windows Phone 8 i Windows 8 Strana Platformově specifické prvky Rozdíly mezi systémy existují nejenom z hlediska uživatelského prožitku (UX) a uživatelského rozhraní (UI), ale existují takzvaně platformově specifické (platform specific) prvky. Těmito prvky jsou myšleny funkce systémů, které na obou systémech provádějí podobnou či identickou činnost, ale pro jejich použití je nutno použít jiné API a způsob zápisu popřípadě definování. V systému Windows 8 a Windows Phone 8 jsou jinak definovány následující funkce [25]: Živé dlaždice Notifikace Ukládání nastavení aplikace Síťové připojení Práce na pozadí aplikace Záznam médií Funkce, které jsou vypsány v předchozím seznamu, je tedy nutno vždy definovat pro každý systém (W8 a WP8) zvlášť. Není možné v žádném případě použít stejný kód pro obsluhu stejné události na obou systémech. Při návrhu aplikací je tedy nutno vzít v potaz tyto platformově specifické prvky a napsat kód zvlášť pro každý systém za pomocí technik, které jsou vysvětleny dále v této kapitole. Dodatečné informace týkající se změn v jednotlivých částech kódu lze nalézt na stránkách Microsoft developer network. Zde je konkrétní odkaz: Rozdíly v životním cyklu aplikací v systémech WP8 a W8 V kapitole 2.3 Životní cyklus aplikací v systému Windows Phone 8 je vysvětleno, jak probíhá životní cyklus aplikace v WP8. Pro obě dvě platformy platí, že pouze aktivní aplikace může zpracovávat kód. Podle stavu aplikace (myšleno v rámci životního cyklu) systém určuje, zda je možné aplikaci odebrat systémové prostředky (operační paměť), pokud docházejí [25].Na obrázku 12. je zobrazen rozdíl mezi životními cykly aplikací na systémech WP8 a W8.

41 4 Vývoj aplikace pro běh na Windows Phone 8 i Windows 8 Strana 33 Obrázek 12: Porovnání životních cyklů na WP8 a W8 [25] Obrázek 12 zobrazuje, že aplikace v systému W8 nemají stav pohřbeno (Tombstoned). Dále stav uspaná (Dormant) je v systému W8 přejmenován na pozastaveno (Suspended). Stejně tak jsou změněny názvy procesů, které mění stav aplikace. Z rozdílného životního cyklu aplikací na platformách Windows 8 a Windows Phone 8 plyne, že se vývojáři aplikací musí vypořádat s událostmi, které nastávají na obou systémech. Kdyby tak neučinili, tak by například nebyla, při změně stavu aplikace načtena respektive uložena data do perzistentní paměti. Což by vedlo ke špatné využitelnosti aplikace. Události, které je nutno ošetřit, jsou v následujícím seznamu: Windows Phone 8 (události se nachází v balíčku System.Windows.Application): o Application_Launching při spuštění aplikace o Application_Activated při aktivování aplikace ze stavu uspaná a pohřbeno o Application_Deactivated při deaktivování aplikace ze stavu běžící o Application_Closing při ukončování aplikace ze stavu pohřbeno Windows 8 (události se nacházejí v balíčku Windows.UI.Xaml.Application) o OnLaunched při spouštění aplikace o Resuming při přechodu ze stavu pozastaveno do stavu běžící o Suspending při přechodu ze stavu běžící do stavu pozastaveno

42 4 Vývoj aplikace pro běh na Windows Phone 8 i Windows 8 Strana Data binding Při tvorbě aplikací určených pro systém Windows Phone 8 a zároveň Windows 8 je nutno se vyhnout psaní obslužného kódu, který synchronizuje datový model přímo se specifickým XAML dokumentem. Lze vytvořit platformově (zde myšleny W8 a WP8) nezávislý proces, který propojuje datový model 26 přímo s prezentací dat. Tento proces se nazývá Data binding. Pojem Data binding lze do češtiny přeložit jako datová vazba [20]. Datová vazba je proces, ve kterém aplikace vytváří propojení mezi elementy uživatelského rozhraní a daty. Používání datových vazeb odděluje zobrazování dat od manipulace s nimi. Proces datového vázání udržuje spojení tak, aby byl dopad do kódu aplikace minimální. Zároveň zajišťuje automatické aktualizace odpovídajících hodnot, pokud se změní data, ať to je v UI nebo kdekoliv jinde. Tuto technologii podporuje většina Jazyků z frameworku.net (Windows Forms, ASP.NET), ale pro jazyk XAML to je klíčová funkcionalita, díky které zajišťuje zvládání operací v aplikacích [19]. Pro vytvoření datové vazby je nutno určit nejprve zdroj vazby, tím může být.net element, XML soubor, databáze nebo data z webové služby. Zdroj datové vazby musí mít implementované rozhraní INotifyPropertyChanged. Dále je nutné vytvořit spojení mezi business logikou a UI aplikace. Datová vazba je tímto spojením. Cílový element datové vazby zobrazuje a zároveň umožňuje měnit data (zdroj datové vazby). Cílovým elementem může být: Textbox, Listbox, Radiobutton, Checkbox, aj. Prvky cíle datové vazby musejí mít definován, při použití v rámci vývoje pro Windows Phone 8, jeden ze tří módů - více v tabulce 5. Mód Popis OneWay TwoWay OneTime Tento mód způsobí, že se v případě změny zdroje datové vazby automaticky aktualizuje i cíl datové vazby. Opačným směrem to, ale nefunguje. V tomto případě se jakákoliv změna jak v cíli či zdroji datové vazby, promítne i na druhé straně Tento mód nechá jedinkrát aktualizovat cílový prvek při změně zdrojového prvku. Všechny následné změny zdrojového prvku nebudou mít žádný efekt. Tabulka 5: Módy datových vazeb [19] 26 V datovém modelu aplikací jsou uložena perzistentní data.

43 4 Vývoj aplikace pro běh na Windows Phone 8 i Windows 8 Strana Příklad vytvoření XAML elementu a vytvoření datové vazby V této části je názorný příklad toho, jak lze pomocí jazyka XAML vytvořit textové pole, které bude svázáno s proměnou Název typu String. Ve výpisu kódu 6 je vidět zápis, který vytvoří textové pole o výšce 483 px, šířce 420, zarovnané vlevonahoru a vytvoří vazbu s cílovým prvkem Nazev. XAML element se datově sváže s proměnou pomocí atributu Binding, který následuje název proměnné (v tomto případě je pojmenována Název ). XAML Výpis kódu 6: XAML vytvoření textového pole Ve výpisu kódu 7 je vidět způsob zápisu, kterým se vytvoří datová vazba mezi zdrojovým a cílovým prvkem. Tato verze obslužného kódu je drobně změněna oproti verzi, která se používala pro WP 7.x. V předchozí verzi se nepoužíval atribut CallerMemberName, díky kterému není tento kód náchylný na chyby, jenž vznikají při refraktoringu názvů proměnných. Jak je vidět z výpisu kódu 7, tvorba pro jednu proměnnou je velice komplikovaná. Velké výhody začnou vznikat až při vytváření vazeb většího počtu proměnných, kdy se pouze deklarují proměnné a dopíšou se metody get a set. Zároveň je doporučováno brát tento zápis jako standardizovaný [26]. Pro vytvoření datových vazeb je nutno vytvořit obsluhu pro událost PopertyChangedEventHandler. Dále je nutné vytvořit metodu, která kontroluje, zda uvedená vlastnost UI prvků odpovídá dané hodnotě. Hodnoty se mění a cílové prvky se upozorňují pouze, když je potřeba.

44 4 Vývoj aplikace pro běh na Windows Phone 8 i Windows 8 Strana 36 C# Výpis kódu 7:Vytváření datové vazby [26] 4.5 Návrhový vzor Model-View-ViewModel Návrhový vzor identifikuje součásti programů (aplikací) jako jsou třídy, instance, jejich role a spolupráce i rozdělení odpovědnosti. Každý návrhový vzor se zaměřuje a identifikuje jinou problematiku v objektově orientovaném návrhu. Návrhový vzor je vždy popisován spolu s jeho návrhovými omezeními, důsledky a faktory jeho použití. Návrhové vzory tvoří užitečný nástroj k vytváření znovupoužitelného objektově orientovaného návrhu [27]. Návrhový vzor Model-View-ViewModel (dále MVVM) se používá při vývoji aplikací, které jsou určeny pro více platforem. Díky tomuto návrhovému vzoru je možné velice efektivně zpravovat vývoj a při tom se vyhnout chybám, které mohou vzniknout při multiplatformním vývoji. Návrhový vzor MVVM nebyl původně navržen pro využití při návrhu aplikací určených pouze pro Windows 8 nebo Windows Phone 8. Dříve se používal tento návrhový vzor při vytváření Silverlight aplikací. Až s postupem času se začal ujímat u ostatních technologií, které využívají WPF. Pro MVVM

45 4 Vývoj aplikace pro běh na Windows Phone 8 i Windows 8 Strana 37 je WPF klíčovou technologií, jelikož podstatou MVVM je oddělení prezentační vrstvy od zpracování business logiky a datové modelu. Toho je docíleno pomocí XAML a datových vazeb a ty jsou použitelné pouze u aplikací používajících framework WPF. Oddělení těchto vrstev od sebe přináší větší přehlednost a jasné vymezení pravomocí jednotlivých částí aplikace. Vzhledem k tomu, že je v tomto návrhovém vzoru oddělena prezentační vrstva od business logiky, je možno ji využít efektivně při návrhu aplikací určeným pro Windows 8 a Windows Phone 8. To vyplývá z doporučení, které je uvedeno v kapitole 4.1 konkrétně, že by se neměla mezi těmito systémy přenášet prezentační vrstva (XAML), jelikož v ní se nacházejí největší rozdíly. Naopak v datovém modelu a business logice mohou aplikace v mnohem větší míře sdílet kód, který díky tomuto návrhovému vzoru není nutno znovu psát. Z mé vlastní zkušenosti vím, že tento návrhový vzor používají velice často vývojáři pro rozsáhlé aplikace určené pouze pro jeden systém. I při velkém rozsahu aplikace dokáže totiž MVVM udržet kód aplikace čitelný a snadněji upravitelný. Tento návrhový vzor rozděluje aplikace na tři části. Aby nedošlo k nedorozumění, jednotlivé části modelu jsou vždy napsány s velkým písmenem na začátku slova [28]: Model (Model) ukládá a spravuje data aplikací. Pohled (View) definuje a zobrazuje uživatele rozhraní. Pohled nezpracovává uživatelské akce v aplikacích. Aplikace používající návrhový vzor MVVM mohou mít více Pohledů. Model pohledu (ViewModel) Nebo také prezentační model (Presentation model). V této části běží veškerá business logika celé aplikace oddělená od prezentační vrstvy (Pohled). V MVVM může mít aplikace více Modelů pohledu. Ve většině případů každý Pohled má svůj vlastní Model pohledu (nemusí platit vždy). Každá na sebe navazující část (Model Model pohledu a Pohled Model pohledu) jsou spolu pevně propojeny. Přenositelné mezi jednotlivými systémy jsou pouze části: Model a Model pohledu. Část Pohled je reprezentována XAML dokumenty, které nejsou doporučeny používat skrze obě dvě platformy. Na obrázku 13 je zobrazeno, jakým způsobem probíhá komunikace mezi jednotlivými částmi v rámci návrhového vzoru MVVM. Model je část, která je kompletně spravována. Sama neprovádí žádnou akci vůči jiným částem MVVM. Nejvíce vytěžovanou částí MVVM je Model pohledu, který čerpá či ukládá data z Modelu. Zároveň pomocí datových vazeb (Data Binding) udržuje aktualizovaná data mezi Pohledem a načtenými daty, která si drží. Pokud v Modelu pohledu nastanou určité události (events), lze poslat z Modelu pohledu do Pohledu určitá data či zprávy. V případě, kdy uživatel provede nějakou akci v Pohledu (uživatelském rozhraní), tak pohled posílá příkaz (Commands) do Modelu pohledu [28].

46 4 Vývoj aplikace pro běh na Windows Phone 8 i Windows 8 Strana 38 Obrázek 13: Architektura MVVM [28] Pro návrhový vzor MVVM je technologie datových vazeb (Data Binding) velice důležitou. Díky ní je možno [28]: ušetřit psaní opakujícího se kódu jednodušší použití unit testů Pohled a Model pohledu nezasahují do svých definic, což zabraňuje častějším pádům aplikací Příkazy v Modelu pohledu nahrazují proces zaregistrování se k určitým událostem, které se udávají v Pohledu. K tomu, aby bylo možné předávat příkazy, musí třídy Modelu pohledu implementovat rozhraní System.Windows.Input.ICommand. V Pohledu (tedy v XAML dokumentu) je nutno přidat k elementu, ke kterému se příkaz váže atribut Command [28]. Pomocí zpráv (Messages) lze posílat informace mezi objekty. Zprávy je vhodné posílat mezi Modely pohledu. Výše zmiňovaná situace nastává, když více Modelů pohledu řídí jeden Pohled. (respektive jeho část) [28]. Pro samotný návrhový vzor MVVM není vytvořena žádná nativní API, ale je možno si stáhnout mnoho open-source frameworků, které usnadňují vývoj. Nejznámější představitel MVVM LightToolkit je dostupný na stránkách [28]. Seznam výhod a nevýhod návrhového vzoru MVVM při reálném použití [28]: Výhody o Lze znovu využít Model a Model pohledu mezi více systémů o Kód má jasně definovanou strukturu o Lze testovat Model pohledu pomocí unit testů o Kód lze lehce udržovat

47 4 Vývoj aplikace pro běh na Windows Phone 8 i Windows 8 Strana 39 Nevýhody o Je nutno napsat mnoho předdefinovaného kódu o V určitých aplikacích (spíše menších typů) je použití MVVM obtížnější, než přepsání aplikace pro jinou platformu. 4.6 Techniky pro opětovné užití kódu mezi třídami aplikací Windows 8 a Windows Phone 8 za pomoci Visual Studia 2012 Za pomocí Visual Studia 2012 lze využít několik technik, které pomáhají oddělit kód, který je pro každý systém specifický nebo naopak opětovně užít kód, který je pro oba systémy stejný. Pomocí těchto technik se pracuje s kódem na úrovni business logiky a datového modelu. První technikou pro opětovné užití kódu jsou Přenositelné knihovny (portable class library). Přenositelná knihovna se vytváří za pomocí šablony (templates) projektu ve Visual Studiu 2012 [29]. Tato šablona je dostupná pouze ve verzích Visual Studia, které nejsou volně stažitelné (tedy ve všech verzích kromě express ). Při vytváření Přenositelné knihovny se určují frameworky, pro které má být knihovna určena. Proces výběru frameforku při vytváření přenositelné knihovny je zobrazen na obrázku 14. Obrázek 14: Výběr frameworku při vytváření přenositelné knihovny Vývěr frameworků omezí dostupné API v Přenositelné knihovně pouze na taková, která jsou použitelná na všech frameworcích, které byly vybrány. Čím více frameworků je vybráno, tím menší se

48 4 Vývoj aplikace pro běh na Windows Phone 8 i Windows 8 Strana 40 stává průnik API, které lze použít. Přenositelné knihovny lze vytvořit pro následující platformy: Windows, Silverlight, Windows Phone 7.x, 8 a Xbox. Ve sdílených knihovnách lze používat pouze jazyky C#, Visual Basic nebo F#. V Přenositelných knihovnách se vytváří business logika, která je na platformě nezávislá. Přenositelné knihovny je možno využívat po jejich vytvoření ve všech třídách aplikací, které používají některý z frameworků, který byl vybrán při vytváření Přenositelné knihovny. Další technikou je sdílení kódu (shared code). Tento název představuje vytvoření jednoduchého odkazu třídy, která je vytvořena v jednom z projektu a nakopírována do projektu jiného. Po vytvoření odkazu lze třídu využít ve všech projektech a zároveň při změně kódu třídy v jednom projektu se změny projeví okamžitě v ostatních projektech. Na techniku sdílení kódu navazuje technika podmíněných bloků (Conditional Blocks). Tato technika ve třídě povoluje či zamezuje zpracování určité části kódu pomocí podmíněných bloků. Tyto bloky rozlišují kód pomocí cílové platformy, pro kterou je kód určen. Podmíněný blok se vytvoří pomocí zápisu #if a konstanty, která definuje cílovou platformu. Použití podmíněného bloku v C# je zobrazeno ve výpisu kódu 8 a 9. Ve výpisu kódu 8 se v případě kompilace pro Windows 8 použije kód, který je obsažen v bloku #if a při kompilaci pro zbylé systémy se použije část v bloku #else. Ve výpisu kódu 9 je případ opačného použití, kdy je veškerý kód, který nepatří systému Windows 8 kompilován v bloku #if a kód pro systém Windows 8 je kompilován v bloku #else [30]. Zde jsou názvy konstant při použití podmíněných bloků: NETFX_CORE pro Windows 8 WINDOWS_PHONE pro Windows Phone 8 XAML C# Výpis kódu 8: Podmíněný blok XAML [30] Výpis kódu 9: Podmíněný blok C# [30] Použití sdílených bloků je nutno používat s rozmyslem. Pokud se to s použitím přežene, kód se začne stávat nečitelným. Tím pádem se stává následná úprava kódu velice náročnou a složitou. Poslední možností jak sdílet kód mezi více platformami je použití dědičnosti (Inheritance). Pro použití této techniky není zapotřebí používat přímo Visual Studio 2012, jelikož dědičnost je vlastnost jazyka C#. V této technice se platformě nespecifický kód implementuje do Nadtříd. Platformě specifický kód se může implementovat dvěma způsoby [30]:

49 4 Vývoj aplikace pro běh na Windows Phone 8 i Windows 8 Strana 41 Potomek nadtřídy implementuje platformě specifický kód Potomek nadtřídy implementuje abstraktní třídy, které poskytují platformě specifický kód Tato čtveřice technik vývojářům umožňuje na úrovni business logiky sloučit (oddělit) kód, který je platformě nezávislý (závislý). Techniky Přenositelných knihoven a Sdílení kódu umožní vytvářet kód, který se sdílí mezi třídami aplikací určených pro rozdílná zařízení, v tomto případě pro Windows 8 a Windows Phone 8. Techniky Podmíněných bloků a Dědičnosti naopak vývojářům umožňují ve třídách oddělit kód, který nelze sdílet od toho, který sdílet lze.

50 5 Použití nových technologií v aplikacích WP8 Strana 42 5 Použití nových technologií v aplikacích WP8 Tato kapitola se zabývá praktickými příklady, jak lze v aplikacích použít nové technologie, kterými jsou: NFC 27 Hlasové ovládání Mapy a geolokalizace Peněženka Vybral jsem čtveřici technologií, které jsou buď velice progresivní anebo je neposkytují všichni konkurenti na poli mobilních operačních systémů. Pro každou z těchto technologií je vytvořena vlastní aplikace, která danou technologii používá. Tyto aplikace jsou vytvořeny tak, aby vystihovaly jednoduchost, s jakou je lze vyvíjet pro systém Windows Phone 8. Nejsou cíleny pro reálné nasazení. Aby bylo možné spustit tyto aplikace na počítači, je nutné mít nainstalovaný program Visual Studio 2012 a splňovat veškeré požadavky, které jsou sepsány v kapitole 3.1. Všechny aplikace jsou přiloženy v elektronické příloze. V tištěné verzi této práce je elektronickou přílohou myšleno přiložené CD, v elektronické verzi práce jsou aplikace uloženy společně s touto prací v informačním systému. 5.1 NFC Nejprve je nutno technologii NFC představit. NFC je množina standardů pro chytré telefony, či jiná zařízení, která po přiblížení k sobě (zpravidla ne více než pár centimetrů) naváží rádiovou komunikaci. Tato komunikace slouží k bezkontaktnímu placení, výměně dat nebo k zahájení jiného druhu komunikace [31]. Díky této technologii můžou komunikovat nejenom mobilní telefony mezi sebou, ale může mobilní telefon komunikovat s nenapájenými NFC čipy, kterým se říká tagy. Přenos dat pomocí technologie NFC je omezen na 424 Kbitů za sekundu. Z důvodu, že přenos dat je ovlivněn velkou blízkostí zařízení není standardně nutná žádná autentifikace [32]. Využití NFC může být například následující [32]: Zahájení Bluetooth nebo WiFi spojení s jiným zařízením Čtení chytrých plakátů, které obsahují digitální obsah. Obsah plakátů je uložen v tagu. 27 NFC je zkratka pro Near Field Communication v překladu tato zkratka znamená komunikování s blízkým okolím.

51 5 Použití nových technologií v aplikacích WP8 Strana 43 Vyměňování elektronických vizitek Před začátkem praktické ukázky je nutno podotknout, že použití této technologie nelze nasimulovat pomocí WP8 emulátoru ve Visual Studiu Aplikace používající NFC Cílem je vytvořit jednoduchou ukázkovou aplikaci nazvanou NFC komunikátor, která mezi dvěma zařízeními vyměňuje krátké textové zprávy pomocí technologie NFC. Aplikace bude obsahovat textové pole, do kterého se napíše zpráva. Zároveň aplikace bude obsahovat čtyři tlačítka: Odebírat zprávy Zastavení odebírání zpráv Odesílání zpráv Zastavení odesílání zpráv Projekt s touto aplikací je dostupný v elektronické příloze ve složce NFC komunikátor. Aplikace NFC komunikátor obsahuje 28 jednu třídu a jedem XAML dokument: HlavniStranka.xaml v tomto dokumentu je definováno uživatelské rozhraní (zobrazené na obrázku 15) aplikace, ze kterého se provádí veškerá funkcionalita HlavniStranka.xaml.cs v této třídě je definován kód pro obsluhu dokumentu HlavniStranka.xaml (respektive je v ní definován kód celé aplikace). V diagramu 1 je zobrazen diagram tříd aplikace NFC komunikátor. Diagram 1: diagram tříd aplikace NFC komunikátor 28 Visual Studia 2012 vytváří u všech Windows Phone aplikací pomocné balíčky: Properites (nastavení), References (reference), Assets (přílohy) a Resources (zdroje). Zároveň je u každé aplikace automaticky vytvořen dokument App.xaml a třída App.xaml.cs, pomocí kterých se odchytávají události v životním cyklu aplikace.

52 5 Použití nových technologií v aplikacích WP8 Strana 44 Obrázek 15 zobrazuje, jak je definována hlavní stránka aplikace, která slouží k psaní, odesílání a přijímaní zpráv pomocí NFC. Obrázek 15: Ukázka hlavní stránky v aplikaci NFC komunikátor Pokaždé, když aplikace příjme či odešle zprávu, zobrazí se nové okno s potvrzením nebo příchozí zprávou. Při použití některých technologií nebo vlastností systému je nutno v souboru WPAppManifest.xml (soubor tzv. aplikačního manifestu) nastavit takzvané schopnosti (Capabilities) aplikace. Pokud se tyto schopnosti nenastaví, tak není možné použít API, které je definované danou schopností. V případě použití NFC je nutno zvolit ID_CAP_PROXIMITY. Pro odesílání zpráv je nutno vytvořit instanci třídy ProximityDevice, která je v balíčku Windows.Networking.Proximity. Pomocí metody ProximityDevice.GetDefault() se aktivuje standartdní NFC zařízení [33]. Dále je nutné vytvořit proměnnou datového typu long, do které se bude ukládat identifikační číslo zprávy. Nakonec se tato zpráva pošle pomocí metody PublishMessage() ze třídy ProximityDevice. Tato metoda má dva atributy typu String. První je typ zprávy a druhý je přímo její text. Typ zprávy se vytváří pro každou aplikaci, aby se mohly aplikace identifikovat, že jím byla určena. Typ zprávy musí vždy začínat identifikátorem Windows., dále již může mít libovolnou strukturu (v této aplikaci má zpráva tvar Windows.NFCTyp ). Tento kód je zobrazen ve výpisu kódu 10.

53 5 Použití nových technologií v aplikacích WP8 Strana 45 C# Výpis kódu 10: NFC - odesílání zpráv Jelikož zpráva, která je nastavena při zmáčknutí tlačítka Odesílání zpráv se odesílá po celou dobu od spuštění, je nutno umožnit i vypnutí odesílání. Toho se docílí zavoláním metody StopPublishingMessage() ze třídy ProximityDevice. Této metodě je nutné předat jako parametr id odesílané zprávy. Tento kód je zobrazen ve výpisu kódu 11. C# Výpis kódu 11: NFC - zastavení odesílání Pro přijímání zpráv je nutné provézt stejné kroky jako při jejich odesílání. Jediná změna nastává v případě volání metody pro přijmutí. Metoda SubscribeForMessage() třídy ProximityDevice přijímá zprávy pouze určitého typu, stejně jako v případě odesílání. Typ zprávy se znovu nadefinuje ve tvaru Windows. a zbytek typu (stejně jako v případě odesílání typ zprávy je Windows.NFCTyp ). Přijatá zpráva se skládá ze dvou atributů: zařízení, které zprávu odeslalo a samotné zprávy. Tento kód je zobrazen ve výpisu kódu 12.

54 5 Použití nových technologií v aplikacích WP8 Strana 46 C# Výpis kódu 12: NFC - přijímání zpráv Nakonec je nutné stejně jako v případě odesílání, ukončit přijímání zpráv pomocí metody StopSubscribtingForMessage() s parametrem ID zprávy. Tento kód je zobrazen ve výpisu kódu 13. C# Výpis kódu 13: NFC - zastavit přijímání zpráv 5.2 Hlasové ovládání Hlasové ovládání bylo již dostupné v systému Windows Phone 7.x., ve kterém bylo možno: pomocí hlasových příkazů spouštět aplikace, volat či psát kontaktům ze seznamu, hledat dotazy na internetu či diktovat SMS zprávy. Nově v systému Windows Phone 8 můžou hlasové ovládání používat i aplikace. Nyní je možné pomocí hlasových příkazů: uživateli předávat instrukce týkající se dalšího ovládání v aplikaci ovládat aplikaci hlasovými příkazy (spuštění určité části aplikace nebo funkcí) čtení textu 29, který je v aplikaci 29 Funkci čtení textu Microsoft pojmenoval Speech Synthesis. V textu bude nadále používáno čtení textu.

55 5 Použití nových technologií v aplikacích WP8 Strana 47 Funkce čtení textu, na rozdíl od rozpoznávání hlasových příkazů nepotřebuje připojení k internetu. Pokud se aplikace vyvíjí (směřují) pouze na český trh, tak se hlasové ovládání nedá uživatelsky komfortně využít. Tím je myšleno, že čeština nepatří mezi podporované jazyky s hlasovými funkcemi. Naopak pokud se vývoj směřuje do zemí, které mají jazykovou podporu, aplikace získávají velkou konkurenční výhodu. Podporovanými jazyky jsou: angličtina (britská, americká, indická), němčina, francouzština, ruština, španělština, portugalština a další (celkový počet je patnáct) Aplikace používající hlasové příkazy Cílem je vytvořit aplikaci nazvanou Hlasový ovladač, která bude spouštěna pomocí hlasu. Hlasový ovladač bude obsahovat tři stránky. Na první stránce se nachází textové pole, do kterého bude možné vepsat text. Druhá stránka obsahuje statický text. V třetí stránce je vykreslen obrázek. Více stránek je vytvořeno z důvodu, aby bylo možné vyzkoušet se navigovat pomocí hlasových příkazů na určitou stránku. Z důvodu zachování funkčnosti příkazů bude aplikace lokalizována v angličtině. Stránky s textem obsahují tlačítko, které spustí funkci čtení textu. Projekt s touto aplikací je dostupný v elektronické příloze ve složce Hlasový ovladač. Aplikace Hlasový ovladač obsahuje následující dokumenty a třídy: HlasovePrikazy.xml v tomto dokumentu jsou definovány hlasové příkazy pro spuštění aplikace VkladaniTextu.xaml definuje úvodní obrazovka aplikace, která se zobrazí po spuštění. Na této stránce se nachází textové pole, do kterého je možno napsat libovolný text, který lze následovně přečíst (pomocí tlačítka Speak ). Na každé stránce aplikace se nacházejí tři tlačítka 1, 2 a 3, pomocí kterých je možno se navigovat mezi jednotlivými stránkami VkladaniTextu.xaml.cs v této třídě je definován kód pro obsluhu dokumentu VkladaniTextu.xaml SamotnyText.xaml definuje stránku se statickým text, který je možno přečíst. Tato stránka obsahuje taktéž navigační tlačítka SamotnyText.xaml v této třídě je definován kód pro obsluhu dokumentu SamotnyText.xaml Obrazek.xaml definuje stránku, která zobrazuje pouze obrázek a navigační tlačítka Obrazek.xaml.cz v této třídě je definován kód pro obsluhu dokumentu Obrazek.xaml CteniTextu.cz tato třída zpracovává text a následně ho nechá přečíst nahlas

56 5 Použití nových technologií v aplikacích WP8 Strana 48 V diagramu 2 je zobrazen diagram tříd aplikace Hlasový ovladač. Diagram 2: diagram tříd aplikace Hlasový ovladač Obrázek 16 zobrazuje stránku, která se načte po otevření aplikace (VkladaniTextu.xaml). Do této stránky aplikace je možno vložit vlastní text, který lze přečíst nahlas. Na tuto stránku se dá navigovat pomocí tlačítka 1. Obrázek 17 zobrazuje stránku definovanou dokumentem SamotnyText.xaml. V této stránce je vložen statický text, který lze přečíst stejně jako v předchozím případě. Na tuto stránku je možno se navigovat pomocí tlačítka 2. Obrázek 18 zobrazuje stánku s obrázkem (Obrazek.xaml). Na tuto stránku je možno se navigovat pomocí tlačítka 3. Obrázek 16: Stránka aplikace definovaná dokumentem VkladaniTextu.xaml Obrázek 17: Stránka aplikace definovaná dokumentem SamotnyText.xaml Obrázek 18: Stránka aplikace definovaná dokumentem Obrazek.xaml Pokud je v aplikaci využita funkce rozpoznávání hlasu, je nutno v dokumentu WPAppManifest.xml vybrat schopnost ID_CAP_SPEECH_RECOGNITION.

57 5 Použití nových technologií v aplikacích WP8 Strana 49 Využití funkce čtení textu v aplikacích je velice jednoduché. Je zapotřebí vytvořit instanci třídy SpeechSynthesizer, která se nachází v balíčku Windows.Phone.Speech.Synthesis. U třídy SpeechSyntesizer stačí zavolat metodu SpeachTextAsync(), které se předá jako atribut text, který se má přečíst. Metoda SpeachTextAsync() je asynchronní, což je nutno při definování vzít v úvahu. Tento kód je zobrazen ve výpisu kódu 14. C# Výpis kódu 14: Čtení textu Pro spouštění určité části nebo nějaké specifické funkce aplikace se musí vytvořit VCD 30 dokument. Tento dokument je ve formě XML souboru. Aby se mohlo používat hlasové ovládání z VCD dokumentu, musí se v mobilním zařízení daná aplikace alespoň jednou spustit. VCD dokument (HlasovéPrikazy.xml) má kořenový element VoiceCommands, ve kterém se definuje jmenný prostor. Dále následuje element CommandSet,ve kterém se za pomocí atributu xml:lang definuje jazyk hlasových příkazů. Element CommandPrefix určuje slovo či slova, která spouští danou aplikaci. Do elementu Example se vkládá text, který se zobrazuje vždy při hlasovém ovládání jako nápověda. Díky elementu Feedback je možno uživateli aplikace říkat, co má dělat dále, či co se právě děje. Element Navigete po rozpoznání příkazu naviguje uživatele na určitou stránku v aplikaci. Na stránku se odkazuje pomocí atributu Target. Do elementu ListenFor se zapisují slova, pro která je příkaz určen. Hvězdička ve složených závorkách znamená, že může před či popřípadě za hledaným slovem být jakékoliv jiné. Do hranatých závorek se vkládají hledaná slova. Poslední možností je do složených závorek vložit slovo, na které je následně odkazováno v elementu PhraseList (v tomto elementu pomocí atributu Label). Díky tomuto se může hledaný výraz rozšířit o seznam slov, která 30 Zkratka pro Voice Command Definition neboli definice hlasových příkazů.

58 5 Použití nových technologií v aplikacích WP8 Strana 50 jsou v elementech Item vložených do elementu PhaseList. Výše uvedený postup je nezbytný pro vytvoření hlasového ovládání spouštění aplikace. XAML Výpis kódu 15:VLC soubor - hlasové ovládání 5.3 Mapy a geolokalizace Technologie geolokalizace byla již dostupná v systému WP7.x, kde se používala za pomoci třídy GeoCoordinateWatcher, jenž se nacházela v balíčku System.Device.Location. V systému WP8 je třída GeoCoordinateWatcher stále podporována, ale je doporučeno při vývoji WP8 aplikací používat nové geolokalizační API, které je dostupné spolu se systémem WP8 [34]. Nové geolokalizační API přináší následující výhody [34]: Je dostupné jak z ovládaného kódu tak i z nativního Vylepšené jednorázové vyhledání pozice mobilního telefonu Vylepšená schopnost průběžného sledování pozice

59 5 Použití nových technologií v aplikacích WP8 Strana 51 Velkou změnou zároveň je, že mapové podklady nejsou čerpány z Bing Mapy (mapová služba Microsoftu), ale z mapových podkladů společnosti Nokia. Tyto mapové podklady se stahují přímo do mobilního telefonu pro každou podporovanou zemi zvlášť [34]. Před zahájením návrhu aplikace je důležité ještě vysvětlit, jakým způsobem mobilní zařízení získávají informace o své pozici. Zdroje geolokalizace jsou následující tři [34]: GPS Tato je standartní technologie pro zjišťování polohy. Ze všech podporovaných technologií je nejpřesnější. Zároveň ale je nejvíce náročná na baterii, dlouho trvá prvotní zjištění aktuální polohy a uvnitř objektů se stává nepoužitelnou (není dostupný signál z družic). BTS 31 - Je systém telefonních věží, které přijímají a odesílají telefonní hovory. Mobilní telefony získávají informace o své poloze pomocí zaměření polohy pomocí několika BTS (této technologii se říká triangulace) [35]. Tato technologie není energeticky tolik náročná jako GPS a prvotní lokalizace probíhá velice rychle. Nevýhodami této technologie je malá přesnost a v případě, že je slabý telefonní signál, tak je lokalizace téměř nemožná. WiFi Geolokalizace pomocí WiFi funguje na podobném principu jako u telefonních věží. Využití této technologie pro lokalizaci je vhodné pouze v místech s velkým počtem WiFi vysílačů (tedy ve městech). Rychlost a přesnost připojení se odvíjí přímo od počtu WiFi vysílačů. Přímé ovládání technologií, které mají být použity k geolokalizaci není možné. Lze však nastavit požadovanou přesnost za pomocí metody DesiredAccuracy() ze třídy Geolocator v balíčku Windows.Devices.Geolocaton. Požadovaná přesnost nastavena na vysokou (High) tak bude s velkou pravděpodobností použita GPS. Naopak pokud je přesnost nastavena na hodnotu automatickou (Default), tak je geolokalizace optimalizována pro úsporu baterie. Ve třídě Geolocator je zároveň možné nastavit přesností geolokalizace na daný počet metrů. Toto nastavení se provede přidáním hodnoty do parametru DesiredAccurancyInMeters Aplikace používající mapu a geolokalizaci Cílem je vytvořit aplikaci pojmenovanou Kde jsem, která bude vypisovat aktuální polohu přístroje. Tato poloha se vždy automaticky zanese do mapy, která je zobrazena v aplikaci. Uživatel bude moci změnit typ kartografického módu 32. Zároveň bude implementováno tlačítko pro resetování, které 31 Je zkratka pro Base transceiver station,v českém překladu se používá základní převodní stanice [35]. 32 Kartografickým typem je myšlen způsob zobrazení mapy. Ve WP8 jsou dostupné typy: Silniční (Road), Hybridní (Hybrid), Letecký (Aerial) a Terénní (Terrain).

60 5 Použití nových technologií v aplikacích WP8 Strana 52 vrátí mapu do pohledu na celý svět a zruší vyhledávání pozice. Projekt s touto aplikací je dostupný v elektronické příloze ve složce Kde jsem. Aplikace Kde jsem obsahuje tyto třídy a dokumenty: HlavniStranka.xaml tento dokument definuje hlavní stránku aplikace, která používá šablonu Pivot (více v kapitole 3.2.2). Pivot obsahuje dvě podstránky pojmenované Mapa a Poloha. V podstránce Mapa je zobrazena mapa světa (pokud není vyhledána aktuální pozice) nebo je zobrazena mapa aktuální pozice (v případě, kdy je zapnuto vyhledávání). V podstránce poloha je vypsána aktuální zeměpisná šířka a délka. Zároveň je možné v této podstránce změnit nastavení mapy pomocí šesti tlačítek: Denní mód, Noční mód, Silniční mód, Hybridní mód, Letecký mód, Terénní mód. V obou podstránkách jsou zobrazena tlačítka lupa a křížek. Pomocí tlačítka lupa se zahájí vyhledání aktuální pozice. Tlačítkem křížek se zruší vyhledávání. HlavniStranka.xaml.cs - v této třídě je definován kód pro obsluhu dokumentu HlavniStranka.xaml Na obrázku 19 je zobrazena mapa v pohledu na celý svět. Takto je zobrazena pokaždé, když není zapnuto vyhledávání pozice. Na obrázku 20 je zobrazena mapa při vyhledání aktuální pozice. Obrázek 21 zobrazuje podstránku Poloha s tlačítky pro změnu módu mapy a s vypsanými aktuálními gelokalizačními souřadnicemi. V diagramu 3 je zobrazen diagram tříd aplikace Kde jsem. Diagram 3: diagram tříd aplikace Kde jsem

61 5 Použití nových technologií v aplikacích WP8 Strana 53 Obrázek 19: Zobrazení mapy při vypnuté geolokalizaci Obrázek 20: Zobrazení mapy při zapnutém vyhledávání Obrázek 21: Zobrazení podstránky Poloha Jako v předchozích aplikacích je nutno v souboru WMAppManifest.xml v záložce schopnosti (Capabilities) vybrat odpovídající schopnost aplikace. V tomto případě to je ID_CAP_LOCATION a ID_CAP_MAP. Pro zobrazení mapy v aplikaci je nutné vložit do kódu v XAML element Map. To je veškerá úprava, která je nutná pro zobrazení mapy v aplikaci. U elementu Map je potřebné definovat atribut Name, aby bylo možné se v obslužném kódu na element Map odkazovat. Pro zjištění aktuálního umístění je nutno vytvořit instanci třídy Geolocator, která je v balíčku Windows.Devices.Geolocation. Pozice se zjistí pomocí asynchronní metody GetGeopositionAsync(). Tato metoda obsahuje dva atributy maximumage a timeout. MaximuAge representuje délku platnosti dat, respektive po kolika minutách se mají obnovit. Atribut timeout určuje, jak dlouho se bude čekat na odezvu v případě, kdy jsou potřebná nová data. Metoda GetGeoposition vrací hodnotu instance třídy Geoposition (tato třída je rovněž uložena v balíčku Windows.Devices.Geolocation). V případě, kdy je geolokalizování v mobilním zařízení manuálně vypnuto, metoda GetGeopositionAsync() vyhodí výjimku, kterou je nutno ošetřit. Přesunutí mapy na aktuální pozici se provede vložením hodnoty (typu GeoCoordinate) do parametru Center, jenž obsahuje element Map. Geolokalizační pozice se vytvoří pomocí instance třídy GeoCoordinate, která má dva parametry: zeměpisnou šířku (Latitude) a zeměpisnou délku (Longitude). Pomocí parametru ZoomLevel lze nastavit atribut zoom v elementu Map (1 je nemenší přiblížení; 20 největší). Tento kód je zobrazen ve výpisu kódu 16.

62 5 Použití nových technologií v aplikacích WP8 Strana 54 C# Výpis kódu 16: Geolokalizace Změna kartografického typu mapy se provádí za pomocí atributu CartographicMode elementu Map. Do tohoto atributu se vkládá hodnota z výčtového typu MapCartographicMode, jenž je uložen v balíčku Microsoft.Phone.Maps.Controls. Zároveň je možno změnit barevné schéma (Color mode) zobrazení 33. Změna barevného schéma je docílena pomocí atributu ColorMode elementu Map. Do atributu ColorMode se vkládá hodnota výčtového typu MapColorMode. Tento kód je zobrazen ve výpisu kódu Barevné schéma může nabývat hodnot: světlé (Light), tmavé (Dark). To se využívá u geolokalizačních aplikací, u kterých se předpokládá, že je uživatel využívá jak ve dne, tak i v noci.

63 5 Použití nových technologií v aplikacích WP8 Strana 55 C# 5.4 Peněženka Výpis kódu 17: Změna kartografického módu a barevného schéma Služba peněženka (Wallet) poskytuje uživatelům systému WP8 následující možnosti [36]: Jednotnou správu kreditních, členských či věrnostních karet, kupónů a jiných druhů karet Řízení platebních instrumentů při nákupech v aplikacích nebo v internetových obchodech Propojení prvků z peněženky s instalovanými aplikacemi Provádění bezdotykových plateb pomocí NFC Za pomoci Wallet API mohou aplikace vytvářet, číst, přepisovat nebo mazat položky v peněžence. Položky v peněžence mohou odkazovat na vnořený odkaz přímo v aplikaci. Uživatel může přidávat položky do peněženky manuálně. Tak se například děje u kreditní karty, pomocí které uživatelé nakupují aplikace. Všechny karty, které se v peněžence vytvoří, jsou propojeny s určitou aplikací. U této technologie nastává změna při definování schopností aplikace v WMAppManifest.xml. Jakýkoliv vývojář může ve své aplikaci využít schopnost ID_CAP_WALLET. V případě, kdy bude aplikace používat schopnosti: ID_CAP_WALLET_PAYMENTINSTRUMENTS (potřebné pro platby

64 5 Použití nových technologií v aplikacích WP8 Strana 56 kreditními či debetními kartami) nebo ID_CAP_WALLET_SECUREELEMENT (potřebné pro bezkontaktní platby prostřednictvím NFC) musí mít vývojář dodatečné oprávnění Aplikace používající peněženku Cílem je vytvořit aplikaci pojmenovanou Ekniha, která bude vytvářet uživatelské respektive věrnostní karty pro imaginární elektronický obchod ( s knihami. Z důvodu zjednodušení kódu se budou nový uživatelé vytvářet (ukládat) pouze v rámci aplikace. Nebudou se tedy informace odesílat na server, který by nové uživatele vytvořil ve své databázi (v reálném použití by se velice pravděpodobně podobné informace odesílali). Projekt s touto aplikací je dostupný v elektronické příloze ve složce Ekniha. Aplikace Ekniha obsahuje následující třídy a dokumenty: HlavniStranka.xaml tento dokument definuje hlavní stránku aplikace, která se zobrazí po spuštění aplikace. Jsou v ní zobrazena tři textová pole pro vyplnění: jméno zákazníka, telefonní číslo a identifikační číslo. Na této stránce je zobrazeno zároveň tlačítko pro přidání nové karty do peněženky pojmenované Přidání karty HlavniStranka.xaml.cs - v této třídě je definován kód pro obsluhu dokumentu HlavniStranka.xaml Spolecnost.cs tato třída definuje společnost Ekniha. Pomocí atributů: název a webová stránka Uzivatel.cs tato třída definuje jednotlivé zákazníky, kteří si chtějí vytvořit novou zákaznickou kartu. Zákazník je definován pomocí atributů: jméno zákazníka, telefonní číslo zákazníka a identifikační číslo zákazníka V diagramu 4 je zobrazen diagram tříd aplikace Ekniha. 34 Toto oprávnění je možné získat prostřednictvím stránek

65 5 Použití nových technologií v aplikacích WP8 Strana 57 Diagram 4: diagram tříd aplikace Ekniha Na obrázku 22 je zobrazena hlavní stránka aplikace Ekniha. Na této stránce jsou zobrazena jednotlivá textová pole pro vložení informací o zákazníkovi a tlačítko pro přidání karty do peněženky pojmenované Přidání karty. Obrázek 22: Hlavní stránka aplikace Ekniha

PV239/WP. Vývoj univerzálních Windows Store aplikací. Mgr. David Gešvindr MCSD: Windows Store MCSE: Data Platform MCT MSP gesvindr@mail.muni.

PV239/WP. Vývoj univerzálních Windows Store aplikací. Mgr. David Gešvindr MCSD: Windows Store MCSE: Data Platform MCT MSP gesvindr@mail.muni. PV239/WP Vývoj univerzálních Windows Store aplikací Mgr. David Gešvindr MCSD: Windows Store MCSE: Data Platform MCT MSP gesvindr@mail.muni.cz Cíle kurzu Osnova kurzu 1. Seznámení s platformou a nástroji

Více

Office 2007 Styles Autor: Jakub Oppelt Vedoucí práce: Ing. Václav Novák, CSc. Školní rok: 2009 10

Office 2007 Styles Autor: Jakub Oppelt Vedoucí práce: Ing. Václav Novák, CSc. Školní rok: 2009 10 Office 2007 Styles Autor: Jakub Oppelt Vedoucí práce: Ing. Václav Novák, CSc. Školní rok: 2009 10 Abstrakt Tato práce se zabývá novým grafickým uživatelským rozhraním, který se objevil s nástupem Microsoft

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 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

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

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: Číslo šablony: Název materiálu: Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 CZ.1.07/1.5.00/34.0410 II/2 Parts of a computer IT English Ročník: Identifikace materiálu: Jméno

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

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

Mid Android M001, M002, M003

Mid Android M001, M002, M003 Mid Android M001, M002, M003 Uživatelská příručka 1 Uživatelská příručka...1 1. Obrázek zařízení...4 2. Základní informace...5 2.1 Nabíjení baterie...5 2.2 Použití SD karty...5 2.3 Vypnutí a zapnutí...5

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

Windows 10. Availability and experience may vary by market and hardware.

Windows 10. Availability and experience may vary by market and hardware. Windows 10 Co je Windows 10? Windows 10 je systém, který je dobře známý, zároveň je však lepší než kdykoliv dříve. Osobní nastavení a přirozené prostředí na všech vašich zařízeních zajistí lepší práci

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

Vzdálené řízení modelu připojeného k programovatelnému automatu

Vzdálené řízení modelu připojeného k programovatelnému automatu Vzdálené řízení modelu připojeného k programovatelnému automatu Remote control of the model connected to Programmable Logic Controller Martin Malinka Bakalářská práce 2009 UTB ve Zlíně, Fakulta aplikované

Více

Programové vybavení počítače

Programové vybavení počítače Programové vybavení počítače Číslo projektu Název školy Předmět CZ.1.07/1.5.00/34.0425 INTEGROVANÁ STŘEDNÍ ŠKOLA TECHNICKÁ BENEŠOV Černoleská 1997, 256 01 Benešov IKT Tematický okruh Téma Počítač Programové

Více

Představení: Luxusní notebook - tablet Toshiba v akci

Představení: Luxusní notebook - tablet Toshiba v akci Stránka č. 1 z 8 < Zpět na článek... Toshiba Portégé R400 foto: Jiří Zahrádka Představení: Luxusní notebook - tablet Toshiba v akci 15.6.2007 - Tablety Toshiba se na trhu řadí k uznávanému zboží vybavenému

Více

Digitální učební materiál

Digitální učební materiál Digitální učební materiál Projekt CZ.1.07/1.5.00/34.0387 Krok za krokem Šablona III/2 Inovace a zkvalitnění výuky prostřednictvím ICT (DUM) Tématická Elektrotechnické zboží 3 oblast DUM č. 32_J06_3_15

Více

Vývoj aplikací pro Windows Phone 8. Mgr. David Gešvindr MCT MSP MCPD MCITP

Vývoj aplikací pro Windows Phone 8. Mgr. David Gešvindr MCT MSP MCPD MCITP Vývoj aplikací pro Windows Phone 8 Mgr. David Gešvindr MCT MSP MCPD MCITP gesvindr@mail.muni.cz Osnova 1. Seznámení s platformou Windows Phone 2. Návrh kvalitního uživatelského rozhraní 3. Představení

Více

Další vlastnosti. Úvod. Specifikace karty Sweex Wireless LAN PCI Card 140 Nitro XM (LW142) Obsah balení. Další vlastnosti

Další vlastnosti. Úvod. Specifikace karty Sweex Wireless LAN PCI Card 140 Nitro XM (LW142) Obsah balení. Další vlastnosti LW141 Sweex Wireless LAN PC Card 140 Nitro XM LW142 Sweex Wireless LAN PCI Card 140 Nitro XM LW143 Sweex Wireless LAN USB 2.0 Adaptor 140 Nitro XM Úvod Děkujeme vám za zakoupení tohoto produktu společnosti

Více

Stylový společník, který nabízí pokročilou grafiku i zabezpečení. Oficiální webové stránky VAIO Europe http://www.vaiopro.eu/

Stylový společník, který nabízí pokročilou grafiku i zabezpečení. Oficiální webové stránky VAIO Europe http://www.vaiopro.eu/ VGN-SR49VN/H Váš mobilní partner Stylový společník, který nabízí pokročilou grafiku i zabezpečení Oficiální webové stránky VAIO Europe http://www.vaio.eu/ Oficiální webové stránky VAIO Europe http://www.vaiopro.eu/

Více

Váš stylový multimediální společník v karamelově smetanovém provedení. Oficiální webové stránky VAIO Europe http://www.vaiopro.eu/

Váš stylový multimediální společník v karamelově smetanovém provedení. Oficiální webové stránky VAIO Europe http://www.vaiopro.eu/ VGN-CS3S/T Vyjádřete svůj styl Váš stylový multimediální společník v karamelově smetanovém provedení Oficiální webové stránky VAIO Europe http://www.vaio.eu/ Oficiální webové stránky VAIO Europe http://www.vaiopro.eu/

Více

TECHNICKÉ PODMÍNKY. Článek 2. Podmínky pro službu MojeBanka, MojeBanka Business, MojePlatba,Expresní linka Plus a TF OnLine

TECHNICKÉ PODMÍNKY. Článek 2. Podmínky pro službu MojeBanka, MojeBanka Business, MojePlatba,Expresní linka Plus a TF OnLine Tyto podmínky stanoví technické podmínky a požadavky pro poskytování vybraných Bankovních služeb. Seznamte se prosím důkladně s tímto dokumentem. Vaše případné dotazy rádi zodpovíme. Článek 1. Použití

Více

Operační systémy (OS)

Operační systémy (OS) Operační systémy (OS) Operační systém Základní softwarové vybavení Ovládá technické vybavení počítače Tvoří rozhraní mezi aplikačními (uživatelskými) programy a hardwarem organizace přístupu k datům spouštění

Více

BRNO UNIVERSITY OF TECHNOLOGY FAKULTA PODNIKATELSKÁ ÚSTAV INFORMATIKY FACULTY OF BUSINESS AND MANAGEMENT INSTITUTE OF INFORMATICS

BRNO UNIVERSITY OF TECHNOLOGY FAKULTA PODNIKATELSKÁ ÚSTAV INFORMATIKY FACULTY OF BUSINESS AND MANAGEMENT INSTITUTE OF INFORMATICS VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA PODNIKATELSKÁ ÚSTAV INFORMATIKY FACULTY OF BUSINESS AND MANAGEMENT INSTITUTE OF INFORMATICS NÁVRH A IMPLEMENTACE MOBILNÍ APLIKACE PRO

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

UMAX. VisionBook 10Wi. Uživatelská příručka

UMAX. VisionBook 10Wi. Uživatelská příručka UMAX VisionBook 10Wi Uživatelská příručka Součásti balení Součástí balení jsou: Tablet USB kabel Napájecí adaptér Klávesnice Uživatelská příručka Popis tabletu Horní pohled Pohled zleva Přední pohled Spodní

Více

Návod k obsluze. Spionazni-technika.cz Stránka 1

Návod k obsluze. Spionazni-technika.cz Stránka 1 Návod k obsluze Spionazni-technika.cz Stránka 1 Stahování dat z telefonu s OS Android 1. Instalace ovladače (driveru) a) Phone Recovery Stick připojte nejprve do USB vašeho PC; b) Phone Recovery Stick

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

Animace ve WPF. Filip Gažák. Ing. Václav Novák, CSc. Školní rok: 2008-09

Animace ve WPF. Filip Gažák. Ing. Václav Novák, CSc. Školní rok: 2008-09 Animace ve WPF Filip Gažák Ing. Václav Novák, CSc. Školní rok: 2008-09 Abstrakt Hlavním tématem práce bude nový prvek pro tvorbu uživatelského prostředí ve WPF animace. V teoretické části se nejprve seznámíme

Více

Váš stylový multimediální společník v korálově růžovém provedení. Oficiální webové stránky VAIO Europe http://www.vaiopro.eu/

Váš stylový multimediální společník v korálově růžovém provedení. Oficiální webové stránky VAIO Europe http://www.vaiopro.eu/ VGN-CS2S/P Vyjádřete svůj styl Váš stylový multimediální společník v korálově růžovém provedení Oficiální webové stránky VAIO Europe http://www.vaio.eu/ Oficiální webové stránky VAIO Europe http://www.vaiopro.eu/

Více

Výzva k podání nabídky

Výzva k podání nabídky Výzva k podání nabídky (pro účely uveřejnění na www.msmt.cz nebo www stránkách krajů pro zadávání zakázek z prostředků finanční podpory OP VK, které se vztahují na případy, pokud zadavatel není povinen

Více

E-EDUCATION NEBOLI VYUŽITÍ ICT VE ŠKOLÁCH

E-EDUCATION NEBOLI VYUŽITÍ ICT VE ŠKOLÁCH E-EDUCATION NEBOLI VYUŽITÍ ICT VE ŠKOLÁCH ANDREA BAREŠOVÁ A KOL. Hewlett-Packard Abstrakt: e-education je název znamenající zapojení informačních technologií do výuky. S tímto pojmenováním přišla společnost

Více

Ope p r e a r čn č í s ys y té t m é y y Windo d w o s Stručný přehled

Ope p r e a r čn č í s ys y té t m é y y Windo d w o s Stručný přehled Windows 2008 R2 - úvod Jan Žák Operační systémy Windows Stručný přehled Klientské OS Windows 95, 98, ME Windows NT Windows 2000 Windows XP Windows Vista Windows 7 Windows CE, Windows Mobile Windows Phone

Více

Microsoft Office 2003 Souhrnný technický dokument white paper

Microsoft Office 2003 Souhrnný technický dokument white paper Microsoft Office 2003 Souhrnný technický dokument white paper Přehled inteligentních klientských aplikací založených na sadě Microsoft Office 2003 System Publikováno: Duben 2003 Shrnutí: Inteligentní klienti

Více

funkční na dual-sim telefonech možnost přesměrovat příchozí hovory možnost nastavení více telefonních čísel pro případ, že je jedno nedostupné

funkční na dual-sim telefonech možnost přesměrovat příchozí hovory možnost nastavení více telefonních čísel pro případ, že je jedno nedostupné Analyzujte, navrhněte a implementujte aplikaci pro sledování spánku dětí Chůvička pro telefony na platformě Android. Od existujících aplikací se bude aplikace odlišovat tímto: funkční na dual-sim telefonech

Více

XML Š ABLONY A JEJICH INTEGRACE V LCMS XML TEMPLATES AND THEIN INTEGRATION IN LCMS

XML Š ABLONY A JEJICH INTEGRACE V LCMS XML TEMPLATES AND THEIN INTEGRATION IN LCMS XML Š ABLONY A JEJICH INTEGRACE V LCMS XML TEMPLATES AND THEIN INTEGRATION IN LCMS Roman MALO - Arnošt MOTYČKA This paper is oriented to discussion about using markup language XML and its features in LCMS

Více

Uživatelský manuál. A3600 DL ( Data Download)

Uživatelský manuál. A3600 DL ( Data Download) Uživatelský manuál A3600 DL ( Data Download) Aplikace : Jednoduchý program pro přenášení dat z on line monitorovacího systému A3600 Export měřených statických dat do souboru Zobrazení grafů naměřených

Více

Akční nabídka mobilních telefonů

Akční nabídka mobilních telefonů Akční nabídka mobilních telefonů Lenovo A1000-8GB, černá kód czc: 178140 1.999,- Chytrý telefon s operačním systémem Android 5.0 Lollipop; 4" displej, rozlišení 800 x 480 bodů; 4jádrový procesor s frekvencí

Více

Převod prostorových dat katastru nemovitostí do formátu shapefile

Převod prostorových dat katastru nemovitostí do formátu shapefile GIS Ostrava 2009 25. - 28. 1. 2009, Ostrava Převod prostorových dat katastru nemovitostí do formátu shapefile Karel Janečka1, Petr Souček2 1Katedra matematiky, Fakulta aplikovaných věd, ZČU v Plzni, Univerzitní

Více

Obsah balení. Popis jednotky. 1 Čtečka E-Book (hl. jednotka) 2 Kožené pouzdro 3 Sluchátka 4 USB kabel 5 Průvodce rychlým startem 6 Záruční list

Obsah balení. Popis jednotky. 1 Čtečka E-Book (hl. jednotka) 2 Kožené pouzdro 3 Sluchátka 4 USB kabel 5 Průvodce rychlým startem 6 Záruční list CZ Průvodce rychlým startem Obsah balení 1 Čtečka E-Book (hl. jednotka) 2 Kožené pouzdro 3 Sluchátka 4 USB kabel 5 Průvodce rychlým startem 6 Záruční list Popis jednotky 1 2 3 4 14 8 5 6 7 9 10 12 11 13

Více

České vysoké učení technické v Praze Fakulta elektrotechnická

České vysoké učení technické v Praze Fakulta elektrotechnická České vysoké učení technické v Praze Fakulta elektrotechnická Diplomová práce Grafické uživatelské rozhraní pro vyhledávání dopravních spojení v jízdních řádech hromadné dopravy na kapesních zařízeních

Více

Vestavné systémy BI-VES Přednáška 10

Vestavné systémy BI-VES Přednáška 10 Vestavné systémy BI-VES Přednáška 10 Ing. Miroslav Skrbek, Ph.D. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze Miroslav Skrbek 2010,2011 ZS2010/11 Evropský

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

DVRS02WIFI. Full HD sportovní kamera, WI-FI. Uživatelská příručka

DVRS02WIFI. Full HD sportovní kamera, WI-FI. Uživatelská příručka DVRS02WIFI Full HD sportovní kamera, WI-FI Uživatelská příručka Děkujeme Vám za zakoupení tohoto zařízení. Než začnete produkt používat, přečtěte si prosím pečlivě tento návod k maximalizaci jeho výkonu

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

AMILO Mini Ui 3520 Velmi malé a stylové. vybavení na cesty Počet stran: 5. Hlavní parametry

AMILO Mini Ui 3520 Velmi malé a stylové. vybavení na cesty Počet stran: 5. Hlavní parametry AMILO Mini Ui 3520 Velmi malé a stylové Vydání: Srpen 2008 Verze: 2 vybavení na cesty Počet stran: 5 Užijte si svůj mobilní životní styl s malým a lehkým notebookem kdykoli a kdekoli. Hlavní parametry

Více

Vývoj univerzálních aplikací pro Windows 10. Mgr. David Gešvindr MCSD: Windows Store MCSE: Data Platform MCT MSP david@wug.

Vývoj univerzálních aplikací pro Windows 10. Mgr. David Gešvindr MCSD: Windows Store MCSE: Data Platform MCT MSP david@wug. Vývoj univerzálních aplikací pro Windows 10 Mgr. David Gešvindr MCSD: Windows Store MCSE: Data Platform MCT MSP david@wug.cz @gesvindr Osnova 1. Seznámení s Universal Windows Platform 2. Tvorba adaptivního

Více

Ukázka knihy z internetového knihkupectví www.kosmas.cz

Ukázka knihy z internetového knihkupectví www.kosmas.cz Ukázka knihy z internetového knihkupectví www.kosmas.cz U k á z k a k n i h y z i n t e r n e t o v é h o k n i h k u p e c t v í w w w. k o s m a s. c z, U I D : K O S 1 8 0 6 3 5 U k á z k a k n i h

Více

OPERAČNÍ SYSTÉM ZLÍNSKÝ KRAJ. Obchodní akademie, Vyšší odborná škola a Jazyková škola s právem státní jazykové zkoušky Uherské Hradiště

OPERAČNÍ SYSTÉM ZLÍNSKÝ KRAJ. Obchodní akademie, Vyšší odborná škola a Jazyková škola s právem státní jazykové zkoušky Uherské Hradiště OPERAČNÍ SYSTÉM 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 Operační systém Autor Martin Šimůnek Datum 13. 2. 2013 Stupeň

Více

Představení notebooku Uživatelská příručka

Představení notebooku Uživatelská příručka Představení notebooku 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. Bluetooth

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

Workshop Exact Software CEE

Workshop Exact Software CEE Workshop Exact Software CEE (Exact Synergy Enterprise) Praha 11.12.2012 Martin Burian 2012 Exact Agenda Verze Synergy Enterprise Změny v systémových požadavcích Configurator + Validace a alokace (připojení)

Více

MapleCloud a jeho použ ití. Vladimír Žák

MapleCloud a jeho použ ití. Vladimír Žák MapleCloud a jeho použ ití Vladimír Žák Brno, 2015 Obsah 1 Úvod... 4 2 Novinky v MapleCloud pro Maple 2015... 5 3 MapleCloud a registrace... 6 4 Použití MapleCloud přímo z Maple 2015... 7 4.1 Popis jednotlivých

Více

Data Sheet Fujitsu LIFEBOOK AH531 Notebook

Data Sheet Fujitsu LIFEBOOK AH531 Notebook Data Sheet Fujitsu LIFEBOOK AH531 Notebook Váš nepostradatelný společník LIFEBOOK AH531 Notebook LIFEBOOK AH531 je stylový tenký produkt s lesklým nebo antireflexním 15,6 (39,6cm) displejem LCD s rozlišením

Více

Chytrý osobní laptop s rychlým procesorem Intel, 4GB pamětí RAM a grafikou ATI. Oficiální webové stránky VAIO Europe http://www.vaiopro.

Chytrý osobní laptop s rychlým procesorem Intel, 4GB pamětí RAM a grafikou ATI. Oficiální webové stránky VAIO Europe http://www.vaiopro. VGN-NS3S/S Elegantní jednoduchost Chytrý osobní laptop s rychlým procesorem Intel, 4GB pamětí RAM a grafikou ATI Oficiální webové stránky VAIO Europe http://www.vaio.eu/ Oficiální webové stránky VAIO Europe

Více

Připravil: Ing. Vít Ondroušek, Ph.D. Technologie.Net Framework

Připravil: Ing. Vít Ondroušek, Ph.D. Technologie.Net Framework Připravil: Ing. Vít Ondroušek, Ph.D. Technologie.Net Framework úvod, historie, základy.net framework, programovací jazyky, vývojové prostředky Úvod strana 2 Cíl předmětu Seznámit se s vývojem aplikací

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

PŘEDSTAVENÍ GRAFICKÉHO PROCESORU NVIDIA G200

PŘEDSTAVENÍ GRAFICKÉHO PROCESORU NVIDIA G200 PŘEDSTAVENÍ GRAFICKÉHO PROCESORU NVIDIA G200 Bc.Adam Berger Ber 208 Historie a předchůdci G200 V červnu roku 2008 spatřila světlo světa nová grafická karta od společnosti Nvidia. Tato grafická karta opět

Více

SYSTÉM PRO KONFIGURACI KOMUNIKAČNÍCH TERMINÁLŮ A VIZUALIZACI STAVOVÝCH DAT Z KOLEJOVÝCH VOZIDEL

SYSTÉM PRO KONFIGURACI KOMUNIKAČNÍCH TERMINÁLŮ A VIZUALIZACI STAVOVÝCH DAT Z KOLEJOVÝCH VOZIDEL SYSTÉM PRO KONFIGURACI KOMUNIKAČNÍCH TERMINÁLŮ A VIZUALIZACI STAVOVÝCH DAT Z KOLEJOVÝCH VOZIDEL SYSTEM FOR CONFIGURATION OF COMMUNICATION TERMINALS AND VISUALIZATION OF STATE INFORMATION FROM RAIL VEHICLES

Více

"SUSEN - dodávky základního hardware a základního software, etapa III.

SUSEN - dodávky základního hardware a základního software, etapa III. Příloha č. 1 - Specifikace a ceny jednotlivých položek "SUSEN - dodávky základního hardware a základního software, etapa III. Specifikace a ceny jednotlivých položek číslo položky Název typ Cena v Kč (bez

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

Základní deska (mainboard, motherboard)

Základní deska (mainboard, motherboard) Základní deska (mainboard, motherboard) Hlavním účelem základní desky je propojit jednotlivé součástky počítače do fungujícího celku a integrovaným součástem na základní desce poskytnout elektrické napájení.

Více

4CH kamerový systém do auta Secutron CarGuard SE- 4SDE

4CH kamerový systém do auta Secutron CarGuard SE- 4SDE 4CH kamerový systém do auta Secutron CarGuard SE- 4SDE Návod k obsluze Hlavní výhody: 4x video vstup záznam scény před, za i uvnitř vozu podpora SD karty až 64Gb www.spyobchod.cz Stránka 1 1. Úvod Kamerový

Více

Uživatelský manuál. (cz) Tablet S7.1

Uživatelský manuál. (cz) Tablet S7.1 (cz) Tablet S7.1 Uživatelský manuál Děkujeme, že jste si zakoupili Tablet PC. Tento manuál Vám představí funkce tohoto zařízení, kterým je potřeba věnovat pozornost. Prosím, přečtěte si tento manuál řádně

Více

Architektura. Vedení sesterské dokumentace

Architektura. Vedení sesterské dokumentace Architektura Tým Lorem Ipsum Verze 1.1 29.3.2015 Obsah 1 Kontext...3 1.1 Cíle projektu...3 2 Technologie...3 2.1 Zvolená alternativa tvorby GUI...3 3 Datové schéma...4 4 Navržená architektura...5 4.1 Fyzický

Více

BEZPEČNOSTNÍ OPATŘENÍ Prosíme o důkladné přečteni manuálu instrukce obsluhy.

BEZPEČNOSTNÍ OPATŘENÍ Prosíme o důkladné přečteni manuálu instrukce obsluhy. Čeština BEZPEČNOSTNÍ OPATŘENÍ Prosíme o důkladné přečteni manuálu instrukce obsluhy. Nikdy neotvírejte kryt sami! Veškeré opravy by měl provádět pouze vyškolený pracovník firmy Ferguson. Udržujte zařízení

Více

ARCHITEKTURA AMD PUMA

ARCHITEKTURA AMD PUMA VŠB-TU Ostrava Fakulta elektrotechniky a informatiky Katedra informačných technológií ARCHITEKTURA AMD PUMA Martin Raichl, RAI033 21. listopadu 2009 Ján Podracký, POD123 Obsah Architektura AMD PUMA nová

Více

Datalogger Teploty a Vlhkosti

Datalogger Teploty a Vlhkosti Datalogger Teploty a Vlhkosti Uživatelský Návod Úvod Teplotní a Vlhkostní Datalogger je vybaven senzorem o vysoké přesnosti měření teploty a vlhkosti. Tento datalogger má vlastnosti jako je vysoká přesnost,

Více

ELEARNING NA UJEP PŘEDSTAVY A SKUTEČNOST

ELEARNING NA UJEP PŘEDSTAVY A SKUTEČNOST ELEARNING NA UJEP PŘEDSTAVY A SKUTEČNOST JAN ČERNÝ, PETR NOVÁK Univerzita J.E. Purkyně v Ústí nad Labem Abstrakt: Článek popisuje problematiku rozvoje elearningu na UJEP. Snahu o vytvoření jednotného celouniverzitního

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

NÁVOD K ZAŘÍZENÍM PRO BEZDRÁTOVÝ PŘENOS ZVUKU A OBRAZU (Miracast)

NÁVOD K ZAŘÍZENÍM PRO BEZDRÁTOVÝ PŘENOS ZVUKU A OBRAZU (Miracast) NÁVOD K ZAŘÍZENÍM PRO BEZDRÁTOVÝ PŘENOS ZVUKU A OBRAZU (Miracast) Obsah Návod pro práci se zařízením BenQ Qcast... 3 1. Popis zařízení... 4 2. Jednorázová instalace zařízení... 5 3. Používání zařízení...

Více

produktů. produkty: AutoCAD Mechanical Showcase Autodesk Autodesk Designer SketchBook Autodesk Mudbox Vault Autodesk Ultimate Intel Xeon Intel Core

produktů. produkty: AutoCAD Mechanical Showcase Autodesk Autodesk Designer SketchBook Autodesk Mudbox Vault Autodesk Ultimate Intel Xeon Intel Core Autodesk Product Design Suite Standard 20122 Systémové požadavky Typičtí uživatelé a pracovní postup Konstruktérům a inženýrům, kteří vyvíjejí pozoruhodné produkty, nabízí sada Autodesk Product Design

Více

Co je to počítač? Počítač je stroj pro zpracování informací Jaké jsou základní části počítače? Monitor, počítač (CASE), klávesnice, myš

Co je to počítač? Počítač je stroj pro zpracování informací Jaké jsou základní části počítače? Monitor, počítač (CASE), klávesnice, myš základní pojmy ve výpočetní technice Co je to počítač? Počítač je stroj pro zpracování informací Jaké jsou základní části počítače? Monitor, počítač (CASE), klávesnice, myš základní pojmy ve výpočetní

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

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

TouchPad a klávesnice

TouchPad a klávesnice TouchPad a klávesnice Copyright 2006 Hewlett-Packard Development Company, L.P. Microsoft a Windows jsou registrované ochranné známky společnosti Microsoft Corporation v USA. Informace uvedené v této příručce

Více

Základní programové vybavení počítače

Základní programové vybavení počítače Základní programové vybavení počítače BIOS BIOS (Basic Input Output System) Program zabudovaný do osobních počítačů (konkrétně je součástí základní desky). Při zapnutí počítače spustí operační systém.

Více

InTouch 8.0 Subsystém distribuovaných alarmů

InTouch 8.0 Subsystém distribuovaných alarmů InTouch 8.0 Subsystém distribuovaných alarmů Pavel Průša Pantek (CS) s.r.o. Strana 2 Obsah Úvod Úvod Subsystém distribuovaných alarmů Ukládání alarmů do relační databáze Zobrazování, potvrzování a potlačování

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

Windows na co se soustředit

Windows na co se soustředit Windows na co se soustředit Lukáš Křovák Manažer divize Windows 1 Agenda Čemu se obchodně věnovat před uvedením Windows 8 Jak se mění trh počítačů Správa počítačů s Windows Intune Internet Explorer 9 Doplňkové

Více

SOU Valašské Klobouky. VY_32_INOVACE_01_15 IKT Operační systémy, základní vlastnosti, přehled. Mgr. Radomír Soural

SOU Valašské Klobouky. VY_32_INOVACE_01_15 IKT Operační systémy, základní vlastnosti, přehled. Mgr. Radomír Soural SOU Valašské Klobouky VY_32_INOVACE_01_15 IKT Operační systémy, základní vlastnosti, přehled Mgr. Radomír Soural Zkvalitnění výuky prostřednictvím ICT Název a číslo projektu CZ.1.07/1.5.00/34.0459 Název

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

Přechod z Google Apps na Office 365 pro firmy

Přechod z Google Apps na Office 365 pro firmy Přechod z Google Apps na Office 365 pro firmy Udělejte ten krok Office 365 pro firmy vypadá jinak než Google Apps. Po přihlášení se vám ukáže tato obrazovka. Po několika prvních týdnech se po přihlášení

Více

Software je ve světě IT vše, co není Hardware. Do softwaru patří aplikace, program, proces, algoritmus, ale i data (text, obrázky), operační systém

Software je ve světě IT vše, co není Hardware. Do softwaru patří aplikace, program, proces, algoritmus, ale i data (text, obrázky), operační systém Software Co je to software? Software je ve světě IT vše, co není Hardware Do softwaru patří aplikace, program, proces, algoritmus, ale i data (text, obrázky), operační systém Podívejme se tedy na jednotlivé

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

Výklad učiva: Co je to počítač?

Výklad učiva: Co je to počítač? Výklad učiva: Co je to počítač? Počítač je v informatice elektronické zařízení a výpočetní technika, která zpracovává data pomocí předem vytvořeného programu. Současný počítač se skládá z hardware, které

Více

LC500070 Sweex Wireless LAN PC Card 54 Mbps. Pokud by některá z výše uvedených částí chyběla, obraťte se na svého dodavatele.

LC500070 Sweex Wireless LAN PC Card 54 Mbps. Pokud by některá z výše uvedených částí chyběla, obraťte se na svého dodavatele. LC500070 Sweex Wireless LAN PC Card 54 Mbps Úvod Děkujeme vám za zakoupení této karty Sweex Wireless LAN PC Card 54 Mbps. Tato karta PC Card umožňuje snadno a bleskurychle nastavit bezdrátovou síť. Karta

Více

Ten nejlepší zážitek z vysokého rozlišení. Vlajková loď mezi zábavními notebooky s Full HD a jednotkou Bluray Disc Combo

Ten nejlepší zážitek z vysokého rozlišení. Vlajková loď mezi zábavními notebooky s Full HD a jednotkou Bluray Disc Combo VGN-FW4ZJ/H Ten nejlepší zážitek z vysokého rozlišení Vlajková loď mezi zábavními notebooky s Full HD a jednotkou Bluray Disc Combo Oficiální webové stránky VAIO Europe http://www.vaio.eu/ Oficiální webové

Více

Robot Lego Mindstorms NXT doplněný o kamerku a software v jazyce C#

Robot Lego Mindstorms NXT doplněný o kamerku a software v jazyce C# Stdoškolská technika 2011 Setkání a prezentace prací stdoškolských studentů na ČVUT Robot Lego Mindstorms NXT doplněný o kamerku a software v jazyce C# Matěj Kaňuk Cíl práce Stdní průmyslová škola elektrotechnická

Více

Kupní smlouva o dodávce IT vybavení 2013

Kupní smlouva o dodávce IT vybavení 2013 Kupní smlouva o dodávce IT vybavení 2013 uzavřená podle 409 a násl. zákona č. 513/1991 Sb., obchodní zákoník, ve znění pozdějšíchpředpisů, mezi: Město Rumburk, Tř. 9. května 1366/48, 408 01 Rumburk zastoupenou:

Více

Stavba operačního systému

Stavba operačního systému Stavba operačního systému 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 pro vzdělávání,

Více

Návod na použití. Panenka Barbie Video Girl

Návod na použití. Panenka Barbie Video Girl Panenka Barbie Video Girl Návod na použití INFORMACE O BEZPEČNOSTI BATERIÍ Za výjimečných podmínek mohou z baterií unikat tekutiny, které mohou způsobit popáleninu chemikálií nebo zničit Váš produkt. Abyste

Více

LV5WDR Wireless Display Receiver Rychlá příručka

LV5WDR Wireless Display Receiver Rychlá příručka LV5WDR Wireless Display Receiver Rychlá příručka 1 1. Představení Wireless display receiver S Wireless display receiver (dále jen WDR) můžete jednoduše zobrazovat multimediální obsah (videa, fotografie,

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

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

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

Windows 7. Z pohledu běžného uživatele. David Gešvindr MSP MCT MCITP

Windows 7. Z pohledu běžného uživatele. David Gešvindr MSP MCT MCITP Windows 7 Z pohledu běžného uživatele David Gešvindr MSP MCT MCITP Nejčastější přání uživatelů Cíle Windows 7 Windows se změnil Chci, aby to prostě fungovalo Funguje tak, jak chcete Chci OS, který mi pomůže

Více

1. Úroveň znalostí a dovedností

1. Úroveň znalostí a dovedností POKYN KVESTORA č. 1/2008 ze dne 21. 2. 2008 o povinnostech pracovníků rektorátu JAMU vztahujících se ke zvyšování kompetencí v oblasti informačních technologií S ohledem na nutnost zajistit odborný růst

Více

Dálkové ovládání HP Mobile Remote Control (pouze u vybraných modelů) Uživatelská příručka

Dálkové ovládání HP Mobile Remote Control (pouze u vybraných modelů) Uživatelská příručka Dálkové ovládání HP Mobile Remote Control (pouze u vybraných modelů) Uživatelská příručka Copyright 2008 Hewlett-Packard Development Company, L.P. Windows a Windows Vista jsou registrované ochranné známky

Více