Možnosti úprav systému Android
|
|
- Patrik Kučera
- před 9 lety
- Počet zobrazení:
Transkript
1 MASARYKOVA UNIVERZITA FAKULTA INFORMATIKY Ð Û Å«Æ ±²³ µ ¹º»¼½¾ Ý Možnosti úprav systému Android DIPLOMOVÁ PRÁCE Bc. Jan Rychnovský Brno, jaro 2015
2 Prohlášení Prohlašuji, že tato diplomová práce je mým původním autorským dílem, které jsem vypracoval samostatně. Všechny zdroje, prameny a literaturu, které jsem při vypracování používal nebo z nich čerpal, v práci řádně cituji s uvedením úplného odkazu na příslušný zdroj. Bc. Jan Rychnovský Vedoucí práce: RNDr. Bc. Jonáš Ševčík i
3 Poděkování Rád bych na tomto místě poděkoval svému vedoucímu Jonáši Ševčíkovi za podnětné rady a ochotu při konzultacích této diplomové práce. Dále děkuji všem testujícím vytvořeného firmware, kteří se zapojili do testování a přispěli tak k jeho vylepšení. V neposlední řadě bych rád poděkoval Ing. Věře Petřvalské za korekci textu diplomové práce. ii
4 Shrnutí Tato práce se zabývá možností vytvoření vlastního upraveného firmware pro Android zařízení, jako je set-top box, jež disponuje dálkovým ovládáním a schopností připojit externí obrazovku. Práce se také zaměřuje na možnosti celkového brandingu a zejména vytvoření vlastního uživatelského prostředí tzv. launcheru. V první části práce je podrobně popsána platforma Android TV, tvorba vlastní aplikace pro tuto platformu a podpůrná Android knihovna - Leanback Support Library od společnosti Google, jež byla využita při tvorbě launcheru. Následující část práce se věnuje popisu hardwarových specifikací set-top boxů společnosti Zoomtak a především představuje provedené úpravy jejich firmware. Stěžejní část práce se zabývá návrhem vytvořeného launcheru a jeho ovládáním. Následně je popsána implementace launcheru, včetně vytvořeného mechanismu získávání ikon aplikací v lepším rozlišení. Závěrečná část textu se věnuje testování vytvořeného firmware, zhodnocení dosažených výsledků a možnostem budoucího rozvoje vytvořeného firmware. Výsledná práce je napsána tak, aby posloužila jako referenční výukový materiál pro kurz PV256 - Projekt z programování pro Android. iii
5 Klíčová slova Android, Android TV, Google TV, Leanback, Zoomtak, launcher, PV256. iv
6 Obsah 1 Úvod Platforma Android TV Specifikace platformy Android TV Grafický návrh Launcher platformy Android TV Doporučení při návrhu aplikace Vize platformy Android TV Tvorba aplikace pro Android TV Nastavení Android projektu Podpůrné knihovny Odlišný hardware Dálkové ovládání Tvorba layoutu Android TV aplikace Platforma set-top boxů Zoomtak Hardwarové specifikace platformy M Srovnání platforem Android TV a M Firmware platformy set-top boxu M Příprava vlastního firmware Tvorba aplikace launcheru Uživatelské rozhraní navrženého launcheru Hlavní obrazovka Obrazovka s aplikacemi Obrazovka nastavení Obrazovka průvodce prvotním nastavením Ovládání rozhraní launcheru Zvýraznění ovládacích prvků Zvuková odezva ovládacích prvků Dálkové ovládání Řada karet s oblíbenými aplikacemi Připojení k internetu Zprávy Logo Nastavení pozadí a jazyka Nápověda Implementace aplikace launcheru Struktura projektu Popis vybraných komponent v
7 5.2.1 Řada karet Získávání ikon aplikací v lepším rozlišení Zjišt ování aktuálního stavu připojení Analýza výsledného launcheru Závěr Zařízení se systémem Android TV Set-top boxy společnosti Zoomtak Jednotlivé obrazovky launcheru Android TV Uživatelská rozhraní Google TV aplikací Hardwarové specifikace set-top boxů Zoomtak Set-top box Zoomtak M Uživatelské prostředí XMBC (Kodi) Adresářová struktura firmware set-top boxu M Jednotlivé obrazovky launcheru platformy M Aplikace z nastavení Pozadí launcheru platformy M Levé navigační menu Seznam elektronických příloh vi
8 1 Úvod 5. listopadu 2007 bylo v Kalifornii založeno uskupení Open Handset Alliance, konsorcium zahrnující mobilní operátory, společnosti zabývající se výrobou mobilních telefonů, komponent, služeb nebo přímo mobilních aplikací (jako jsou Google, Motorola, LG, HTC, Samsung, Intel, NVIDIA, aj). Hlavním cílem tohoto konsorcia bylo vyvinout otevřený standard pro mobilní zařízení. Tyto společnosti brzy oznámily, že spolupracují na projektu otevřené mobilní platformy postavené na jádře operačního systému Linux [1]. Eric Schmidt, CEO společnosti Google, při této příležitosti ve svém projevu pronesl: Today s announcement is more ambitious than any single Google Phone that the press has been speculating about over the past few weeks. Our vision is that the powerful platform we re unveiling will power thousands of different phone models. [2] V tomto ohledu měl Dr. Eric Schmidt pravdu a mobilní operační systém Android je dnes instalován na téměř 81,5% mobilních zařízení [3]. Android ale není pouze platforma pro mobilní telefony nebo tablety, nachází uplatnění i v jiných zařízeních, např. Android Wear - chytré hodinky, Android Auto - automobil s integrovaným inteligentním systémem pro navigaci a ovládání nebo Android TV. Android TV je operační systém určený pro zobrazování multimediálního obsahu na televizních obrazovkách, monitorech, projektorech nebo jiném zobrazovacím zařízení. Primárním účelem Android TV je samozřejmě ale připojení k televizoru. Uživateli tak v obývacím pokoji vznikne inteligentní systém, který lze ovládat dodaným dálkovým ovládáním, herním ovládáním nebo pomocí aplikace pro mobilní telefon či chytré hodinky Android Wear. Android TV umožňuje uživateli hrát hry, stahovat nové aplikace z Google Play obchodu či hlasem vyhledávat a přehrávat videa z video serverů. Velké technologické společnosti jako Philips, Sony, Sharp nebo Huawei již oznámily, že budou tuto inteligentní platformu integrovat přímo do svých televizorů. V současné době jsou od začátku ledna 2015 v prodeji televizory Bravia s integrovaným systémem Android TV od společnosti Sony, konkrétně se jedná o šest nových řad poměrně dobře hardwarově vybavených Sony televizorů. Další televizory od výrobců jako Phillips a Sharp by měly brzy následovat. Jiní výrobci, jako Razer nebo Nvidia, se rozhodli vytvořit vlastní platformu s operačním systémem Android TV, jenž bude možné připojit k televizoru jako příslušenství pomocí HDMI kabelu. Tyto 1
9 1. ÚVOD platformy se inspirují referenčním zařízením přímo od společnosti Google - Nexus Player, který byl vyvinut ve spolupráci se společností Asus a jež má Android TV představit širší veřejnosti a také má sloužit jako dostupné zařízení pro Android vývojáře. Avizovaná zařízení jsou zobrazena v Příloze 1. Zařízení Nexus Player mi bylo zapůjčeno pro účely této práce a bude tedy popsáno v následujících kapitolách, zmíněny také budou výsledky jeho testování. Cílem této práce je prozkoumat možnosti, zdokumentovat a vytvořit vlastní upravený firmware pro vybrané Android zařízení. V dnešní době již existuje mnoho alternativních operačních systému Android pro mobilní telefony či tablety. Proto se v této práci zaměřím na poměrně novou oblast operačních systémů Android pro moderní televizory, v níž společnost Google se svou platformou Android TV udává směr. Samozřejmě existuje mnohem více společností, které se snaží se svými platformami v této oblasti také uspět, jako je například společnost Apple se svou Apple TV, Amazon s Fire TV, společnost Roku se svou Roku TV nebo do jisté míry i herní konzole Xbox od Microsoftu či Playstation od Sony. Nemá ovšem ze zjevných důvodů význam upravovat operační systém Android TV zařízení Nexus Playeru, spíše se v této práci zaměřím na některého alternativního výrobce Android zařízení, jež poskytuje firmware ne zcela optimalizovaný pro velké obrazovky televizorů a pokusím se jej upravit. Současně vytvořím výukový materiál pro předmět PV256 Projekt z programování pro Android. Pro vytvoření takové platformy je nutné zvolit vhodný hardware. Jako ideální zařízení se jeví chytré set-top boxy společnosti Zoomtak (viz Příloha 2), které mi byly společně se zařízením Nexus Player zapůjčeny pro potřeby této práce společností SledovaniTv.cz. Čínská společnost Zoomtak se od roku 2010 zaměřuje na vývoj chytrých set-top boxů pro domácí zábavu. Set-top boxy společnost dodává včetně vlastního upraveného firmware. Jelikož je zadáním této práce úprava systému Android, pokusím se vytvořit firmware, který bude vycházet z firmware společnosti Zoomtak a který vhodným způsobem upravím tak, aby byl použitelný pro obrazovky televizorů a byl jednoduše ovladatelný pomocí dálkového ovladače. Pro vytvoření takového firmware bude nutné upravit některé systémové proměnné operačního systému, zajistit aby při startu operační systém zobrazil vlastní logo, nahrát do něj nové české fonty, aj. Především ale bude nutné vytvořit nové uživatelské prostředí, tzv. launcher 1, jež bude vycházet z myšlenek a pravidel návrhu aplikací pro 1. Launcher je aplikace, která uživateli slouží mimo jiné k nalezení a spuštění ostatních nainstalovaných aplikací daného zařízení. 2
10 1. ÚVOD platformu Android TV. Budou použity vývojové nástroje platformy Android TV, konkrétně podpůrná knihovna Leanback Support Library. V následujícím textu budu dále předpokládat, že čtenář není začátečníkem v programování a tudíž by měl porozumět textu i ukázkám zdrojového kódu, jejichž podrobnému vysvětlování se ze zjevných důvodů v této práci nemohu věnovat. Proto, abych dosáhl výše zmíněného cíle, bude nutné v Kapitole 2 popsat uživatelské prostředí platformy Android TV a jelikož tato práce má také sloužit jako referenční výukový materiál pro kurz PV256, bude popsána i tvorba uživatelských aplikací pro tuto novou platformu. V Kapitole 3 čtenáře seznámím se zvolenou platformou Zoomtak set-top boxů, na nichž budu vytvořený firmware testovat a porovnám jejich hardwarové specifikace a softwarové vybavení s referenčním přístrojem Nexus Player platformy Android TV. V Kapitole 4 detailněji rozeberu návrh vytvořeného launcheru a popíši jeho ovládání za pomoci dálkového ovladače. V poslední Kapitole 5 se pak budu věnovat zajímavějším částem implementace launcheru platformy set-top boxu a v závěru této práce budou zhodnoceny dosažené výsledky. 3
11 2 Platforma Android TV Společnost Google na své každoroční konferenci Google I/O v červnu loňského roku mimo jiné představila novou platformu, která si má získat místo v obývacích pokojích náročnějších televizních diváků - Android TV. Google se již pátým rokem snaží zaujmout širší spektrum uživatelů. Prvním pokusem byla Google TV. Do tohoto programu se zapojilo několik výrobců v čele se společnostmi Logitech, Sony a LG, avšak postupem času se ukázalo, že platforma Google TV neuspěje a společnost Google tak na svém komunitním Google+ profilu [4] oznámila, že ukončuje podporu vývojových nástrojů pro platformu Google TV. Google TV si nekoupilo mnoho uživatelů, jednak díky nejednotnosti zařízení, na kterých byla nainstalována, ale také díky jejich pomalosti nebo chybovosti [5]. Navíc uživatelská rozhraní aplikací této platformy a jejich ovládání nebyla sjednocená, viz Příloha 4. V roce 2012 Google představil zařízení Nexus Q. Díky operačnímu systému Android 4.0 této platformy bylo podporováno spouštění videí z Youtube a Google Play. Kromě toho, že si získala na konferenci obdiv a Google ji rozdal vývojářům, nebyla nikterak dále společností Google podporována a vyvíjena [6]. Až třetí pokus byl úspěšnější. Chromecast, malé chytré zařízení ve formě USB flash disku, se prodalo miliony kusů. Oblibu si pomalu získává i u nás a to navzdory tomu, že ji zde společnost Google oficiálně neprodává. Hlavní předností tohoto zařízení je funkce Google Cast, jež umožňuje přenášení aktuální obrazovky chytrého mobilního telefonu s operačním systémem Android na obrazovku televizoru. V Google se rozhodli, že na úspěch zařízení Chromecast navážou a oklikou se tak vrací k původnímu konceptu Google TV. Avšak Android TV se se svými hardwarovými specifikacemi a jednoduchostí ovládání od Google TV výrazně liší. Android TV čerpá ze zkušeností předchozích platforem a společnost Google se snaží mnohem více spolupracovat s významnými technologickými výrobci. Na Obrázku 2.1 jsou zobrazena výše zmíněná zařízení. [7] Android TV je zařízení s nejnovějším operačním systémem Android 5.0 určené pro uživatele sledující televizní obrazovky, kteří očekávají přidanou hodnotu moderních plochých televizorů. Tito uživatelé mají však odlišné požadavky od těch, kteří používají mobilní telefon či tablet. Typický televizní divák sedí přibližně tři metry od televizní obrazovky, nemusí si tedy malých detailů všimnout, anebo pro něj mohou být špatně čitelné [12]. Hlavní rozdíl je v ovládání. Televizní divák je nucen používat dálkový ovladač televize pro navigaci v uživatelském rozhraní, musí se mezi 4
12 2. PLATFORMA ANDROID TV Obrázek 2.1: Zařízení pro rozšíření funkcí televizorů od společnosti Google. [8] jednotlivými prvky grafického rozhraní posouvat pomocí šipek dálkového ovladače a vybírat prvky zpravidla pomocí tlačítka OK. Kdežto uživatelé mobilních telefonů či tabletů se mohou obrazovky přímo dotýkat. Tyto rozdílnosti ve velké míře ovlivňují požadavky uživatelů na pohodlné a intuitivní ovládání daného přístroje. Televizní obrazovka je navíc mnohem větší než u jiných zařízení, a proto vytvoření pohodlného uživatelského rozhraní vyžaduje odlišný přístup a odlišné nástroje. Pro zjednodušení vývoje aplikace pro platformu Android TV můžeme využít společností Google poskytnuté nástroje knihovny Leanback Support Library. Knihovna nám poskytuje API a widgety 1 pro tvorbu aplikace. V následující Podkapitole 2.1 budou stručně charakterizovány klíčové vlastnosti platformy Android TV a budou popsány výsledky testování této platformy. V Podkapitole 2.2 bude podrobněji rozebrán grafický návrh uživatelského rozhraní launcheru platformy Android TV, budou popsány jeho jednotlivé ovládací prvky a představeny pravidla návrhu aplikace pro tuto 1. API (angl. Application Programming Interface) označuje rozhraní pro programování aplikací, jde o sbírku procedur, funkcí, tříd či protokolů knihovny, které může programátor využívat. Widget neboli ovládací prvek je základní element pro interakci programu s uživatelem. Ovládací prvek je vizuálně ztvárněn a obvykle slouží pro manipulaci s daty v daném programu. 5
13 2. PLATFORMA ANDROID TV platformu. V Podkapitole 2.3 bude čtenáři nastíněn způsob jak vytvořit vlastní aplikaci vhodnou pro platformu Android TV a budou popsány odlišnosti od vývoje aplikace pro standardní Android zařízení, jako jsou chytré mobilní telefony nebo tablety. Získané znalosti z této kapitoly nám dále v Kapitole 4 umožní navrhnout vlastní launcher platformy set-top boxů Zoomtak. 2.1 Specifikace platformy Android TV Před rozborem grafického návrhu uživatelského rozhraní této platformy budou popsány její klíčové vlastnosti. Uživatelské prostředí systému Android TV se skládá pouze z jedné hlavní obrazovky a několika dalších obrazovek, jež plní funkci uživatelského nastavení, zobrazení detailních informací o vybraném obsahu a přehrávání video souborů. Jednotlivé obrazovky jsou zobrazeny v Příloze 3. Operační systém Android TV je postaven na nejnovější verzi systému Android Lollipop. Android TV však disponuje odlehčenou verzí tohoto systému a uživateli tak nenabízí zdaleka tolik funkcionality jako samotný systém Android Lollipop. Hlavní funkce systému Android TV jsou následující: vyhledávání - vyhledává se hlasem nebo zadáním vstupu na softwarové klávesnici, je vhodné v nastavení zvolit jazyk vyhledávání. V aktuální verzi systému Android TV vyhledávání probíhá pouze mezi video soubory na serverech Google Play a Youtube, sledování video souborů - sledovat lze videa ze dvou zdrojů: Youtube nebo Google Play. Vyhledaná videa se zobrazí do řady. Pro přehrání videa slouží aplikace Youtube, jež zobrazí video na celou obrazovku a nabídne uživateli ovládací prvky, viz Příloha 3, poslouchání hudby - hudbu lze poslouchat pomocí aplikace Google Play Music, hudba je uživateli přehrána ze serveru Google Play, hraní her - hry uživatel může stahovat a instalovat za pomoci aplikace Google Play Games, tato aplikace uživateli umožní zaznamenávat statistiky, hrát hru on-line či multiplayer, stahovaní aplikací - stahovat a instalovat může uživatel nové aplikace nebo hry pomocí Google Play Store aplikace. Aktuální nabídka aplikací či her pro platformu Android TV není zatím příliš početná, 6
14 2. PLATFORMA ANDROID TV obsahuje přibližně 90 her většinou optimalizovaných pro herní dálkové ovládání a přibližně 20 aplikací sloužící převážně pro přehrávání videí z jiných video serverů, zobrazování obrazovky jiného zařízení - tuto funkcionalitu zajišt uje mechanismus Google Cast, jež umožní uživateli zobrazit aktuální obrazovku jeho Android zařízení, jako je chytrý mobilní telefon či tablet. Tato funkcionalita je součástí systému Android od verze Nejnověji lze také zobrazit obrazovku z internetového prohlížeče Chrome uživatelova počítače. [9] Ověření funkcí platformy Android TV Testování funkcí platformy Android TV probíhalo na zapůjčeném zařízení Nexus Player verze 5.1. Při testování byly ověřeny všechny avizované funkce, nepodařilo se pouze připojit externí USB flash disk do micro-usb konektoru a otevřít tak soubory z externího úložiště, tak jak například popisuje internetový článek na serveru androidcentral.com [10]. Při připojení ovládacího zařízení myš se okamžitě zobrazil kurzor myši, ale ovládání launcheru pomocí levého nebo pravého tlačítka nebylo možné. Naopak připojená hardwarová klávesnice se chovala očekávaným způsobem. Platforma Android TV je ale pohodlně ovladatelná za pomocí zařízení k tomuto účelu určeným: dálkové ovládání, herní dálkové ovládání anebo pomocí Android aplikace pro chytré telefony či hodinky Android Wear, viz Obrázek 2.2. Obrázek 2.2: Aplikace pro chytrý Android telefon či hodinky Android Wear pro dálkové ovládání platformy Android TV. [11] 7
15 2. PLATFORMA ANDROID TV 2.2 Grafický návrh Platforma Android TV poskytuje vlastní uživatelské prostředí. Je důležité porozumět návrhu tohoto prostředí, protože dle společnosti Google definuje ideální rozložení prvků a jejich ovládání, čehož bude využito při návrhu vlastního uživatelského prostředí platformy set-top boxu Zoomtak. [13] Launcher platformy Android TV Launcher platformy Android TV představuje uživatelské rozhraní, které má být vzorem pro nově vznikající aplikace této platformy. Právě nejednotnost uživatelských rozhraní a ovládání aplikací byla klíčovým aspektem neúspěchu platformy Google TV [5]. Uživatelské rozhraní launcheru Android TV se skládá z několika málo ovládacích prvků. Domovská obrazovka Jedná se o základní obrazovku, kterou uživatel navštěvuje nejčastěji. Poskytuje přístup k jednotlivým aplikacím či hrám, obsahuje vyhledávací nástroj, řadu karet s doporučeným obsahem, systémové nastavení, indikaci připojení k internetu a čas, viz Obrázek 2.3. Obrázek 2.3: Domovská obrazovka launcheru platformy Android TV, vyhledávací nástroj, čas a řada karet s doporučeným obsahem. [14] 8
16 2. PLATFORMA ANDROID TV Obrázek 2.4: Obrázek vlevo znázorňuje jeden ze základních prvků domovské obrazovky platformy Android TV - karta s personalizovaným obsahem: 1 - ikona obsahu, 2 - název, 3 - dodatečný informační text, 4 - tzv. badge image, neboli malá ikona přidružené aplikace k danému obsahu. Vpravo ikona uživatelské aplikace včetně lokalizovaného názvu pro platformu Android TV. [17] Vyhledávání Nástroj na vyhledávání je propojen s internetovým Google vyhledávačem. Vyhledávat lze hlasem nebo zadáním textu na dálkovém ovladači. Vyhledávací nástroj je zobrazen ve vrchní části Obrázku 2.3. Při vyhledávání hlasem je zvuk snímán bud z dodaného dálkového ovládání, herního dálkového ovládání nebo z mobilního telefonu či chytrých hodinek. Telefonem lze launcher ovládat pomocí aplikace k tomuto účelu určené, kterou má uživatel možnost si stáhnout z obchodu Google Play. Doporučený obsah Hlavním prvkem domovské obrazovky je řada karet s doporučeným obsahem, která umožňuje uživateli rychlý přístup k personalizovanému obsahu dle jeho předchozích aktivit, viz Obrázek 2.3. Mezi kartami s novým doporučeným obsahem lze jednoduše přecházet zleva doprava pomocí šipek na dálkovém ovládání. Prvky jednotlivé karty s doporučeným obsahem jsou popsané na Obrázku 2.4 vlevo. Systém Android doporučení vybírá ze služeb Google Play, Youtube nebo z nainstalovaných uživatelských aplikací. Uživatelské aplikace a hry Řady karet s aplikacemi a hrami jsou oddělené a mají své nadpisy, aby uživateli naznačily v jaké řadě se momentálně nachází, viz Obrázek 2.5. Karty aplikací si bohužel nemůže uživatel přeskládat dle svých preferencí, avšak v našem návrhu launcheru set-top boxu Zoomtak je tato možnost uživateli poskytnuta. Ukázková ikona aplikace pro platformu Andorid TV je zobrazena na Obrázku 2.4 vpravo. 9
17 2. PLATFORMA ANDROID TV Obrázek 2.5: Řady karet s uživatelskými aplikacemi a hrami, nastavení a indikace připojení k internetu. [15] Nastavení a indikace připojení Uživateli je umožněno vstoupit do standardního systémového nastavení nebo zjistit momentální stav připojení k Wi-Fi síti pomocí tlačítek ve spodní části domovské obrazovky, viz Obrázek 2.5. Obrazovka se systémovým nastavením a obrazovka s připojením k vyhledaným Wi-Fi sítím jsou zobrazeny v Příloze 3 dole. V návrhu launcheru platformy set-top boxu Zoomtak jsou podobná tlačítka uživateli také poskytnuta, viz Kapitola 4 o tvorbě uživatelského rozhraní vyvíjeného launcheru Doporučení při návrhu aplikace Vývojáři pro platformu Android TV by měli dodržovat určité vzorové rozložení ovládacích prvků obrazovky vyvíjených aplikací, aby uživatelům umožnili rychle pochopit ovládání dané aplikace. Navigace, Focus a Selekce Uživatelé ovládají TV aplikaci pomocí šipek tzv. D-padu 2 na dálkovém ovladači. Tento typ ovládání omezuje pohyb po obrazovce na 4 směry - nahoru, dolů, doleva a doprava, viz Obrázek D-pad (directional pad nebo control pad) je plochý, obvykle palcem ovládaný čtyřsměrový prvek s jedním tlačítkem pro každou stranu, k dispozici je na téměř všech moderních herních ovladačích, na dálkových ovladačích některých televizí, přehrávačů a telefonů. 10
18 2. PLATFORMA ANDROID TV Obrázek 2.6: Navigace mezi prvky uživatelského rozhraní pomocí D-padu. [16] Důležitým aspektem pro navigaci mezi prvky uživatelského rozhraní je tzv. focus, tj. mechanismus, který daný prvek zvýrazní a udělá jej pro uživatele odlišným od ostatních prvků. Zvýraznění by mělo být ve formě změny velikosti, stínování, průhlednosti, animací nebo kombinací těchto metod. Uživatel si vybere řadu v levém navigačním menu, provádí tzv. selekci. Tímto získává focus na první prvek vybrané řady. Tento způsob ovládání je dle společnosti Google pro uživatele srozumitelný, uživatel má možnost se mezi prvky viditelně pohybovat a provádět zamýšlené akce. Ikona aplikace Ikona reprezentuje aplikaci na domovské obrazovce v řadě karet s aplikacemi či hrami, a tudíž musí splňovat určité náležitosti. Standardní velikost ikony je 320 x 180 pixelů. Název aplikace je součástí ikony, pokud je aplikace dostupná ve více jazycích, musí být text názvu přeložen do daných jazyků. Na výše zobrazeném Obrázku 2.4 vpravo je znázorněn doporučený vzhled karty s aplikací. Pozadí Obrázek pozadí je vždy viditelný a vyplňuje celou část obrazovky. Obrázek by měl také splňovat určité náležitosti. Doporučené rozlišení je 1920 x 1080 pixelů plus 5% velikosti pro okraj, tzv. margin. Pokud má obrázek jiné rozměry, systém Android provede úpravu velikosti. Obrázek ne- 11
19 2. PLATFORMA ANDROID TV smí být ani částečně průhledný a jelikož aplikace pro platformu Android TV mají fixní orientaci, musí být obrázek poskytnut v tzv. landscape módu (tzn. naležato). Vývojář díky tomu nemusí uvažovat změnu orientace aplikace. Zvuková odezva Zvuky jsou v aplikacích pro Android TV velmi důležité. Spolu s vizuálním znázorněním informují uživatele o akcích, které provádí. Jsou obzvlášt důležité, pokud se uživatel pokouší o nepovolenou akci, jako např. navigace za konec řady s aplikacemi, aj Vize platformy Android TV Platforma Android TV není osobní počítač nebo mobilní telefon, proto musí být uživatelské rozhraní aplikací, běžících na tomto zařízení, přizpůsobeno uživateli a jeho požadavkům. Zde je soupis několika důležitých vizí nebo pravidel, které si platforma dává za cíl: okamžitý přístup k obsahu po zapnutí televize, jednoduchý, přehledný a intuitivní design, přirozené držení těla vsedě při sledování filmů, uživatelsky přívětivé prostředí pro hraní her, rychlý přístup uživatele k jeho oblíbené aplikaci (at už se jedná o sledování filmů nebo hraní her), veškerý obsah musí být přístupný maximálně do dvou kliknutí, omezení textu na obrazovce (informování uživatele pomocí vizuálních a zvukových efektů), minimalizování navigačních kroků potřebných ke spuštění určité akce, omezení nutnosti zadávat text na obrazovce (použití hlasového vyhledávání). [18, 49] 2.3 Tvorba aplikace pro Android TV Android již dnes nabízí bohaté zkušenosti s optimalizací aplikací pro zařízení s velkými obrazovkami a vysokým rozlišením. Vývoj aplikací pro 12
20 2. PLATFORMA ANDROID TV platformu Android TV proto nabízí vývojářům novou příležitost jak zaujmout uživatele, a to přímo v pohodlí jejich domovů. Aplikace pro Android TV používají stejnou strukturu jako aplikace pro Android mobilní telefony či tablety. To znamená, že vývojáři mohou vytvářet nové Android TV aplikace založené na zkušenostech, které získali při vývoji pro jiné Android platformy. Kapitola popisuje jak začít s vývojem pro platformu Android TV, včetně nastavení vývojového prostředí. Kapitola stručně pojednává o nástrojích, které nám usnadní vývoj aplikace pro platformu Android TV s předem daným návrhem uživatelského rozhraní. V této kapitole jsou také zmíněny možnosti optimalizace stávajících projektů pro platformu Android TV, nicméně model interakce uživatele s Android TV aplikacemi je podstatně odlišný od interakce s mobilními telefony či tablety, jak již bylo v předchozím textu zmíněno. V kapitole je popsáno v čem je vlastně tato platforma tak odlišná od jiných Android platforem a čeho si musí být vývojář vědom při tvorbě aplikace pro tuto platformu. Kapitola popisuje ovládací zařízení platformy Android TV a v kapitole je nastíněno jak vytvořit efektivní rozhraní aplikace pro tuto platformu. [19] Nastavení Android projektu Tato kapitola popisuje jak nastavit vývojové prostředí pro tvorbu TV aplikací. Hlavní komponenty, které musí vývojář využít jsou: aktivita pro běh na platformě Android TV - nutnou podmínkou je v souboru AndroidManifest.xml deklarovat aktivitu pro běh na platformě Android TV, viz Program 2.1, podpůrné knihovny - existují tři podpůrné knihovny pro vývoj TV aplikace, viz následující kapitola Prerekvizity Než vývojář přistoupí k psaní zdrojového kódu je nutné zkontrolovat několik náležitostí jeho vývojového prostředí: verze vývojového prostředí Android Studia 0.8 nebo novější, aktualizace SDK 3 tools na verzi minimálně tato aktualizace umožní vytvářet a testovat TV aplikace, aktualizace SDK pro novou verzi Android 5.0 (API 21) nebo vyšší a kompilační nástroj Gradle verze minimálně SDK (software developement kit) je souhrn vývojových nástrojů, které zahrnují knihovny, emulátor, debugger, dokumentace, ukázkové projekty, aj. 13
21 2. PLATFORMA ANDROID TV 1 <manifest> 2 <uses-feature android:name="android.software.leanback" 3 android:required="true"/> 4 <uses-feature android:name="android.hardware.touchscreen" 5 android:required="false" /> 6 <uses-feature android:name="android.hardware.gamepad" 7 android:required="false"/> <application android:banner="@drawable/banner"> <activity 14 android:name=".activity.baseactivity" 15 android:label="@string/app_name" 16 android:configchanges="keyboard keyboardhidden navigation" 17 android:theme="@style/theme.leanback"> 18 <intent-filter> 19 <action android:name="android.intent.action.main"/> 20 <category android:name="android.intent.category.leanback_launcher"/> 21 </intent-filter> 22 </activity> 23 </application> 24 </manifest> Program 2.1: Vzorová definice souboru AndroidManifest.xml pro platformu Android TV. Šedou barvou jsou zvýrazněny důležité řádky. Deklarace Android TV komponent V souboru AndroidManifest.xml, který udržuje a předává základní informace o aplikaci Android systému, definujeme strukturu potřebnou pro vývoj Android TV aplikace podle Programu 2.1. Vyvíjíme-li aplikaci pro platformu Android TV informujeme o tom Android systém pomocí příkazů intent filter 4 a uses-feature. Intent filter označí aplikaci jako spustitelnou na platformě Android TV a umožní ji stahovat uživatelům platformy Android TV z Google Play obchodu. Nezbytné je deklarovat, že nepoužíváme zařízení s dotykovou obrazovkou opět pomocí příkazu uses-feature. Poslední nutnou úpravou aplikačního manifestu je poskytnutí ikony vyvíjené aplikace (viz Obrázek 2.4 vpravo) pomocí příkazu android:banner pro launcher platformy Android TV, tak jak je znázorněno v Programu 2.1 na řádku Intent je object zprávy, díky kterému mohou komponenty Android systému mezi sebou komunikovat. Intent filter tedy definuje, na které intent zprávy má daná komponenta reagovat. 14
22 2. PLATFORMA ANDROID TV Podpůrné knihovny Pokud pro vývoj aplikace použijeme vývojové prostředí Android Studio, můžeme již při založení projektu zvolit jako typ nového projektu Android TV, čímž se nám nainstalují veškeré potřebné nástroje do projektu automaticky. Pokud ovšem chceme konvertovat již vzniklou aplikaci do formátu, použitelného na platformě Android TV, musíme nástroje deklarovat pomocí závislostí v souboru build.gradle, viz Program 2.2. Android SDK obsahuje podpůrné knihovny, které jsou určeny pro vývoj Android TV aplikací. Následuje výčet a popis zmíněných knihoven, které jsou umístěny v adresáři <sdk>/extras/android/support/: v17 leanback library - poskytuje potřebné komponenty a widgety uživatelského rozhraní TV aplikace, v7 recyclerview library - poskytuje třídy pro správu zobrazení seznamů s aplikacemi či jiným obsahem, předchozí zmíněná knihovna využívá komponent této knihovny, v7 cardview library - poskytuje widgety uživatelského rozhraní pro zobrazení informací uvnitř karet, které mají konzistentní vzhled, v4 support library - poskytuje komponenty potřebné pro knihovnu Leanback. Leanback poskytuje styl aplikace nazvaný Theme.Leanback, který nám zajistí konzistentní vizuální schéma televizní aplikace a je doporučen pro každou aplikaci, která využívá třídy z knihovny Leanback. V případě, že má vývojář v úmyslu aplikaci vyvinout nejen pro platformu Android TV, ale i ostatní Android platformy nebo konvertuje-li aplikaci na platformu Android TV, může nastavit parametr android:required v aplikačním manifestu na hodnotu false. Tímto krokem vývojář informuje systému Android, že se nemusí jednat pouze o aplikaci pro TV platformu. Při konvertování aplikace na platformu Android TV je nutné poskytnout aplikaci nový layout 5 pro stávající aktivity, který bude jednodušší pro navigaci pomocí dálkového ovládání a bude dodržovat doporučení zmíněná v předchozí Kapitole I když knihovna Leanback byla navržena pro systém Android Lollipop, podporuje i starší verze systému, a to jednak z důvodu možnosti 5. Layout neboli grafické rozvržení jednotlivých prvků obrazovky Android aplikace zahrnuje obvykle formát, rozvržení, velikost a barvu textů/obrázků/tlačítek/linek/prázdných ploch a dalších grafických prvků. 15
23 2. PLATFORMA ANDROID TV 1 dependencies { 2 compile "com.android.support:leanback-v17:21.0.0" 3 compile "com.android.support:recyclerview-v7:21.0.0" 4 compile "com.android.support:cardview-v7:21.0.0" 5 compile "com.android.support:support-v4:21.0.0" 6 } Program 2.2: Deklarace závislostí pro platformu Android TV v souboru build.gradle. Obrázek 2.7: Knihovna Leanback využívá komponent knihoven Recycler- View a V4. konvertování aplikací ze standardních Android platforem (mobilní telefon, tablet) na Android TV a také z důvodu podpory aplikací platforem, které předcházely platformě Android TV, tzn. převážně aplikací platformy Google TV. Tato knihovna je závislá na komponentách z jiných dvou podpůrných knihoven, viz Obrázek 2.7. Následující Tabulka 2.1 obsahuje výčet hlavních komponent knihovny Leanback, které mohou být pro vývojáře užitečné. Leanback Support Library je navržena na základě návrhového vzoru Model-Presenter-View, který je odvozen ze vzoru Model-View-Controller. Model představuje datovou část aplikace, která udržuje objekty. V návrhovém vzoru Model-Presenter-View nejsou kladeny téměř žádné požadavky na formu nebo vlastnosti objektů modelové části. To umožňuje vývojáři konvertovat jeho aplikaci na platformu Android TV bez větších úprav modelové části jeho aplikace. Část View zastupuje standardní view prvky layoutu Android aplikací jako je například TextView nebo ImageView. Zajímavější částí tohoto vzoru je Presenter, jež zastupuje souhrn komponent, které nám umožní navázat objekty z modelové části aplikace do jednotlivých grafických prvků View části a taktéž nám umožní definovat vzhled jednotlivých prvků. 16
24 2. PLATFORMA ANDROID TV BrowseFragment VerticalGridFragment SearchFragment DetailsFragment RowsFragment BackgroundManager ArrayObjectAdapter HeaderItem ImageCardView ListRow ListRowPresenter Presenter Presenter.ViewHolder navigační menu, přepínání mezi kategoriemi a podpora ostatních Leanback komponent správa a vykreslení jednotlivých objektů řad a kategorií podpora vyhledávání a vrácení výsledku pro RowsFragment vykreslení obrazovky s detailním popisem karty s obsahem definuje řadu karet sofistikovanější změny pozadí za běhu aplikace více použití, hlavním cílem této komponenty je udržovat objekty jednotlivých řad udržuje metainformace o dané řadě karet view objekt pro vykreslení ikony karty s obsahem zahrnuje ArrayObjectAdapter s objekty a HeaderItem s informacemi o řadě vykresluje ListRow objekt generuje jednotlivá view, ve kterých zobrazuje objekty ArrayObjectAdapteru stará se o provázání objektů z ArrayObjectAdapteru s view, zároveň ukládá do mezipaměti již načtené objekty pro opětovné vykreslení Tabulka 2.1: Hlavní komponenty knihovny Leanback Základní komponenty návrhu aplikace jsou čtyři (viz Obrázek 2.8). SearchFragment podporuje vyhledávání v aplikaci, poskytuje rozhraní vyhledávání a umožňuje získat a vykreslit výsledek vyhledávání pomocí komponenty RowsFragment. VerticalGridFragment definuje uspořádání objektů do karet. DetailsFragment poskytuje možnost vykreslení karty s obsahem v detailnější podobě, včetně textů, tlačítek a ikony. Hlavní komponentou je BrowseFragment, který definuje použití ostatních komponent z knihovny Leanback a umožňuje nám definovat layout komponent levého navigačního menu a řady karet s obsahem. BrowseFragment je nutné definovat v layoutu aplikace tak, jako v Programu
25 2. PLATFORMA ANDROID TV 1 <fragment 2 xmlns:android=" 3 android:id="@+id/main_browse_fragment" 4 android:name="launcher.box.sledovanitv.cz.fragment.mainfragment" 5 android:layout_width="match_parent" 6 android:layout_height="match_parent" 7 /> Program 2.3: Definice BrowseFragmentu v layout souboru dané aktivity. Obrázek 2.8: Znázornění základních čtyř komponent knihovny Leanback. Obrázek 2.9: Rozložení jednotlivých komponent knihovny Leanback v doporučeném stylu Theme.Leanback. 18
26 2. PLATFORMA ANDROID TV Modelovou část knihovny Leanback zastupuje komponenta ObjectAdapter, která programátorovi umožní udržovat jakýkoliv typ objektu, včetně vlastních definovaných objektů. Modelová část aplikace může pracovat s lokálními objekty nebo on-line se vzdálenými objekty. V aplikaci vývojář použije třídu ArrayObjektAdapter, která rozšiřuje vlastnosti ObjectAdapteru. ArrayObjectAdapter udržuje objekty komponenty ListRow, jež se skládá ze dvou částí - HeaderItem a dalšího ArrayObjectAdapteru. HeaderItem udržuje metainformace o dané řadě karet, jako je například název celé řady. Vnořený ArrayObjectAdapter již udržuje objekty karet. Další důležitou komponentou v hierarchii knihovny je CardPresenter, kterou vývojář ovlivňuje vzhled karty. Karta se skládá z několika prvků: ikona, jméno, informační text a badge image. Tyto prvky jsou zobrazeny na obrázku 2.4 vlevo. Třída CardPresenter dědí ze třídy Presenter a rozšiřuje tak chování metod oncreateviewholder a onbindviewholder. První zmíněná metoda je provedena při prvním spuštění aplikace, tedy při vytvoření komponent BrowseFragmentu. V této metodě definujeme jednotné vlastnosti karet, jako jsou barva pozadí, velikost textu, aj. Metoda onbindviewholder je provedena vždy, když dochází k posunu focus mezi kartami a máme definováno více objektů v ArrayObjectAdapteru, které se všechny současně nemohou zobrazit v kartách na obrazovce. Karty postupně odtékají doprava a uživatel tak při posunu mezi kartami neopustí hlavní obrazovku. Vždy když se objeví nová karta, která nebyla doposud viditelná, je provedena právě metoda onbindviewholder pro danou kartu, která definuje konkrétní text, ikonu a další vlastnosti karty. Leanback knihovna poskytuje celou řadu dalších komponent pro prohlížení a interakci s položkami. Na Obrázku 2.9 je zobrazeno zjednodušené schéma hierarchie zmíněných komponent knihovny. Toto rozvržení si samozřejmě může vývojář poupravit pro potřeby vlastní aplikace. Leanback a její komponenty byly využity pro tvorbu vhodného uživatelského rozhraní platformy set-top boxu Zoomtak popsané v následující kapitole Odlišný hardware Hardwarové komponenty platformy Android TV jsou odlišné od těch v mobilních telefonech či tabletech. Platforma TV nedisponuje dotykovou obrazovkou, vestavěným fotoaparátem, GPS přijímačem, senzory 6, aj. Zařízení Android TV je naopak zcela závislé na hardwarových komponentách, jako jsou televizní obrazovka a dálkové ovládání nebo herní ovládání, tzv. 6. Mezi senzory standardního Android zařízení mohou patřit: akcelerometr, barometr, kompas, gyroskop, světelný senzor, senzor vzdálenosti, krokoměr a detektor chůze. 19
27 2. PLATFORMA ANDROID TV gamepad 7. Pokud tedy vyvíjíme pro platformu Android TV, Android systém nepodporuje následující hardwarové komponenty: Hardware Dotyková obrazovka Emulátor dotykové obrazovky Telefonní modul GSM Vestavěný fotoaparát Bluetooth NFC (Near field communications) GPS Mikrofon Senzory Android deskriptor android.hardware.touchscreen android.hardware.faketouch android.hardware.telephony android.hardware.camera android.hardware.bluetooth android.hardware.nfc android.hardware.location.gps android.hardware.microphone android.hardware.sensor Pokud konvertujeme aplikaci na platformu Android TV a aplikace je funkční i bez dané hardwarové komponenty, je doporučeno uvést v manifestu aplikace příkaz android:required="false", čímž informujeme systém Android, že hardwarová komponenta není nezbytná. Pokud však pokud tento příkaz neuvedeme, nemůže být aplikace nainstalována na zařízení Android TV. V případě uvedení zmíněného příkazu, můžeme kontrolovat dostupnost hardwarových komponent až za běhu aplikace pomocí příkazu hassystemfeature(string) a vhodným způsobem na to reagovat, viz Program // Test dostupnosti telefonniho modulu. 2 if (getpackagemanager().hassystemfeature("android.hardware.telephony")) { 3 Log.d("HardwareFeatureTest", "Zarizeni podporuje telefonni hovory"); 4 } Program 2.4: Kontrola dostupnosti telefonního modulu na dané platformě. Dotyková obrazovka V dnešní době drtivá většina televizních obrazovek není dotykových, není to totiž v souladu s jejich primárním účelem, kdy uživatel sedí přibližně tři metry od obrazovky a ovládá ji dálkovým ovladačem. Proto také platforma Android TV nepodporuje prvky uživatelského rozhraní s aktivním dotykovým módem. Vývojář by si tohoto faktu měl být vědom a přizpůsobit rozhraní ovládání pomocí D-padu. 7. Gamepad je vstupní zařízení k ovládání počítače, herní konzole nebo jiné platformy, používané při hraní počítačových her a videoher. 20
28 2. PLATFORMA ANDROID TV Obrázek 2.10: Dálkové a herní ovládání se zvýrazněným minimem podporovaných tlačítek. [33] Fotoaparát Ačkoliv většina televizorů nedisponuje vestavěným fotoaparátem, stále máme možnost vyvíjet foto aplikace pro platformu Android TV, pouze uživateli znemožníme pořízení nového snímku, ale ponecháme možnost prohlížení a editaci existujících fotografií. GPS Android TV zařízení jsou zamýšleny jako stacionární zařízení k vnitřnímu užití, a proto neobsahují GPS modul. Stále ale můžeme uživateli ponechat možnost zjišt ování pozice pomocí internetového připojení Dálkové ovládání Pro interakci uživatele s Android TV zařízením je nutné dodatečné hardwarové vybavení, jako je dálkové ovládání nebo gamepad. To znamená, že aplikace musí podporovat čtyřsměrové tlačítko D-pad. Aplikace by měla vhodně reagovat na stav, kdy se dálkové ovládání vybije a také by měla být schopna reagovat na více připojených dálkových ovládání současně. Aplikace musí na dálkovém ovládání podporovat minimálně tlačítka D-padu (nahoru, dolů, doleva, doprava), tlačítko OK, tlačítko domů a tlačítko zpět. Pokud se jedná o herní aplikaci, měla by být schopna reagovat na většinu dostupných tlačítek herního ovládání, viz Obrázek Dálková ovládání jsou většinou připojena k přijímacímu zařízení pomocí technologie Bluetooth, což umožňuje přepnutí do režimu úspory 21
29 2. PLATFORMA ANDROID TV energie a odpojení od přijímacího zařízení v případě, že ovládání není právě využíváno. To ale může způsobit přerušení nebo restart aplikace. Přerušení může nastat v těchto případech: sledování několik minut dlouhých videí, při hraní her, kdy se k zařízení připojí hráč s novým dálkovým ovládáním nebo při hraní her, kdy se některé dálkové ovládání odpojí. Android TV aplikace by měla ve svém aplikačním manifestu deklarovat, že je schopna na události přerušení (odpojení nebo připojení) reagovat pomocí příkazu: android:configchanges="keyboard keyboardhidden navigation" Viz 16. řádek Programu 2.1. Aplikace bude v takovém případě standardně pokračovat ve svém běhu a nebude přerušena ani restartována. Pokud chceme, aby naše aplikace (hra nebo jiný typ aplikace) podporovala gamepad, uvedeme v aplikačním manifestu příkaz: <uses-feature android:name="android.hardware.gamepad"/> V případě, že lze aplikaci ovládat nejen pomocí gamepadu, ale i dálkového ovládání přidáme ještě příkaz: android:required="false", viz 6. řádek Programu 2.1. Uživatel má možnost využívat více dálkových ovládání (gamepad nebo standardní dálkové ovládání), u kterých se mohou identifikátory jednotlivých tlačítek lišit, a to i u D-padu. Proto je nutné aplikaci nakonfigurovat na přijímání rozlišných signálů z dálkových ovládání, více o tomto tématu naleznete v [21] Tvorba layoutu Android TV aplikace Televizní obrazovky připojené k platformě Android TV zpravidla disponují mnohem většími rozměry a neposkytují tak stejnou úroveň detailů a barev jako menší obrazovky chytrých mobilních telefonů či tabletů. Tento aspekt vyžaduje tvorbu odlišného typu layoutu rozhraní aplikace, tak aby bylo ovládání aplikace pro uživatele jasné, rychlé a zábavné. Na Obrázku 2.11 je zobrazen příklad layoutu uživatelského rozhraní TV aplikace. Jak již bylo zmíněno v Kapitole o podpůrných knihovnách, je doporučeno využití stylu knihovny Leanback - Theme.Leanback, který nám zajistí konzistentní vizuální schéma televizní aplikace. V Programu 2.1 na řádku 17 je ukázána deklarace použití tohoto stylu. Pokud se vývojář rozhodne styl knihovny Leanback nevyužít, a přesto vyvíjí aplikaci pro 22
30 2. PLATFORMA ANDROID TV Obrázek 2.11: Příklad rozložení prvků v layoutu, uživatelsky přívětivého rozhraní Android TV aplikace (podle tvůrců tohoto layoutu ze společnosti Google). Android TV, může využít styl Theme.NoTitleBar, který zneviditelní Title bar 8 v jeho aplikaci. Následuje několik tipů jak vytvořit užitečný a efektivní layout TV aplikace: vytvoření layoutu v landscape módu - naležato, protože televize jsou vždy vyráběny s delší spodní a vrchní hranou obrazovky, v levé nebo pravé části layoutu by měly být umístěny ovládací prvky aplikace, přičemž zbylá část je určena pro obsah aplikace a měla by tak mít dostatečnou šířku, rozčlenění části layoutu určené pro obsah aplikace na několik částí za použití Fragment a GridView komponent, které nám umožní hladce se horizontálně posouvat mezi prvky obsahu, využití layout komponent RelativeLayout a LinearLayout, jež přizpůsobí pozice jednotlivých prvků layoutu velikosti a kvalitě rozlišení televizní obrazovky, použití vhodného margin (odsazení) mezi jednotlivými prvky layoutu a využití zvukových efektů pro navigaci mezi jednotlivými prvky layoutu rozhraní dané aplikace.[22] 8. TitleBar je komponenta Android aplikací od verze Android 3.0, která zastupuje roli záhlaví aplikace. 23
31 2. PLATFORMA ANDROID TV Texty a ovládací prvky layoutu by měly být dobře viditelné a snadno ovladatelné i z větší vzdálenosti, měly by proto splňovat několik následujících doporučení: rozčlenění delších textů do shluků (skupin), které jsou pro uživatele lépe čitelné než dlouhé texty, použití světlé barvy textu na tmavém pozadí, tím opět zlepšíme čitelnost textu, omezení fontů s velmi úzkými nebo naopak širokými písmeny, doporučen je standardní font sans-serif, použití standardních velikostí fontů, jelikož mohou být obrazovky televizorů různě velké, je důrazně doporučeno využívat relativních jednotek velikostí: dip (density-independent pixel) namísto absolutní jednotek pixelů px. [22] Dnes již běžně rozlišení širokoúhlých plochých televizorů dosahuje 1920 x 1080 pixelů a více. Proto bychom obrázky, které chceme použít v layoutu aplikace, měli uvádět v lepším rozlišení a nechat systém Android at s obrázky provede downscale 9 [23]. Pro získání nejlepšího výsledku, po provedení úprav velikosti obrázku systémem Android, je lepší obrázky poskytovat v tzv. 9-patch formátu. Více se o formátu 9-patch dočtete v [25]. V této kapitole již bylo zmíněno několik přístupů k návrhu layoutu uživatelského rozhraní TV aplikace, které bychom měli používat. Zde je soupis těch, kterých bychom se měli vyvarovat: opětovné použití layoutu z aplikace pro mobilní telefon či tablet bez modifikací, použití komponenty ActionBar 10 - nebylo by totiž možné tuto komponentu pohodlně ovládat pomocí dálkového ovládání, použití komponenty ViewPager 11 - komponenta využívající dotyk a posun prstu po obrazovce, což zjevně není u televizorů možné. [24] 9. Downscale je zmenšení obrázků metodou ořezání, která ale nedegraduje kvalitu obrázků. 10. Komponenta ActionBar vypadá podobně jako TitleBar s tím rozdílem, že se jedná o mnohem sofistikovanější komponentu moderních Android aplikací, která obsahuje navíc i navigační tlačítka. 11. Komponenta ViewPager slouží pro pohodlné přecházení mezi jednotlivými obrazovkami aplikace za pomocí přejetí prstu po obrazovce tzv. swipe. 24
32 2. PLATFORMA ANDROID TV Návrh kvalitního uživatelského rozhraní aplikací byl jeden z důvodů, proč neměla předchozí platforma Google TV úspěch, protože pokud pro platformu neexistují kvalitní aplikace, zákazníci o ni nemají zájem. Aplikace možná nebyly až tak nekvalitní, ale neměly sjednocené uživatelské rozhraní a jejich ovládání, viz Příloha 4. Android TV se tomu snaží předcházet poskytnutím propracovaných podpůrných vývojářských nástrojů jako je Leanback knihovna. Doporučený obsah V řadě karet s doporučeným obsahem launcheru platformy Android TV se zobrazují systémem generované doporučení, vývojář však může svou aplikaci přidat do výpisu systémových doporučení a nechat ji tak uživatelům zobrazovat v řadě karet. Podrobný návod naleznete v článku [26]. Reklama V Android TV aplikacích je reklama povolená, tak jako v aplikacích pro jiné Android platformy, musí však splňovat určitá pravidla. Reklama by měla vždy vyplnit celou obrazovku, aby nedocházelo k překrytí jen části obsahu obrazovky a uživateli bylo zřejmé, že může reklamu zrušit. Uživatel musí mít tak možnost reklamu kdykoliv zrušit a vrátit se pomocí D-padu na předchozí obrazovku. Video reklama může trvat maximálně 30 vteřin od jejího spuštění. Více informací o vývoji aplikací pro platformu Android TV čtenář nalezne na oficiálních webových stránkách Android Developers [27], kde se nachází vše od specifikací, tutoriálů až po vzorové aplikace. Obzvláště zajímavé jsou pak sekce o vývoji her nebo aplikací pro streamování video souborů. Další informace lze nalézt na oficiálním blogu platformy Android TV [28], webové diskuzní stránce StackOverflow [29] nebo komunitní Google+ stránce [30]. Aktuálně dostupné hry a aplikace pro platformu Android TV čtenář nalezne na portále Google Play [31, 32]. V této kapitole o platformě Android TV byla čtenáři představena tato platforma a byly popsány ovládací prvky a vývojové nástroje, kterých bylo využito pro návrh uživatelského prostředí platformy set-top boxu Zoomtak. Následovat bude kapitola, která popíše zvolenou platformu set-top boxu z pohledu hardware i firmware a porovná ji s referenčním přístrojem Nexus Player platformy Android TV. 25
33 3 Platforma set-top boxů Zoomtak Cílem této práce je vytvořit vlastní upravený firmware pro vybrané Android zařízení, tato kapitola pojednává o hardwarovém a softwarovém vybavení platforem získaných set-top boxů s operačním systémem Android. Pro účely této práce byly k dispozici 4 modely set-top boxů, které společnost Zoomtak označuje jako: Zoomtak M6 Dual Core Smart TV Box, Zoomtak M5 Quad Core Android TV Box, Zoomtak K5 Quad Core Android TV Box, Zoomtak K8 Quad Core Android TV Box. Všechny čtyři set-top boxy jsou znázorněny v Příloze 2. Set-top boxy Zoomtak jsou pro účely této práce vhodná zařízení. Set-top boxy neobsahují tuner pro přijímání digitálního signálu (stejně tak jako platforma Nexus Player), ale umožňují připojení k internetu pomocí RJ45 Ethernet rozhraní nebo Wi-Fi modulu. Disponují firmware s operačním systémem Android Jelly Bean v případě modelu M6 a Android KitKat v případě modelů M5, K5 a K8. Jsou vyráběny čínskou společností Zoomtak se sídlem v Hongkongu. Zoomtak nabízí mnoho Android zařízení, které mají jeden společný rys - nedisponují obrazovkou. Tato zařízení jsou tedy primárně určena pro připojení k monitoru nebo televizní obrazovce pomocí HDMI kabelu. V nabídce společnosti jsou zařízení, která obsahují dvou nebo čtyřjádrové procesory. Zmíněné set-top boxy se od sebe svými hardwarovými specifikacemi příliš neliší. Rozdílnosti jsou v komponentách CPU, GPU, ve velikosti RAM paměti, počtu USB portů, Bluetooth modulu a podpoře výstupního video formátu. Set-top box M6 obsahuje dvoujádrový procesor, M5, K5 a K8 obsahují čtyřjádrový procesor. Grafický procesor obsahují set-top boxy M5 a K5 stejný - Quad-core Mali-450MP, M6 obsahuje Dual-core Mali-400 a K8 Octa-core Mali-450MP. Set-top boxy M5 a M6 disponují čtyřmi USB 2.0 porty, zatímco K5 a K8 mají tyto porty tři. K5 a K8 nemají oproti M5 a M6 výstupní YpbPr port a disponují namísto Coaxial audio výstupním portem optickým audio výstupním portem. Kromě K8 poskytují všechny set-top boxy video výstup v rozlišení až 1080P, K8 však nabízí video výstup v rozlišením až 4K. Poslední důležitou odlišností v hardware set-top boxů je přítomnost Bluetooth modulu, M6 je starší než ostatní tři set-top boxy a tento modul neobsahuje. 26
34 3. PLATFORMA SET-TOP BOXŮ ZOOMTAK Podrobné specifikace všech čtyř set-top boxů jsou formou tabulek popsány v Příloze 5. V následujícím textu budeme považovat set-top box M6 za referenční, jelikož jsou si výše uvedené set-top boxy v mnoha ohledech velmi podobné a pocházejí od stejného výrobce. Set-top box M6 byl vybrán za zástupce ostatních tří set-top boxů také z toho důvodu, že byl vyroben dříve než zbylé tři (neobsahuje například tak výkonný procesor nebo grafickou jednotku) a disponuje starším operačním systémem Android 4.2. Nástroje podpůrné knihovny Leanback jsou dle společnosti Google zpětně kompatibilní a neměl by tedy být problém spustit vytvořený launcher na kterémkoliv set-top boxu. Testování vytvořeného prostředí launcheru ovšem proběhne na všech čtyřech zařízeních a výsledky testování budou zmíněny v Kapitole 5.3. Následující Podkapitola 3.1 podrobněji popisuje hardware set-top boxu M6 a porovnává jej s hardwarem zařízení Nexus Player. Podkapitola 3.2 pojednává o softwarovém vybavení set-top boxu, porovnává firmware set-top boxu se standardním firmware neupraveného systému Android 4.2 a popisuje provedené úpravy ve firmware set-top boxu. 3.1 Hardwarové specifikace platformy M6 Set-top box M6 je malá hliníková 200g vážící krabička s rozměry 16 x 10 x 2,5cm, vzhled zařízení je zobrazen v Příloze 6. Řídícím prvkem této platformy je dvoujádrový procesor Amlogic s maximální frekvencí 1.5GHz. Disponuje integrovanou dvoujádrovou grafickou jednotkou Mali-400 s 3D akcelerací. K síti internetu lze M6 připojit pomocí zabudovaného b/- g/n Wi-Fi modulu nebo pomocí RJ45 Ethernet portu. Procesor má k dispozici 1GB RAM paměti a 8GB vnitřního úložiště pro data. Vnitřní úložiště je rozšiřitelné SD/MMC/MS kartou do velikosti až 32GB nebo pomocí externího USB zařízení do velikosti až 3TB. Externí zařízení lze k M6 připojit pomocí několika rozhraní: HDMI Digital Audio & Video Output - pro připojení externí obrazovky, AV output - alternativní cesta pro připojení starších televizorů, které nedisponují HDMI portem, YPbPr - další možnost připojení obrazovky, jedná se o připojení ke starším PC monitorům, 27
35 3. PLATFORMA SET-TOP BOXŮ ZOOMTAK USB 2.0 (4x) - pro připojení externích pamětí nebo jiných USB zařízení jako je myš, klávesnice nebo webová kamera, SD/MMC/MS card slot - pro připojení karty s uživatelskými daty. [37, 38] Detailněji jsou porty pro připojení externích zařízení zobrazeny na Obrázku 3.1 a také popsány v tabulce Přílohy 5 s hardwarovými specifikacemi této platformy. V přední části set-top boxu se nachází tlačítko pro zapnutí/ vypnutí zařízení, IR 1 přijímač signálu dálkového ovládání a LCD display pro zobrazení stavových informací nebo aktuálního času. Set-top box přehraje mnoho video a audio formátů, viz spodní část zmíněné tabulky. Obrázek 3.1: Popis portů set-top boxu Zoomtak M6 pro připojení externích zařízení. [44] Balení kromě samotného set-top boxu obsahuje také IR dálkové ovládání. Dálkové ovládání využívá technologii přenosu informací pomocí infračerveného světla. Na dálkovém ovládání je rozmístěno několik tlačítek. Mezi ty nejdůležitější, která byla využita při návrhu ovládání launcheru platformy M6, patří: OK, zpět, domů, zapnout/vypnout, tlačítka ovládání 1. IR (z angl. infrared) značí druh přenosu informací pomocí infračerveného záření. Většina dnešních dálkových ovládání televizorů nebo jiných zařízení na dálkové ovládání používá technologii přenosu informací pomocí IR. 28
36 3. PLATFORMA SET-TOP BOXŮ ZOOMTAK Obrázek 3.2: IR dálkové ovládání set-top boxu M6 s vyznačenými tlačítky, které byly použity pro ovládání vytvořeného launcheru platformy set-top boxu M6. zvuku, tlačítka QWERTY klávesnice, barevná tlačítka ve vrchní části ovladače (červené, zelené, žluté, modré) a tlačítka D-padu. Tlačítka ovládání vytvořeného launcheru jsou zobrazena na Obrázku Srovnání platforem Android TV a M6 V této podkapitole je porovnán hardware referenčního přístroje platformy Android TV - Nexus Player s vybraným Android zařízením - set-top box Zoomtak M6. Pro srovnání byla vytvořena následující Tabulka 3.1, která porovnává klíčové hardwarové parametry. Jak je z tabulky patrné obě zařízení jsou velikostně i váhově srovnatelná. Nexus Player disponuje modernějším procesorem a grafickou jednotkou, jež umožní přehrát video v rozlišení až 4K, což v případě zařízení Zoomtak 29
37 3. PLATFORMA SET-TOP BOXŮ ZOOMTAK M6 není možné. Obě zařízení mají shodnou velikost operační paměti a vnitřního úložiště. Avšak set-top box K8 je vybavený výkonnějším procesorem než Nexus Player a disponuje RAM pamětí o kapacitě 2GB. Co se rozhraní týče, platforma Zoomtak M6 poskytuje mnohem více možností oproti platformě Nexus Playeru. Je to z toho důvodu, že Zoomtak M6 nebyl vytvořen pro konkrétní účel tak jako Nexus Player (tj. pro účely Android TV). V případě konektivity se zařízení zásadně liší. Nexus Player obsahuje Bluetooth modul pro bezdrátové připojení externích zařízení jako je dálkové ovládání nebo gamepad, M6 tímto modulem nedisponuje a s dálkovým ovládáním je propojen pomocí IR technologie. Bohužel přenos pomocí Rozdíly CPU GPU Android TV - Nexus Player Intel Atom Quad Core 1.8GHz Imagination PowerVR Series 6 Graphics 2D/3D Engine Zoomtak M6 Amlogic Dual Core 1.5GHz Dual Core Integrated Mali-400 GPU (3D Acceleration Engine) RAM 1GB 1GB ROM 8GB 8GB Konektivita Rozhraní Rozměry a váha Dálkové ovládání ac 2x2 Wi-Fi Module x Bluetooth 4.1 napájení, HDMI, Micro USB b/g/n Wi-Fi Module With Antenna RJ45 Ethernet Network Connection x napájení, HDMI, 4x USB 2.0, AV output, SD/MMC/MS memory card slot, YPbPr, Coaxial 12 x 12 x 2cm, 235g 16 x 10 x 2,5cm, 200g 40g (bez baterií - 2x AAA), 9 tlačítek, technologie přenosu informací - Bluetooth g (bez baterií - 2x AAA), 45 tlačítek, technologie přenosu informací - IR Tabulka 3.1: Tabulka porovnání zařízení Nexus Player se set-top boxem Zoomtak M6. [37, 43] 30
38 3. PLATFORMA SET-TOP BOXŮ ZOOMTAK IR má svá omezení, infraport přijímače a vysílače musí být na sebe namířeny, jinak nemusí dojít k přenosu informací, s čímž se přenos pomocí technologie Bluetooth nepotýká. Dosah dálkového ovládání s IR je zhruba 15m oproti 10m v případě Bluetooth. Obě ovládání jsou přibližně stejně velká a těžká. Set-top boxy M5, K5, a K8 disponují Bluetooth modulem, který ale slouží primárně pro přenos uživatelských dat (například z mobilního telefonu), set-top boxy jsou tedy také ovládané pomocí IR dálkového ovladače. Dálkové ovládání Nexus Playeru bylo navrženo právě pro účely ovládání jednoduchého uživatelského rozhraní, jaké Android TV podle společnosti Google poskytuje. Proto obsahuje pouze 9 tlačítek, viz Obrázek 2.10 vlevo. Dálkové ovládání Zoomtak M6 obsahuje naopak 45 tlačítek pro různé úkony. Ve vyvinutém launcheru této platformy bylo použito pouze 11 z nich v souladu s návrhovými doporučeními platformy Android TV. 3.2 Firmware platformy set-top boxu M6 Společnost Zoomtak dodává set-top box M6 s předinstalovaným operačním systémem Android 4.2 Jelly Bean. Tato verze Androidu byla vydána společností Google na sklonku podzimu Hlavní výhody oproti předchozím verzím jsou: možnost tvoření uživatelských účtů, rozdvojená notifikační lišta a nižší nároky na RAM pamět zařízení. Následovaly verze a 4.2.2, které opravovaly chyby předchozích verzí a přidávaly například zvýšení výdrže baterií nebo podporu OpenGL grafiky. Set-top box, pro který bylo v rámci této diplomové práce vyvinuto nové uživatelské prostředí, obsahuje verzi systému Android 4.2.2, jež je stabilní verzí tohoto systému. [45, 46] Verze systému Android Jelly Bean set-top boxu M6 stejně tak jako verze Android KitKat set-top boxů M5, K5 a K8 obecně nebyly navrženy pro zařízení s připojenou širokoúhlou televizní obrazovkou ovládanou pomocí dálkového ovladače bez možnosti doteků obrazovky. Byly navrženy primárně pro zařízení jako jsou chytré mobilní telefony nebo tablety, viz Obrázek 3.3 znázorňující uživatelské prostředí operačního systému Android Jelly Bean. Proto bylo nezbytné vytvořit nadstavbu uživatelského prostředí - launcher, který umožňuje pohodlné ovládání pomocí dálkového ovladače, popsaného v předchozí Kapitole 3.1 o hardwarovém vybavení platformy Zoomtak M6 a který splňuje požadavky definované v Kapitole o pravidlech návrhu aplikace pro platformu Android TV. 31
39 3. PLATFORMA SET-TOP BOXŮ ZOOMTAK Obrázek 3.3: Zobrazení uživatelského prostředí zařízení se systémem Android Jelly Bean. [47] Příprava vlastního firmware Samotné vytvoření nového a pro televizory vhodného launcheru není dostačujícím krokem pro získání operačního systému (firmware), jehož ovládání bude pro uživatele srozumitelné a snadno použitelné. V našem případě bylo nutné upravit systémové proměnné firmware set-top boxu. Firmware od společnosti Zoomtak je založený na tabletové verzi systému Android V Zoomtak firmware již prošel několika úpravami, například: má zafixovanou orientaci v landscape módu, obsahuje vlastní prostředí XBMC 2 (dnes Kodi), obsahuje několik (ne zcela optimalizovaných) uživatelských aplikací, umožňuje reagovat na odpojení nebo připojení HDMI kabelu, aj. Abychom mohli prozkoumat upravený firmware bylo nutné se z počítače k set-top boxu připojit pomocí nástroje ADB 3. Tento nástroj se většinou používá pro připojení k Android zařízení pomocí USB kabelu, my jsme využili možnost připojení pomocí Wi-Fi sítě. Komunikace mezi počítačem 2. XBMC je uživatelské prostředí, jež vzniklo původně jako mediální přehrávač a postupně se vyvíjelo až do dnešní podoby alternativního open-source prostředí. Obrazovky prostředí XMBC jsou zobrazeny v Příloze ADB (Android Debug Bridge) je nástroj příkazové řádky, jež umožní vývojáři komunikovat s Android zařízením a je tak velmi užitečný při vývoji a ladění aplikací. 32
40 3. PLATFORMA SET-TOP BOXŮ ZOOMTAK a zařízením je postavena na modelu klient-server. ADB definuje několik příkazů pro vzdálenou správu Android zařízení, použity byly následující: adb start-server - zkontroluje, jestli proces ADB serveru běží a pokud ne, nastartuje ho, adb kill-server - ukončí proces ADB serveru, adb tcpip [port] - restartuje ADB hosta v TCP módu a přidělí mu zvolený port, adb devices - vypíše seznam aktuálně připojených zařízení, adb connect [ip address] - připojení k zařízení pomocí jeho IP adresy, adb shell - spustí shell ve vzdáleném zařízení. [48] Po připojení k zařízení a spuštění programu shell (příkazové řádky vzdáleného zařízení) můžeme již procházet adresářovou strukturu set-top boxu. Adresářová struktura set-top boxu je znázorněna v Příloze 8 nahoře. Jelikož již byly set-top boxy v Zoomtak tzv. rootnuty, obsahují program su (z angl. switch user - změna systémového uživatele), což zařízení se standardním systémem Android neobsahují. Je vhodné spustit program su z adresáře /system/xbin, jež nám přidělí práva super uživatele. Pro vypsání systémových proměnných použijeme příkaz getprop, který v příkazové řádce zobrazí nastavené systémové proměnné. Tyto proměnné slouží ke konfiguraci komponent, jež byly v Zoomtak přidány. Lze tedy definicí vhodných systémových proměnných měnit chování přidaných komponent, viz Program 3.1. Pokud porovnáme systémové proměnné standardního neupraveného operačního systému Android 4.2 s poupraveným od společnosti Zoomtak, tak vidíme, že bylo přidáno několik nových proměnných jako jsou například: #SCREEN [const.window.h]: [720], [const.window.w]: [1280], [sys.keeplauncher.landcape]:[true], [ro.ui.cursor]:[osd2], [ro.ui.cursor.autohide]:[true], [ro.ui.cursor.timeout]:[10000], [ro.sf.hwrotation]:[0], [pm.sleep_mode]:[4], [tv.powermanager.nevertimeout]:[true], #STATUSBAR [ro.statusbar.widget]:[false], [ro.statusbar.button]:[false], [ro.statusbar.widget.power]:[false], [ro.statusbar.yearmonthdayweek]:[false], [ro.statusbar.volume]:[false], 33
41 3. PLATFORMA SET-TOP BOXŮ ZOOMTAK [ro.statusbar.screenshot]:[false], #NETWORK [ro.ethernet.default_onwifi.interface]: [wlan0true], [wifi.interface]:[wlan0], #PLATFORM [ro.platform.has.touch]:[false], [ro.platform.hdmionly]:[true], #HARDWARE [ro.hardware]:[amlogic], [gps.enable]: [false], [has.media.poll]: [true], [hw.cameras]: [0], [hw.has.accelerometer]: [false], [hw.has.bluetooth]: [false], [hw.hasethernet]: [true], [hw.hasusbcamera]: [true], [hw.nobattery]: [true], [hw.nogps]: [true], [hw.nophone]: [true], [hw.vfd]: [true], # PLAYERS [media.amsuperplayer.enable]:[true] [media.amplayer.enable-acodecs]:[ape,flac,...] [media.amplayer.enable]:[true] [media.amplayer.support-exname]: [divx,h264,avi,ts,m2ts,mkv,mp4,mpg,mpeg,...] [media.amplayer.support-exname1]: [mp2,mp3,ac3] [media.amsuperplayer.defplayer]: [PV_PLAYER] [media.amplayer.startmode]:[true] #UBOOT [ubootenv.var.outputmode]:[720p50hz], [ubootenv.var.defaulttvfrequency]:[50], [ubootenv.var.hdmimode]:[720p50hz], [ubootenv.var.has.accelerometer]:[false], aj // zjisteni maximalni sirky pasma pro live video stream 3 long maxbw = (long)in_get_sys_prop_float("media.httplive.max-bw"); 4 if (maxbw > 0 && est_bps > maxbw) { 5 LOGV("bandwidth capped to ld bps", maxbw); 6 est_bps = maxbw; 7 } // zjisteni doby vyhledavani (seek time) 10 if(s->seekflag>0&&in_get_sys_prop_bool("libplayer.hls.lowbw_seek")>0) { 11 LOGV("Used low bandwidth stream after seek"); 12 index = 0; 13 } // zjisteni prubezneho casu selhani 16 int failover_time = in_get_sys_prop_float("libplayer.hls.failover_time"); 17 failover_time = HLSMAX(failover_time,FAILOVER_TIME_MAX); 18 do{...} Program 3.1: Ukázka části zdrojového kódu programu pro práci se systémovými proměnnými Mediaplayeru. Struktura adresářů upraveného firmware se od toho standardního liší hlavně v adresáři /system (viz Obrázek 3.4), kde byly přidány adresáře preinstall, recovery a vendor a upraven obsah adresářů app, media a xbin. 34
42 3. PLATFORMA SET-TOP BOXŮ ZOOMTAK Obrázek 3.4: Obsah adresáře /system upraveného firmware set-top boxu M6 nahoře, obsah adresáře /system standardní verze systému Android 4.2 dole. Adresář /system/vendor obsahuje přidané knihovny společnosti Zoomtak. Adresář /system/recovery obsahuje soubor pro obnovu systému recovery.img. Adresář /system/preinstall obsahuje instalační apk soubory aplikací, které jsou naistalovány do set-top boxu a které uživatel může vidět a upravit v systémovém nastavení. Naopak adresář /system/app obsahuje systémové aplikace, které uživatel nenalezne v systémovém nastavení, viz Příloha 8 dole. Vytvořený launcher bude zařazen mezi systémové aplikace, tak aby si jej uživatel nemohl například omylem smazat a také proto, aby mohl lanucher provádět změnu systémových nastavení (např. nastavení systémového času set-top boxu dle serveru). Obsah adresáře s apk soubory uživatelských aplikací je zobrazen na Obrázku 3.5. Proto, abychom mohli firmware poupravit a vyhovoval tak našim požadavkům, bylo nutné rozbalit zaváděcí systémový soubor (tzv. boot image file), provést úpravy a opětovně jej zkompilovat. Firmware byl upraven následujícím způsobem: v adresáři /system/fonts/ byly smazány původní Roboto fonty a byly nahrazeny aktuální sadou fontů Roboto, 35
43 3. PLATFORMA SET-TOP BOXŮ ZOOMTAK Obrázek 3.5: Obsah adresáře /system/preinstall upraveného firmware settop boxu M6, který obsahuje spustitelné soubory uživatelských aplikací. v adresáři /system/preinstall/ se nachází společností Zoomtak vybrané uživatelské aplikace. Některé z nich ovšem byly nefunkční nebo pro toto zařízení nepoužitelné. Bylo nutné aplikace otestovat a nevhodné vymazat, případně je aktualizovat na nové verze nebo verze určené pro Google TV, do adresáře /system/xbin/ byl nahrán nástroj ssh (pro vzdálený přístup k zařízení), jež byl užitečný při vývoji aplikace launcheru, do adresáře /system/xbin/ byl dále přidán program pro monitoring systému, jenž je užitečný pro budoucí testy vytížení systému - htop (interaktivní systémový monitor procesů pro operační systémy Linux), upraveno nebo přidáno bylo několik systémových proměnných, jejich výběr je znázorněn v Tabulka 3.2, při spuštění systému bylo třeba zobrazit vlastní startovací logo, soubor system/media/bootanimation.zip byl nahrazen vlastním logem a po startu systému bylo nastaveno spuštění nově vytvořeného launcheru. 36
44 3. PLATFORMA SET-TOP BOXŮ ZOOMTAK BUILD PRODUCT ENVIROMENT LAUCHER ADB UBOOT ro.build.date.utc= ro.build.type=user ro.build.host=rychnovsky.dp ro.product.model=rychnovsky.dp box ro.product.name=rychnovsky.dp ro.product.device=rychnovsky.dp ro.product.board=mx2ref ro.product.cpu.abi=armeabi-v7a ro.product.manufacturer=rychnovsky.dp ro.com.android.dateformat=dd-mm-yyyy ro.product.locale.language=cs ro.product.locale.region=cz persist.sys.language=cs persist.sys.country=cz persist.sys.timezone=europe/amsterdam sys.keeplauncher.landcape=true ro.defaultlauncher.package= launcher.box.sledovanitv.cz.launcher ro.defaultlauncher.class=baseactivity donglelauncher.enable.animation=false service.adb.tcp.port=5555 ubootenv.var.defaulttvfrequency=50 ubootenv.var.hdmimode=720p50hz Tabulka 3.2: Tabulka znázorňující upravené nebo přidané systémové proměnné. 37
45 4 Tvorba aplikace launcheru V předchozí kapitole byl popsán hardware a firmware zvoleného Android zařízení. Proto, aby byl firmware zařízení vhodný pro ovládání pomocí dálkového ovladače a aby bylo toto zařízení možné připojit k televizoru pro každodenní užívání, bylo vytvořeno nové uživatelské prostředí. Uživatelské prostředí neboli launcher je aplikace jako každá jiná s tím rozdílem, že je spuštěna okamžitě po startu zařízení a zastupuje tak úlohu domácí obrazovky. Launcher poskytuje odkazy na ostatní uživatelské aplikace, informace o aktuálním stavu zařízení, možnost úpravy nastavení zařízení, aj. Launcher tak uživateli slouží jako určitý rozcestník ovládáním daného zařízení. Při návrhu launcheru platformy M6 jsme vycházeli z několika požadavků: vytvoření jednoduchého uživatelského rozhraní, tak jak jej definují pravidla návrhu aplikací pro platformu Android TV [49], využití novinek z vývojových nástrojů pro Android 5 Lollipop [50], uživatelské rozhraní launcheru se bude skládat z co nejmenšího počtu obrazovek, launcher bude kromě vybraných aplikací zobrazovat také čas, aktuální stav připojení, IP adresu zařízení a verzi firmware, uživatelské aplikace budou na hlavní obrazovce seřazeny vedle sebe a uživatel bude mít možnost mezi nimi přecházet, spouštět je a přesouvat na jinou pozici, na hlavní obrazovce budou přístupná tlačítka pro nastavení systému, zobrazení všech nainstalovaných aplikací a tlačítko zobrazující novinky. Tyto požadavky nás přivedly k možnosti využití nástrojů podpůrné knihovny Leanback pro tvorbu aplikací platformy Android TV, popsané v Kapitole V následujících podkapitolách budou popsány jednotlivé obrazovky uživatelského rozhraní navrženého launcheru a jeho ovládání. 4.1 Uživatelské rozhraní navrženého launcheru Uživatelské rozhraní vytvořeného launcheru platformy M6 se skládá ze tří obrazovek: hlavní obrazovka, obrazovka se všemi nainstalovanými uživa- 38
46 4. TVORBA APLIKACE LAUNCHERU telskými aplikacemi a obrazovka s nastavením. Součástí uživatelského rozhraní je i obrazovka, jenž se uživateli zobrazí pouze při prvním spuštění zařízení a slouží tedy jako průvodce nastavením launcheru při prvotním spuštění. Rozhraní navrženého launcheru je zobrazeno v Příloze Hlavní obrazovka Hlavní obrazovka launcheru se skládá z několika prvků. Klíčovým prvkem této obrazovky je řada karet s aplikacemi a hrami, která pro uživatele představuje soubor oblíbených aplikací. Mezi kartami je možné se posouvat zleva doprava nebo obráceně, přidávat nové aplikace, odebírat aplikace nebo je přesouvat na nové pozice. Na obrazovce se vždy zobrazí určitý počet karet v závislosti na velikosti dané obrazovky. Při prvním spuštění zařízení jsou uživateli do karet s oblíbenými aplikacemi přidány následující aplikace: SledovaniTv.cz Box 1, internetový prohlížeč Google Chrome, internetové rádio TuneIn, Youtube a obchod s aplikacemi Google Play. Pokud se všechny karty na obrazovku nevejdou, uživatel má možnost se na ně posunout pomocí šipky doleva na D-padu dálkového ovládání. Aplikace na začátku řady budou plynule odtékat za levý okraj obrazovky a aplikace, které se na obrazovku nejprve nevešly, se budou uživateli plynule zobrazovat od pravého okraje obrazovky. Díky tomuto principu zůstanou ostatní prvky nezměněny a uživatel tak neopustí hlavní obrazovku, viz Obrázek 4.1. Při návrhu řady karet s aplikacemi bylo využito komponent podpůrné knihovny Leanback, konkrétně komponenty BrowseFragment, jež definuje řadu karet s aplikacemi a umožňuje tak použití ostatních komponent z knihovny. Komponenta ArrayObjectAdapter udržuje objekty jednotlivých aplikací a společně s komponentou HeaderItem, jež zobrazuje nadpis řady karet, je reprezentována komponentou ListRow. Jednotlivé karty jsou poté zobrazeny pomocí komponenty CardPresenter. Tento typ řady představuje v launcheru platformy Android TV řadu karet s doporučeným obsahem. Abychom docílili daného vzhledu karet, jak jej definuje Obrázek 4.2, bylo třeba upravit informační část ikony. Byl zvětšen text názvu aplikace a vynechán badge image a dodatečný informační text, které pro zobrazení nainstalovaných aplikací platformy M6 v kartách neměly využití. 1. Aplikace SledovaniTv.cz představuje službu IPTV neboli televizní vysílání přes internetový protokol. Principem je šíření vysílání digitální televize prostřednictvím IP protokolu přes počítačové sítě. Aplikace umožňuje uživateli pozastavit obraz, nahrát si určitý pořad nebo film, uložit na server a později si jej přehrát. Umožňuje uživateli také například vrátit se při sledování v čase zpět nebo se naopak při sledování záznamu posunout dopředu. 39
47 4. TVORBA APLIKACE LAUNCHERU Obrázek 4.1: Hlavní obrazovka launcheru platformy M6 s vyznačenými prvky uživatelského rozhraní. Obrázek 4.2: Karta řady s doporučeným obsahem na platformě Android TV - vlevo, karta řady aplikací uživatelského rozhraní vyvinutého launcheru pro platformu M6 - vpravo. 40
48 4. TVORBA APLIKACE LAUNCHERU Dalším důležitým prvkem hlavní obrazovky je trojice tlačítek v levé spodní části obrazovky. První tlačítko zleva přesměruje uživatele na obrazovku zobrazující všechny nainstalované uživatelské aplikace, viz následující Kapitola Druhé tlačítko zleva přesměruje uživatele na obrazovku s nastavením (viz Kapitola 4.1.3), kde uživatel může ovlivnit vzhled launcheru, jazyk launcheru, upravit šířku obrazu, aj. Poslední z trojice tlačítek uživateli formou dialogového okna 2 zobrazí nejnovější zprávu od jeho poskytovatele internetu. V pravém spodním rohu hlavní obrazovky jsou zobrazeny stavové informace. První řádek zobrazuje aktuální verzi firmware nainstalovaného v set-top boxu. Druhý řádek zobrazuje IP adresu zařízení a ikonu indikující aktuální stav internetového připojení. Ikona může nabývat tří barev: zelená, žlutá nebo červená. Podrobněji bude ukazatel připojení k internetu popsán v Kapitole V pravém horním rohu se větším písmem zobrazuje aktuální čas. Je použit 24-hodinový formát času se zobrazením hodin a minut, přičemž se čas každou minutu aktualizuje na základě intentu vyslaného Android systémem Obrazovka s aplikacemi Další obrazovkou prostředí launcheru je obrazovka zobrazující seznam všech nainstalovaných uživatelských aplikací. Do tohoto seznamu nejsou zahrnuty aplikace systémové a ty, které nemá uživatel oprávnění spouštět. Prvky této obrazovky jsou znázorněny na Obrázku 4.3. Při přechodu na tuto obrazovku je vždy ikona první aplikace zvýrazněna, tzn. má focus. Mezi aplikacemi lze tedy jednoduše přecházet, spouštět je anebo je přidávat na hlavní obrazovku do řady karet s oblíbenými aplikacemi. Pokud si uživatel nainstaluje do set-top boxu novou aplikaci, automaticky se mu zobrazí právě na tomto místě. Počet aplikací na jednom řádku je pevně daný - 7, přičemž řádků může být neomezeně mnoho. V případě, že je řádků více než je možné na obrazovce zobrazit, je uživateli zobrazena postranní lišta (tzv. scrollbar) indikující, v jaké úrovni seznamu se uživatel momentálně nachází. 2. Komponenta Dialog představuje v Android aplikacích malé informační okno, které nevyplňuje celou obrazovku a které po uživateli požaduje rozhodnutí nebo zadání textu. 41
49 4. TVORBA APLIKACE LAUNCHERU Obrázek 4.3: Obrazovka zobrazující všechny nainstalované uživatelské aplikace platformy M Obrazovka nastavení Obrazovka s nastavením uživateli nabízí několik tlačítek pro úpravu nastavení launcheru nebo celé platformy, viz Obrázek 4.4. Mezi jednotlivými tlačítky se může uživatel viditelně pohybovat. Tlačítko nastavení šířky obrazu odkazuje do aplikace, pomocí níž si může uživatel upravit šířku a výšku obrazu. Tato aplikace je součástí firmware dodaného společností Zoomtak. Tlačítko nastavení jazyka uživateli zobrazí dialogové okno s nabídkou volby českého nebo slovenského jazyka. Tlačítko pro opětovné spárování zařízení vymaže uživatelský účet (pokud existuje) a vyvolá aplikaci pro opětovné propojení zařízení set-top boxu s uživatelským účtem. Tlačítko pro aktualizaci firmware platformy set-top boxu je zobrazeno s červeným textem Aktualizujte set-top box, pokud byla vydána nová aktualizace, v opačném případě se zobrazí text Aktualizace s bílou barvou textu. Tlačítko uživatele přesměruje do aplikace pro aktualizaci firmware. Tlačítko nastavení pozadí uživateli zobrazí dialogové okno s nabídkou pěti barevných schémat launcheru. Hlavní obrazovka ve všech pěti barevných schématech je zobrazena v Příloze 11. Posledním tlačítkem je nastavení sys- 42
50 4. TVORBA APLIKACE LAUNCHERU Obrázek 4.4: Obrazovka zobrazující podporovaná nastavení platformy settop boxu M6. tému, které uživatele přesměruje do standardního Android systémového nastavení. Obrazovky aplikací pro nastavení šířky obrazu, opětovné spárování a aktualizace jsou ukázány v Příloze Obrazovka průvodce prvotním nastavením Speciální obrazovkou je obrazovka prvního spuštění, která je zobrazena pouze při prvním zapnutí zařízení a která uživateli zobrazí průvodce prvotním nastavením set-top boxu, viz Obrázek 4.5. Obrazovka průvodce se podobně jako předchozí popsaná obrazovka s nastavením skládá z několika tlačítek, jež upravují: jazyk prostředí, nastavení šířky obrazu, připojení k internetu a propojení zařízení set-top boxu s uživatelským účtem. Tyto čtyři tlačítka představují minimum nastavení, které musí uživatel provést před prvním spuštěním launcheru. Proto, aby byla práce s průvodcem srozumitelná, jsou vedle tlačítek zobrazeny ikony indikující, zda již uživatel dané nastavení provedl. Průvodce automaticky zobrazí nastavení jazyka jako provedené, protože výchozím jazykem prostředí je čeština. Uživatel však jazyk může přenastavit na slovenštinu. Podobně, pokud je zařízení již připojeno k internetu pomocí sít ového kabelu, je nastavení připojení zobrazeno jako provedené, 43
51 4. TVORBA APLIKACE LAUNCHERU Obrázek 4.5: Obrazovka průvodce prvotním nastavením platformy set-top boxu M6 a dialogové okno informující uživatele o nutnosti připojení set-top boxu k internetu. pokud není, je uživateli zobrazeno dialogové okno informující o nutnosti nastavení připojení, viz Obrázek 4.5 dole. Průvodce po stisku tlačítka OK v dialogovém okně opětovně otestuje připojení a opakovaně se zobrazí, jestli zařízení stále není připojeno k internetu. Dialogové okno také umožní uživateli připojit set-top box pomocí Wi-Fi sítě. Tlačítko nastavit Wi-Fi sít přesměruje uživatele do systémového nastavení připojení. Připojení k internetu je nutné při prvním spuštění launcheru, protože umožní aktualizaci databáze ikon řady oblíbených aplikací ve vyšším rozlišení a další potřebné úkony, které budou popsány v následujících podkapitolách. Tlačítko pokračovat pro ukončení průvodce se aktivuje, jakmile uživatel provede veškerá nastavení. Pokud uživatel nastaví některou položku jinak, 44
52 4. TVORBA APLIKACE LAUNCHERU než původně zamýšlel, může ji později přenastavit na obrazovce s nastavením popsaném v předchozí kapitole. 4.2 Ovládání rozhraní launcheru Předchozí kapitoly pojednávají o uživatelském rozhraní jednotlivých obrazovek launcheru, tato kapitola se naopak zaměří na popis ovládání jednotlivých prvků obrazovek a na interakci těchto prvků s uživatelem Zvýraznění ovládacích prvků Focus neboli zvýraznění určitého prvku je důležitým mechanismem všech uživatelských rozhraní, obzvláště těch, která jsou ovládána dálkovým ovladačem. Podle návrhových pravidel platformy Android TV by měl být vždy některý prvek zvýrazněný, tak aby uživatel přesně věděl, na kterém prvku se focus momentálně nachází. Navržený launcher platformy M6 tuto skutečnost zohledňuje a na každé obrazovce je vždy některý prvek zvýrazněn. Na hlavní obrazovce v řadě karet s aplikacemi se zvýrazněná karta zvětší cca o 10% a pozadí karty se obarví světlejší barvou. V případě trojice tlačítek v levém spodním rohu se zvýrazněné tlačítko ohraničí a vznikne tak kolem něj viditelný rámeček. Podobně je tomu v případě obrazovky se všemi uživatelskými aplikacemi, kde se ikony společně s názvy aplikací také ohraničují viditelným rámečkem. Na obrazovce s nastavením a na obrazovce průvodce prvotním nastavením je tlačítko zvýrazněno zesvětlením jeho pozadí. Opustí-li uživatel některou z obrazovek launcheru a později se na ni vrátí, zvýraznění zůstane stejné Zvuková odezva ovládacích prvků Zvuky jsou další možností TV aplikací jak informovat uživatele o určité akci. Každý přesun zvýraznění na jiný prvek je v launcheru doprovázen krátkým zvukovým signálem, tak aby bylo zřejmé, že k posunu opravdu došlo. U dálkových ovládání na principu přenosu pomocí Bluetooth je pravděpodobnost přenosu informací o provedené akci větší než například v případě IR dálkového ovládání platformy M6. Zvukové upozornění je také využito při zapnutí zařízení set-top boxu, kdy je po startu zařízení uživateli signalizováno spuštění launcheru. Dále je zvukem zvýrazněna aktivace přesouvacího módu karty s aplikací, kdy uživatel může přesunout kartu na novou pozici, viz následující Kapitola
53 4. TVORBA APLIKACE LAUNCHERU Dálkové ovládání Hardwarové specifikace IR dálkového ovládání platformy M6 byly rozebrány v Kapitole 3.1. Tato kapitola se zaměří na popsání užití vybraných tlačítek pro ovládání launcheru. Následuje výčet a popis jednotlivých tlačítek: zapnutí/vypnutí zařízení - vypnutí uvede zařízení do tzv. stand-by režimu, tzn. je vypnuta obrazovka a zařízení je odpojeno od sítě internetu, naopak při zapnutí je obrazovka aktivována a v několika okamžicích dojde k připojení k síti internetu, zapnutí/vypnutí zvuku - standardní zapnutí nebo vypnutí veškerých zvuků zařízení, barevná tlačítka ovládání launcheru - červené tlačítko při focusu v řadě karet na hlavní obrazovce umožní uživateli smazat vybranou kartu s aplikací, žluté tlačítko v řadě karet aktivuje přesouvací mód karty a uživatel ji tak může posunout na novou pozici v řadě karet. Na obrazovce se všemi nainstalovanými aplikacemi žluté tlačítko plní funkci přidání vybrané aplikace do řady karet s oblíbenými aplikacemi a modré tlačítko na hlavní obrazovce zobrazí překryvnou nápovědu, systémové nastavení - spustí standardní systémové Android nastavení, tlačítko domů - přesměruje uživatele na hlavní obrazovku launcheru z jakékoliv aplikace nebo z obrazovky všech nainstalovaných aplikací a obrazovky nastavení, tlačítko zpět - funguje ve všech aplikacích (včetně launcheru) stejným způsobem, přesměruje uživatele na předchozí obrazovku, D-pad - tlačítka nahoru/dolů/doleva/doprava umožňují uživateli navigaci mezi ovládacími prvky dané obrazovky, tlačítko OK - při krátkém stisknutí slouží ke standardnímu potvrzení nebo spuštění vybrané akce (např. v řadě karet spustí aplikaci na vybrané kartě), při dlouhém stisknutí v řadě karet (tzn. stisknutí a podržení po dobu aspoň 1 vteřiny) uvede stejně jako žluté tlačítko kartu do přesouvacího módu, na obrazovce se všemi aplikacemi tlačítko OK spustí vybranou aplikaci nebo při dlouhém stisknutí opět 46
54 4. T VORBA APLIKACE LAUNCHERU Obrázek 4.6: Kurzor dálkového ovládání platformy set-top boxu M6. podobne jako žluté tlac ítko pr esune vybranou aplikaci mezi karty s oblíbenými aplikacemi, zapnutí/vypnutí kurzoru - zobrazí na kterékoliv obrazovce kurzor, jež lze ovládat pomocí D-padu a potvrdit akci pomocí tlac ítka OK, viz Obrázek 4.6 (kurzor mu že být užitec ný v aplikacích, které nejsou zcela optimalizované pro ovládání pomocí dálkového ovladac e), ovládání hlasitosti - standardní zesílení nebo zeslabení všech zvuku zar ízení, qwerty klávesnice - firmware set-top boxu poskytuje pr i navigaci na políc ko se zadáním uživatelského vstupu softwarovou klávesnici, pro uživatele ale mu že být zadávání textu pomocí hardwarové klávesnice na dálkovém ovládání pohodlne jší R ada karet s oblíbenými aplikacemi R ada karet pr edstavuje ste žejní prvek hlavní obrazovky. Uživatel má v této r ade seskupeny aplikace, které jsou pro ne j nejdu ležite jší. Do r ady si mu že aplikace pr idávat, odebírat je nebo je pr eskládávat dle svých preferencí. Mezi kartami s aplikacemi se uživatel pohybuje pomocí tlac ítek D-padu doleva nebo doprava a spouští aplikace tlac ítkem OK. Pr idávání Pokud si chce uživatel pr idat aplikaci do r ady karet na hlavní obrazovce, stiskne a podrží tlac ítko OK nebo stiskne žluté tlac ítko na vybrané ikone aplikace v obrazovce se všemi nainstalovanými aplikacemi. Aplikace se automaticky pr idá do r ady karet na první pozici a uživatel je pr esme rován na hlavní obrazovku. Odebírání Naopak pokud chce uživatel ne kterou aplikaci odebrat z r ady karet, stiskne c ervené tlac ítko, následne je uživatel formou dialogového okna požádán o potvrzení odebrání, viz Obrázek 4.7. Pokud akci potvrdí, karta s aplikací je odebrána a r ada karet se plynulou animací pr eskupí. 47
55 4. TVORBA APLIKACE LAUNCHERU Obrázek 4.7: Dialogové okno odebrání karty s aplikací z řady karet s oblíbenými aplikacemi na hlavní obrazovce. Přesouvání Uživatel nemusí být spokojený s pořadím karet (například po přidání nové aplikace na hlavní obrazovku), proto je mu poskytnut mechanismus přesouvání karet, kdy pomocí stisknutí a podržení tlačítka OK nebo stisknutím žlutého tlačítka uvede kartu s aplikací do přesouvacího módu a může ji tak posunout na novou pozici, viz Obrázek 4.8. V případě, že je karta v přesouvacím módu a uživatel si to rozmyslí, stiskem tlačítka zpět kartu vrátí na původní místo nebo naopak stiskem tlačítkem OK potvrdí novou pozici karty. Aktivace přesouvacího módu je uživateli znázorněna zbarvením pozadí karty bílou barvou a zvukovým upozorněním. Ikony aplikací jsou součástí instalací aplikací v zařízeních. Tyto ikony však mají většinou bohužel nízké rozlišení (48 x 48 dip) [51]. Ikony v nízkém rozlišení jsou použity na obrazovce se všemi nainstalovanými aplikacemi, avšak v řadě karet oblíbených aplikací na hlavní obrazovce by takové ikony působily rušivým dojmem. Systém Android totiž při vykreslení menších obrázků do větších view prvků layoutu provádí tzv. scale (roztažení obrázku). Byl proto pro účely této práce vyvinut mechanismus, jež při prvním spuštění launcheru zajistí získání URL odkazů na ikony všech nainstalovaných aplikací ve vysokém rozlišení, které jsou dostupné v internetovém obchodě Google Play. Získané URL odkazy jsou následně uloženy 48
56 4. TVORBA APLIKACE LAUNCHERU Obrázek 4.8: Karta s aplikací Google Earth v přesouvacím módu. do databáze a použity komponentou Presenter tehdy, když dochází k vykreslení karty s aplikací. Získáváme tak ikony v rozlišení 512 x 512 dip, které jsou pro displeje velikosti televizních obrazovek mnohem vhodnější. Tento mechanismus je podrobněji popsán v následující Kapitole 5. Obrázek 4.9 srovnává ikony řady karet v původním rozlišení (při prvním spuštění než došlo k aktualizaci databáze s URL odkazy na ikony v lepším rozlišení a jejich vykreslení) s ikonami již ve vyšším rozlišení Připojení k internetu Platforma set-top boxu M6 je primárně určena pro příjímání a zobrazování dat z internetu, proto je pro launcher nezbytným úkolem kontrolovat připojení k internetu a vhodným způsobem o jeho stavu informovat uživatele. Jak již bylo zmíněno, ikona ukazatele připojení, nacházející se v pravém spodním rohu, může nabývat tří barev: zelená, žlutá nebo červená. Přičemž zelená reprezentuje stav, kdy je set-top box připojen do místní sítě pomocí sít ového kabelu nebo pomocí Wi-Fi modulu a současně je daná sít připojena k internetu, tzn. set-top box může komunikovat se serverem. Žlutá reprezentuje stav, kdy je set-top box připojen do místní sítě, ale není připojen k internetu, to nastane v případě výpadku služeb internetového poskytovatele, výpadku serveru, chybě přípojky nebo jiné méně časté chybě. Červená 49
57 4. TVORBA APLIKACE LAUNCHERU Obrázek 4.9: Porovnání ikon aplikací ve standardním a ve vysokém rozlišení. Pro porovnání jsou relevantní pouze prostřední tři aplikace. Aplikace Obchod Google Play je specifická v tom, že má ikonu v lepším rozlišení dodanou z lokálního úložiště (stejně tak aplikace systémového nastavení). barva pak reprezentuje stav, kdy došlo k odpojení zařízení od místní sítě. Klíčovou vlastností launcher je, že dokáže s uživatelem interagovat i v případě, že není připojen k internetu, tzn. veškeré funkce launcheru jsou dostupné i v off-line režimu. Například po přidání aplikace do řady karet s oblíbenými aplikacemi se odloží získání ikony aplikace v lepším rozlišení do doby, než bude set-top box opět připojen k internetu Zprávy Součástí hlavní obrazovky je tlačítko nových zpráv (notifikací). Launcher byl navržen tak, aby umožnil informovat uživatele formou notifikací přímo na hlavní obrazovce launcheru. Pomocí systému zpráv může zřizovatel služby informovat uživatele o novinkách v poskytovaných službách, aj. Informace o aktuální novince launcher získá ze serveru společnosti, která tuto službu zřizuje a kde jsou novinky umíst ovány. Ikona tlačítka zpráv může nabývat dvou podob. Pokud uživatel obdržel novou zprávu je ikona tlačítka vykreslena s vykřičníkem a zůstane tak, dokud si uživatel zprávu nepřečte, viz Obrázek 4.10 dole. Stiskem tlačítka 50
58 4. TVORBA APLIKACE LAUNCHERU Obrázek 4.10: Dialogové okno nové zprávy od poskytovatele připojení (včetně textu zprávy a data vydání) - nahoře, ikona tlačítka zpráv v obou variantách (nepřečtená a přečtená) - dole. zpráv se uživateli zobrazí dialogové okno, které obsahuje text novinky. Současně okno zobrazí tlačítko pro návrat na hlavní obrazovku nebo v případě, že novinka obsahuje URL odkaz na podrobnější informace o novince, také tlačítko pro přechod na danou webovou stránku (viz Obrázek 4.10 nahoře) Logo Launcher umožňuje zobrazit uživateli na hlavní obrazovce vedle tlačítka se zprávami logo, viz Obrázek Logo má předepsané rozměry x 480 dip. Logo je staženo ze serveru a zobrazeno na hlavní obrazovce pouze v případě, že bylo na sever umístěno, v opačném případě se na hlavní obrazovce logo nezobrazuje Nastavení pozadí a jazyka Uživatel má možnost uzpůsobit vzhled launcheru nastavením jazyka nebo barevného schéma aplikace. Jak již bylo zmíněno, změnu těchto nastavení 51
59 4. TVORBA APLIKACE LAUNCHERU Obrázek 4.11: Ukázka zobrazení vlastního loga na hlavní obrazovce launcheru platformy M6. Obrázek 4.12: Dialogová okna nastavení barevného schéma launcheru nahoře a nastavení jazyka dole. uživatel provádí na obrazovce s nastavením launcheru pomocí patřičných tlačítek. Při nastavení pozadí se uživateli zobrazí upravené dialogové okno, jež jako tlačítka obsahuje jednotlivá pozadí launcheru. Aktuálně použité barevné schéma je zvýrazněno modrým rámečkem. Tlačítkem OK na dálkovém ovladači uživatel vybere jedno ze schémat a launcher je následně překreslen. Při výběru jazyka je situace podobná, aktuálně zvolený jazyk je opět modře zvýrazněn, po potvrzení výběru tlačítkem OK jsou v aplikaci přepsány texty všech obrazovek do vybraného jazyka. Dialogové okno s výběrem jazyka bylo také upraveno, tak že neobsahuje žádný informační text, ale pouze dvě tlačítka. Obě dialogová okna jsou zobrazeny na Obrázku Nápověda Uživatelská nápověda je důležitým prvkem návrhu aplikace a umožní uživateli rychleji pochopit ovládání dané aplikace [52]. I když byly použity 52
60 4. TVORBA APLIKACE LAUNCHERU převážně standardní komponenty (vyjma řady karet s oblíbenými aplikacemi) a uživatelské rozhraní bylo navrženo pro jednoduché ovládání, je vhodné umožnit uživateli zobrazit nápovědu, která stručně popisuje jednotlivé prvky uživatelského rozhraní obrazovky a jejich ovládání. Byla tedy vytvořena překryvná nápověda (tzv. splash screen) hlavní obrazovky, viz Obrázek Nápověda je zobrazena a opět skryta stisknutím modrého tlačítka na dálkovém ovládání. Obrázek nápovědy se zobrazí nad layoutem hlavní obrazovky, přičemž má nápověda transparentní pozadí a tudíž nám umožní vidět i prvky uživatelského rozhraní pod ní. Bílým textem jsou pak popsány jednotlivé prvky hlavní obrazovky. Obrázek 4.13: Hlavní obrazovka s překryvnou nápovědou launcheru platformy M6. 53
61 5 Implementace aplikace launcheru V předchozí kapitole byl popsán vzhled jednotlivých obrazovek a ovládání uživatelského rozhraní vytvořeného launcheru. Tato kapitola se věnuje implementaci nového launcheru pro upravený firmware set-top boxů. Launcher je jedním z hlavních prvků, které musely být ve firmware upraveny jednak proto, aby byl nový firmware vhodný pro zobrazení na velkých televizních obrazovkách, ale také proto, aby byl jednoduše ovladatelný pomocí dálkového ovladače. Launcher byl implementován ve vývojovém prostředí Android Studio v0.9.9 pro zařízení s SDK verzí minimálně 17, jímž disponují všechny zmíněné set-top boxy. Kromě standardních Android nástrojů byly využity následující: podpůrná knihovna Leanback (popsaná v Kapitole 2.3.2) pro vytvoření řady karet s oblíbenými aplikacemi, knihovna Picasso pro stažení a vykreslení ikony aplikace v lepším rozlišení a také pro vykreslení loga na hlavní obrazovce, knihovna Jsoup pro získání url odkazu (na ikonu aplikace v lepším rozlišení) rozborem zdrojového kódu webové stránky, knihovna Okhttp jako http klient pro zasílání požadavků na server, knihovna Gson pro serializaci a deserializaci objektů, knihovna Timber pro správu a konfiguraci logovací výpisů, jež nám umožní všechny výpisy v závěrečné fázi projektu deaktivovat, a mechanismus paralelního spouštění více vláken současně (Parallel AsyncTask, viz článek [54]), využití Fragmentů pro reakci na získaný výsledek z požadavků na server (viz článek [53]) nebo použití upraveného vzhledu dialogových oken. V následujících podkapitolách bude stručně popsána struktura projektu a budou představeny vybrané komponenty projektu. 5.1 Struktura projektu Jednotlivé třídy projektu jsou rozčleněny do balíčků (tzv. packages) dle Obrázku 5.1 (obrázek nepokrývá celou strukturu projektu, nezobrazuje například složku s tzv. resource soubory). 54
62 5. IMPLEMENTACE APLIKACE LAUNCHERU Obrázek 5.1: Struktura balíčků a tříd projektu launcheru. Projekt se skládá ze sedmi balíčků. Balíček Activity obsahuje třídy aktivit, jež jsou základem každého Android projektu. BaseActivity je spuštěna jako první vždy po startu launcheru a rozhoduje, zdali je launcher spuštěn poprvé (v tom případě spustí aktivitu FirstLaunchGuideActivity) nebo se jedná o další spuštění launcheru a spustí aktivitu MainActivity, které představují obrazovku průvodce prvotním spuštěním launcheru a hlavní obrazovku. AllAppGridViewActivity a GroupSettingsActivity představují obrazovky se všemi uživatelskými aplikacemi a s uživatelským nastavením, které jsou popsané v předchozí kapitole. Balíček Adapter obsahuje třídu AppAdapter, jež udržuje objekty všech aplikací a poskytuje je při vykreslení v obrazovce s uživatelskými aplikacemi. Balíček Database obsahuje 55
63 5. IMPLEMENTACE APLIKACE LAUNCHERU třídy, které definují tři tabulky implementované SQLite relační databáze a třídy pro práci s nimi. Launcher tedy obsahuje následující tři databáze: databázi oblíbených aplikací z řady karet, databázi url odkazů na ikony aplikací v lepším rozlišení a databázi zpráv ze serveru. Balíček Fragments obsahuje další velmi důležité prvky Android aplikací - tzv. fragmenty. MainFragment definuje chování některých prvků hlavní obrazovky, jako je například řada karet. DeviceLoginFragment a GetLauncherDataFragment zastupují práci se serverem a CustomDialogFragment umožňuje vytvořit speciální upravené dialogové okno pro výběr jazyka. V balíčku POJO 1 jsou definovány třídy standardních java objektů: App - objekt aplikace z řady karet nebo obrazovky s uživatelskými aplikacemi (atributy: name, pkg, app_index, icon), Icon - objekt ikony aplikace (atributy: apppackage, urltohdicon), UserDevice - objekt představující informace o zařízení set-top boxu, informace jsou získány z uživatelského účtu uloženého do systému po prvním spárování zařízení (viz prostřední obrázek v Příloze 10). Informace zahrnují položky deviceid a password a slouží komponentě DeviceLoginFragment pro autentizaci zařízení na serveru a získání sessionid pro následnou komunikaci se serverem, Data - objekt představující informace o uživateli získané ze serveru pomocí komponenty GetLauncherDataFragment. Zahrnuje NetworkInfo a PartnerMessage, tyto informace jsou v paměti zařízení uchovány maximálně 5 hodin, poté jsou aktualizovány, PartnerMessage - je součástí informací o uživateli získaných ze serveru, představuje zprávu určenou pro uživatele. Součástí je text zprávy, čas vydání zprávy a někdy také url odkaz na podrobnější informace o novince, NetworkInfo - je druhou součástí informací získaných ze serveru a obsahuje informace o zřizovateli služby. 1. POJO zkratka (z angl. plain old java object) zastupuje obyčejný java objekt, zkratka se používá ke zdůraznění, že se jedná o jednoduchý objekt pouze s atributy a metodami k získání a nastavení těchto atributů. 56
64 5. IMPLEMENTACE APLIKACE LAUNCHERU Balíček Presenter obsahuje jedinou třídu - CardPresenter, jež představuje komponentu presenteru popsanou v Kapitole o knihovně Leanback. Obsahuje tedy metody pro práci s kartami hlavní obrazovky, jako jsou on- CreateViewHolder nebo onbindviewholder. Posledním balíčkem struktury projektu je Util. Tento balíček obsahuje pomocné třídy projektu. Komponenta OnBootBroadcastReceiver zajišt uje odchycení systémové zprávy (intent) o spuštění set-top boxu. Po startu settop boxu spouštíme akce přihlášení zařízení k uživatelskému účtu na serveru a nastavení systémového času set-top boxu dle serveru. Komponenta OnUpdateBroadcastReceiver odchytává systémovou zprávu o dostupnosti aktualizace firmware set-top boxu a komponenta OnTimeSetBroadcastReceiver zajišt uje akce spojené s nastavením systémového času set-top boxu. InternetConnectionObservable je součástí mechanismu pro zjišt ování aktuálního stavu připojení launcheru k síti internetu, blíže bude tento mechanismus představen v Podkapitole GetUrlToHRIconsAsyncTask, stejně jako další AsyncTask komponenty, využívá principu paralelního spouštění více vláken současně (komponenta ParallelAsyncTask). Slouží pro získání ikony aplikace v lepším rozlišení. Princip získávání ikon bude popsán v Podkapitole GetSystemTimeAsyncTask slouží ke zjišt ování aktuálního času ze serveru a přenastavení systémového času set-top boxu. AccountHelper zajišt uje získání uživatelského účtu a vrací jej jako výsledek v návratové hodnotě. CustomArrayObjectAdapter nahrazuje komponentu ArrayObjectAdapter, jež je součástí knihovny Leanback a jejímž účelem je udržovat objekty řady karet s oblíbenými aplikacemi a poskytovat nad nimi patřičné operace (přidávání, mazání, aj.). Protože ArrayObjectAdapter nepodporuje operaci přesouvání karet v řadě, byla vytvořena vlastní komponenta jež rozšiřuje vlastnosti ArrayObjectAdapteru o operaci přesouvání (v naší implementaci nazvanou swap). Více o této komponentě bude zmíněno v Podkapitole Komponenta SystemProperties nám umožňuje získat verzi firmware ze systémových proměnných pro zobrazení na hlavní obrazovce. A Utils představuje komponentu, která nám poskytuje metody pro získání seznamu nainstalovaných aplikací, test nutnosti aktualizace databáze ikon, test prvního spuštění launcheru, získání IP adresy zařízení a kontrolu dostupnosti aktualizace firmware. 5.2 Popis vybraných komponent V této kapitole bude čtenáři představena implementace tří důležitých komponent launcheru: řada karet s oblíbenými aplikacemi, mechanismus zís- 57
65 5. IMPLEMENTACE APLIKACE LAUNCHERU kávání ikon aplikací v lepším rozlišení a mechanismus kontroly připojení k síti internetu Řada karet Grafický návrh a ovládání řady karet s oblíbenými uživatelskými aplikacemi hlavní obrazovky byly již popsané v Kapitole Zde bude popsána implementace řady karet a její další možnosti. Mechanismus řady karet nám poskytuje knihovna Leanback, jejíž integrace do projektu byla popsána v Kapitole 2.3 o tvorbě aplikací pro platformu Android TV. Princip řady karet je postaven na modelu Model-Presenter-View. Model je v naší implementaci zastoupen komponentou CustomArrayAdapter, jež udržuje objekty aplikací získané z databáze. Presenter je zastoupen komponentou CardPresenter, která nám umožní definovat vzhled a chování jednotlivých karet řady a View již slouží pro samotné vykreslení řady karet. Pro využití komponenty BrowseFragment z knihovny Leanback pro definici řady je nutné vytvořit vlastní fragment, který dědí ze třídy BrowseFragment, v aplikaci launcheru tuto roli zastupuje MainFragment, viz Program 5.1. V programu je nutné definovat presenter a adapter všech řad, jež jsou znázorněny na řádcích 7 a 12. Vzhled a chování řad lze upravovat pomocí několika příkazů, kompletní seznam těchto příkazů čtenář nalezne v on-line dokumentaci knihovny Leanback na webové stránce [55, 56]. Na řádku 14 je definován presenter jednotlivých karet, díky kterému můžeme kompletně ovlivnit vzhled a chování karet. CardPresenter bude popsán v následujícím textu. CustomArrayObjectAdapter na řádku 16 představuje, jak už bylo zmíněno, rozšířenou verzi standardního ArrayObjectAdapteru o metodu swap. Na řádku 22 naplníme adapter řady objekty jednotlivých aplikací, na řádku 25 přidáme řadě hlavičku a na řádku 27 řadu přidáme do adapteru všech řad. Na řádku 30 přiřadíme vytvořený adapter všech řad (v našem případě pouze jedné řady - řada karet s oblíbenými aplikacemi) komponentě BrowseFragment a upravíme jej tak, aby nezobrazoval levé navigační menu (řádek 33), protože v naší implementaci launcheru nemáme více řad nebo nástroj vyhledávání hlasem. Posledním důležitým nastavením komponenty BrowseFragment je nastavení času launcheru, jež je zobrazen v pravém horním rohu hlavní obrazovky. To provedeme pomocí příkazu settitle() na řádku
66 5. IMPLEMENTACE APLIKACE LAUNCHERU 1 public class MainFragment extends BrowseFragment { public void onactivitycreated(bundle savedinstancestate) { // presenter vsech rad a~nastaveni parametru rad 7 ListRowPresenter listpresenter = new 8 ListRowPresenter(FocusHighlight.ZOOM_FACTOR_SMALL); 9 listpresenter.setexpandedrowheight(256); 10 listpresenter.enablechildroundedcorners(true); 11 // adapter vsech rad 12 ArrayObjectAdapter rowsadapter = new ArrayObjectAdapter(listPresenter); 13 // presenter karty v~rade 14 CardPresenter cardpresenter = new CardPresenter(); 15 // adapter konkretni rady objektu aplikaci 16 CustomArrayObjectAdapter listrowadapter = new 17 CustomArrayObjectAdapter(cardPresenter); // ziskani nainstalovanych aplikaci 20 ArrayList<App> list = utils.getusersapps(mcontext); 21 // a~pridani do objektu rady aplikaci 22 listrowadapter.addall(0, list); 23 // pridani hlavicky rade a~pridani mezi ostatni rady 24 if( listrowadapter.size() > 0 ) { 25 HeaderItem header = new HeaderItem(rowsAdapter.size() - 1, 26 getstring(r.string.row_name), null); 27 rowsadapter.add(new ListRow(header, listrowadapter)); 28 } 29 // nastaveni adapteru vsech rad komponente BrowseFragment 30 setadapter(rowsadapter); // deaktivace leveho navigacniho menu 33 setheadersstate(headers_disabled); 34 // deaktivace specialniho chovani tlacitka zpet 35 setheaderstransitiononbackenabled(true); 36 // umozni menit velikost karet 37 enablerowscaling(true); // nastaveni casu 40 settitle(currenttime); 41 } 42 } Program 5.1: Ukázka části zdrojového kódu komponenty MainFragment. 59
67 5. IMPLEMENTACE APLIKACE LAUNCHERU Operace komponenty CustomArrayObjectAdapter pracují se strukturou ArrayList. Přidaná operace swap(originplaced, newplaced) provede smazání objektu aplikace na pozici, kde chceme vybraný objekt přesunout a přidá jej na pozici odkud jsme přesunuli nový objekt. Principem metody swap je tedy prohození pozic vedlejších dvou objektů a zavolání metody pro oznámení nového pořadí objektů v adapteru komponentě presenteru. Zdrojový kód operace swap je znázorněn v Programu // metoda pro prohozeni poradi dvou objektu v~seznamu 2 public void swap(object originplaced, Object newplaced) { 3 int indexorigin = indexof(originplaced); 4 int indexnew = indexof(newplaced); 5 removeswap(originplaced); 6 addswap(indexnew, originplaced); 7 notifyarrayitemrangechanged(0, size()); 8 } // metoda smazeni prvku seznamu 11 public boolean removeswap(object item) { 12 int index = mitems.indexof(item); 13 if (index >= 0) { 14 mitems.remove(index); 15 } 16 return index >= 0; 17 } // metoda pridani prvku na danou pozici v~seznamu 20 public void addswap(int index, Object item) { 21 mitems.add(index, item); 22 } Program 5.2: Ukázka části zdrojového kódu komponenty CustomArrayObjectAdapter. Komponenta CardPresenter dědí ze třídy Presenter. Její součástí je i vnořená třída ViewHolder, která slouží pro ukládání všech potřebných informací o view prvcích (v tomto případě o jednotlivých kartách) proto, abychom se vyhnuli opakovanému spouštění výpočetně náročné operace findviewbyid(int) pro nalezení view karty vždy, kdy je to třeba. Tento princip nám umožní ukládat a recyklovat tak karty ve ViewHolderu. V implementaci launcheru třída CardPresenter dále rozšiřuje chování metod: oncreateviewholder - je provedena při prvním spuštění aplikace, tedy při vytvoření komponent BrowseFragmentu. V této metodě definujeme jednotné vlastnosti karet, jako jsou barva pozadí, velikost textu, velikost ikony a velikosti ohraničení, 60
68 5. IMPLEMENTACE APLIKACE LAUNCHERU onbindviewholder - je provedena pro každou kartu vždy, když se daná karta objeví na obrazovce (tzn. uživatel posunul focus na kartu, která ještě nebyla zobrazena na obrazovce). V této metodě vkládáme parametry objektu aplikace do view karty (ikona aplikace a název aplikace). Současně rozlišujeme mezi aplikacemi, které mají v databázi url odkaz na ikonu v lepším rozlišení nebo nemají (tzn. nejsou dostupné z obchodu Google Play). onunbindviewholder - metoda se provede vždy, když daná karta opustí obrazovku, můžeme zde zrušit objekty ikon aplikací uložené v paměti pro uvolnění paměti, onviewattachedtowindow - tzv. okno se skládá z tolika karet, kolik se jich vejde na danou obrazovku (většinou 4-6). Tato metoda je spuštěna vždy, když dojde k načtení nové skupiny karet s aplikacemi, onviewdetachedfromwindow - metoda je spuštěna, když zobrazená skupina karet (okno) opustí obrazovku Získávání ikon aplikací v lepším rozlišení Tento mechanismus v launcheru slouží pro nalezení, získání a uložení url odkazů na ikony nainstalovaných aplikací set-top boxu v lepším rozlišení. Jak již bylo zmíněno standardní ikony aplikací, jež jsou součástí instalace v zařízení mají velmi nízké rozlišení (48 x 48 dip) pro zobrazení na obrazovkách dnešních televizorů. Tento mechanismus nám získá odkazy na ikony v rozlišení 512 x 512 dip, což je přibližně 10x více. Odkazy na ikony vedou na oficiální webové stránky aplikací v on-line obchodě s Android aplikacemi - Google Play, což nám zajistí vždy nejaktuálnější ikonu dané aplikace. Odkazy jsou ukládány do databáze. Databáze vznikne při prvním spuštění launcheru a je vždy jednou týdně aktualizovaná. Mechanismus získání ikon funguje následovně: 1. Získaní všech nainstalovaných aplikací pomocí metody getallinstalledapps() ze třídy Utils. 2. Extrahování jmen balíčků všech aplikací (tzv. package names), jež jsou jednoznačnou identifikací aplikace a jsou také součástí url odkazu na webovou stránku aplikace na portále Google Play (viz řádek 2 Programu 5.3). 3. Sestavení url odkazu na webovou stránku aplikace na portále Google Play (řádek 10). 61
69 5. IMPLEMENTACE APLIKACE LAUNCHERU 4. Zaslání požadavku na server pro získání zdrojového kódu stránky dané aplikace (řádek 12). 5. Získání hodnoty elementu cover-image (řádek 27). 6. Získání url odkazu pomocí atributu src z elementu (řádek 28). 7. Uložení url odkazu na ikonu aplikace do databáze (řádek 33) for(int i=0; i<listofallinstalledapps.size(); i++) { 3 // pole retezcu s~package names 4 pkgnames[i] = listofallinstalledapps.get(i).getpkg(); 5 } // iterovani pres pole packege names 8 for (String pkg : iconpackages) { 9 // sestaveni url na aplikaci a~ziskani obsahu stranky 10 String url = " + pkg; 11 try { 12 d = Jsoup.connect(url) 13.timeout(1000*5) // 5 vterin get(); 16 } catch(ioexception e) { 17 // aplikace v~google play neexistuje 18 // vlozime do db ikonu s~priznakem Icon icon = new Icon(); 20 icon.setapppackage(pkg); 21 icon.seturltohdicon("-1"); 22 iconmanager.createicon(icon); 23 continue; 24 } 25 // aplikace v~google play existuje 26 // ziskame odkaz na ikonu ze zdrojoveho kodu webove stranky 27 Elements v=d.getelementsbyattributevaluecontaining("class","cover-image") 28 String path = v.get(0).attr("src"); 29 // a~vlozime do db ikonu s~odkazem 30 Icon icon = new Icon(); 31 icon.setapppackage(pkg); 32 icon.seturltohdicon(path); 33 iconmanager.createicon(icon); 34 } Program 5.3: Ukázka zdrojového kódu mechanismu pro získání url odkazů. Komponenta CardPresenter v metodě onbindviewholder pomocí nástroje Picasso vykreslí ikonu aplikace v kartě. Pokud položka databáze ikon obsahuje v parametru urltohdicon odkaz na na ikonu v lepším rozlišení, je tato ikona stažena a vykreslena v kartě, v případě, že položka obsahuje v parametru hodnotu -1, je použita ikona z lokální instalace aplikace v zařízení. Speciálním případem jsou aplikace Obchod Google Play a aplikace 62
70 5. IMPLEMENTACE APLIKACE LAUNCHERU systémového nastavení, jež mají ikonu v lepším rozlišení uloženou přímo v lokálním úložišti set-top boxu, protože tyto aplikace jsou implicitně součástí každého systému Android a nejsou tedy v obchodě Google Play dostupné Zjišt ování aktuálního stavu připojení Dalším důležitým mechanismem launcheru je testování připojení k síti internetu. Funkčnost tohoto mechanismu byla popsána v Kapitole Principem jsou 2 úrovně kontroly připojení. Kontrola připojení k místní síti Kontrolu připojení k místní síti (pomocí Wi-Fi nebo Ethernet modulu) zajišt uje komponenta connectionbroadcastreceiver, jež je součástí třídy MainActivity. Tato komponenta přibližně 2 vteřiny od změny stavu připojení k místní síti odchytne systémovou zprávu (intent) o změně a upozorní další komponenty (např. překreslení barvy ikony připojení na hlavní obrazovce). Pokud je launcher připojen k místní síti, spustí se druhá část kontroly - připojení k síti internetu. Implementace connectionbroadcastreceiveru je znázorněna v Programu 5.4. Kontrola připojení k internetu Kontrolu připojení k síti internetu zajišt uje komponenta InternetConnectionObservable, jež společně se třídou MainActivity tvoří model Observer-Observable 2. Principem kontroly připojení je zaslání požadavku na DNS server společnosti Google (pomocí příkazu runtime.exec("/system/bin/ping -c ")). V případě získání odpovědi ze serveru je launcher připojen k internetu, pokud odpověd serveru nezískáme, pokusíme se v následujících 5 vteřinách o druhý pokus a nedostaneme-li odpověd ani v tomto případě, launcher není připojen k internetu (je připojen pouze k místní síti). Implementace komponenty InternetConnectionObservable je znázorněna v Programu Tento model představuje návrhový vzor Pozorovatel (z angl. Observer): mezi pozorovateli a pozorovaným objektem je vztah N:1. V případě že na straně pozorovaného objektu dojde ke změně vztahu, či výskytu nějaké události, upozorní na to automaticky všechny své pozorovatele. Pozorovaný objekt zná své pozorovatele, může jich mít neomezené množství a poskytuje veřejné rozhraní - funkce setchanged(), notifyobservers() na straně pozorovaného objektu a update() na straně pozorovatelů. 63
71 5. IMPLEMENTACE APLIKACE LAUNCHERU 1 BroadcastReceiver connectionbroadcastreceiver = new BroadcastReceiver() { 3 public void onreceive(context context, Intent intent) { 4 ConnectivityManager connectivitymanager = 5 (ConnectivityManager)getSystemService(CONNECTIVITY_SERVICE); 6 NetworkInfo net = connectivitymanager.getactivenetworkinfo(); 7 8 if (net!=null && net.isavailable() && net.isconnected()){ 9 // pripojen k~mistni siti 10 InternetConnectionObservable.InternetConnectionTask task = 11 internetconn.new InternetConnectionTask(); 12 task.parallelexecute(); 13 } else { // nepripojen } Program 5.4: Ukázka zdrojového kódu mechanismu pro kontrolu připojení k místní síti. 1 public class InternetConnectionObservable extends Observable { 2 public class InternetConnectionTask extends ParallelAsyncTask<...> { protected Boolean doinbackground(void... params) { 6 try { 7 // prvni pokus 8 Process ipprocess = runtime.exec("/system/bin/ping -c "); 9 int exitvalue = ipprocess.waitfor(); 10 return (exitvalue == 0); 11 } catch (InterruptedException IOException e) { 12 return false; 13 } 14 } protected void onpostexecute(boolean result) { 18 // druhy pokus 19 if ((!result) && (!secondtry)) { InternetConnectionTask secondtry = new InternetConnectionTask(); 22 new Timer().schedule(new TimerTask() { 24 public void run() { 25 secondtry.parallelexecute(); 26 }, 5000); 27 } else { 28 // ani druhy pokus nevysel - informuje observer 29 setchanged(); 30 notifyobservers(); 31 } 32 } 33 } Program 5.5: Ukázka zdrojového kódu mechanismu pro kontrolu připojení k internetu. 64
72 5.3 Analýza výsledného launcheru 5. IMPLEMENTACE APLIKACE LAUNCHERU Výsledná funkcionalita launcheru (respektive celého firmware) byla testována na dvou set-top boxech Zoomtak M6 a K5 po dobu přibližně 30 dní nepřetržitého připojení k obrazovce. Součástí testování však bylo i nainstalování a ověření všech implementovaných funkcionalit i na zbylých dvou set-top boxech M5 a K8. Dlouhodobé testování probíhalo v případě set-top boxu M6 s připojenou LED televizní obrazovkou Samsung model UE32D5500 SMART s úhlopříčkou 32" (81cm) a v případě set-top boxu K5 s připojeným LED monitorem BenQ GL2460HM o úhlopříčce 24" (61cm). Dále bylo zobrazení uživatelského rozhraní launcheru otestováno na obrazovkách Philips 40PFH5509 s úhlopříčkou 41" (102cm) a na starším klasickém televizoru Philips s analogovým tunerem vyrobeným v roce 2001 o úhlopříčce 21" (52cm), set-top box byl v tomto případě připojen k televizoru pomocí AV kabelu. Ve všech zmíněných případech se layout uživatelského rozhraní vytvořeného launcheru korektně zobrazil dle očekávání. Testováno bylo připojení pomocí sít ového kabelu i pomocí Wi-Fi modulu. Launcher korektně reagoval na odpojení a připojení sít ového kabelu změnou barvy ikony indikace připojení do místní sítě. Testováno bylo i odpojení routeru od sítě internetu odpojením vstupního sít ového kabelu do routeru, kdy launcher rozpozná, že je připojen do místní sítě, ale není připojen k síti internetu a změní barvu ikony na žlutou. S pozitivním výsledkem byly také ověřeny funkce přidávání, odebírání a přesouvání karet s aplikacemi na hlavní obrazovce, a to i v případě, že launcher není připojen k internetu. Funkce přidání aplikace na hlavní obrazovku mezi karty bez připojení k internetu ikonu aplikace vykreslí dočasně v nízkém rozlišení a jakmile je launcher opět připojen dojde ke stažení a vykreslení ikony aplikace v lepším rozlišení. Ostatní uživatelské funkce launcheru jako: spuštění aplikací, změna jazyka, změna pozadí, kontrola aktualizací, změna šířky obrazu, spárování zařízení s účtem, příjímání zpráv a také systémové funkce launcheru, jež probíhají na pozadí, tj. získávání ikon v lepším rozlišení, aktualizace databáze ikon, příjímání zpráv, nastavení času dle serveru, získání informací o uživateli a poskytovateli služby ze serveru, aj. byly také ověřeny s pozitivním výsledkem. Zkontrolovány byly také funkce hardwarových komponent pro připojení a odpojení periferních zařízení: klávesnice, myš, externí USB úložiště nebo pamět ová karta. Testem prošly taktéž komponenty připojení Wi-Fi, Bluetooth a Ethernet. Uživatelské testování ovládání rozhraní launcheru proběhlo na vzorku 65
73 5. IMPLEMENTACE APLIKACE LAUNCHERU dvanácti osob různých věkových kategorií. Zkoumáno bylo jak si uživatelé poradí s navigací mezi jednotlivými prvky rozhraní. Vždy byly data launcheru resetována proto, aby každý z testujících prošel i obrazovkou s prvotním nastavením set-top boxu. Všichni testující rozuměli ovládání launcheru bez větších obtíží, jelikož jsou pro ovládání důležité pouze tlačítka D-padu, OK, domů a zpět. Bylo vhodné, aby testující dopředu znali funkci modrého tlačítka pro zobrazení nápovědy, která uživateli vysvětlí funkci zbylých tlačítek a mechanismus ovládání karet hlavní obrazovky. Dvěma testujícím činil drobný problém pochopení průvodce prvotním nastavením set-top boxu, který zobrazí u provedeného nastavení ikonu fajfky nebo ikonu křížku podle stavu provedení nastavení. Tito testující jsou starší 50 let, mladší testující (ve věku let) s ovládáním obrazovky prvotního nastavení launcheru problém neměli. Dále drobný problém některým uživatelům způsobila dialogová okna nastavení jazyka a nastavení barevného schématu launcheru, kde opět dvěma testujícím nebylo zcela zřejmé, na kterém prvku se aktuálně nachází focus. Tento problém můžeme v případě dialogového okna s nastavením jazyka přičíst tomu, že nastavení nabízí dvě volby a uživatel tak jednoznačně nerozezná, který jazyk je aktuálně vybraný. U dialogového okna s nastavením barevného schématu bychom mohli zvýraznění vylepšit prohozením barev, tzn. aktuálně zvýrazněný prvek by byl orámován bílou a ostatní modrou barvou. Za nedostatek někteří testující označili ovládání aplikace pro úpravu šířky obrazu. Prostředí aplikace je totiž dostupné pouze v anglickém jazyce a po ukončení nastavení a uložení šířky, aplikace uživatele přesměruje do systémového Android nastavení, což v případě prvotního průvodce působilo některým testujícím problémy. Tato aplikace byla vytvořena společností Zoomtak a je součástí jejich dodávaného firmware, aplikace bude předmětem budoucího vylepšení vytvořeného firmware. Výsledek testování ale můžeme považovat za úspěch, 10 z 12 testujících bylo s navrženým ovládáním uživatelského rozhraní launcheru spokojeno a označili ovládání za snadné. 66
74 6 Závěr Cílem této diplomové práce bylo prozkoumat možnosti, zdokumentovat a vytvořit vlastní upravený firmware pro vybrané Android zařízení. Dnes již existuje mnoho alternativních operačních systémů postavených na OS Android pro mobilní telefony či tablety, proto jsem se v mé diplomové práci rozhodl pro vytvoření operačního systému pro zařízení, jejichž obrazovky disponují velkou úhlopříčkou a jsou ovládané ze vzdálenosti několika metrů pomocí dálkového ovladače. Takové operační systémy totiž představují směr, kterým se v posledních letech vydali největší technologické firmy jako Google, Apple, Amazon, Samsung či LG. Na základě těchto požadavků byl vytvořen firmware, který je použitelný pro prakticky kterékoliv zařízení, jenž disponuje Wi-Fi nebo Ethernet modulem pro připojení k internetu, HDMI portem pro připojení zobrazovacího zařízení, dálkovým ovladačem a procesorem, který vyhovuje hardwarovým nárokům systému Android 4.2 Jelly Bean. Součástí zadání také bylo zaměřit se na celkový branding vytvořeného firmware, čehož jsem docílil zavedením vlastního startovacího loga, upravením systémových proměnných (například ro.product.model, ro.product.name, ro.product.manufacturer, aj.), především ale vytvořením vlastního uživatelského prostředí tzv. launcheru s podporou změny barevného schématu. Vytvořený firmware byl testován na všech čtyřech zapůjčených Android set-top boxech, jejichž specifikace byly prozkoumány a podrobně popsány v textu této práce. Uživatelské rozhraní vytvořeného launcheru bylo navrženo tak, aby odpovídalo požadavkům na uživatelská rozhraní aplikací pro platformu Android TV, jejíž studium a podrobný popis je součástí kapitoly 2. Vzniklo tak uživatelské prostředí, které je vhodné pro zobrazení na obrazovkách s vysokým rozlišením a většími úhlopříčkami a které je jednoduše ovladatelné ze vzdálenosti několika metrů pomocí dálkového ovladače bez nutnosti doteků obrazovky. Cílem bylo navrhnout launcher tak, aby i méně technicky zdatní uživatelé byli schopni rychle ovládání launcheru pochopit, což se dle výsledků testů podařilo. Pro jednoduchost ovládání uživatelského rozhraní byl launcher navržen tak, že se skládá pouze ze tří obrazovek, které byly podrobně popsány v kapitole 4 a jsou zobrazeny v Příloze 9. Uživatel má možnost upravit vzhled launcheru změnou jazyka či změnou barevného schématu prostředí. Jednotlivá barevná schémata jsou zobrazena v Příloze 11. Při návrhu launcheru jsem využil nejnovější nástroje pro podporu vývoje aplikací platformy Android TV jako je podpůrná knihovna Support 67
75 6. ZÁVĚR Leanback Library verze 17.21, jež byla společností Google vydána v prosinci loňského roku. Tato knihovna poskytla komponenty pro vytvoření řady karet oblíbených aplikací na hlavní obrazovce. Množina operací nad řadou karet byla pro účely této práce rozšířena o možnost uvedení karty do editovatelného stavu a posunutí na jinou pozici tak, jak to uživateli více vyhovuje. Součástí poslední vydané aktualizace knihovny Leanback verze je mimo jiné komponenta GuidedStepFragment, jež má sloužit pro vytvoření průvodce uživatelským nastavením za pomoci série rozhodovacích obrazovek. Tato komponenta by mohla být součástí budoucího vylepšení obrazovky launcheru s průvodcem prvotním nastavením set-top boxu. Součástí implementace launcheru je vytvořený mechanismus získávání ikon aplikací v lepším rozlišení (512 x 512 dpi), jelikož ikony aplikací, které jsou součástí instalace v set-top boxu mají velmi nízké rozlišení (pouze 48 x 48 dip) a nejsou tak vhodné pro velké obrazovky televizorů. Protože je settop box primárně určen pro zobrazování dat z internetu, bylo také nutné vytvořit vhodný mechanismus pro kontrolu připojení set-top boxu k internetu. Vytvořený mechanismus formou změny barvy ikony ve stavových informacích hlavní obrazovky launcheru informuje uživatele o aktuálním stavu připojení. Veškeré funkce launcheru jsou ale dostupné i v off-line režimu. Zmíněné vytvořené mechanismy jsem podrobně popsal v kapitole 5 jak z pohledu funkčnosti, tak z pohledu implementace. Při vývoji launcheru byla využita také webová služba Bitbucket pro verzování a zálohu zdrojového kódu projektu 1. Součástí zadání bylo vytvořit práci, která bude sloužit jako referenční výukový materiál pro kurz PV256 Projekt z programování pro Android. Také proto byla v druhé kapitole této práce popsána nová platforma Android TV pro moderní televizory. Velké technologické společnosti již od začátku tohoto roku integrují tuto platformu přímo do svých televizorů nebo vytvářejí zařízení, jež se budou připojovat k televizoru pomocí HDMI kabelu (viz Příloha 1). Platforma Android TV bude brzy součástí mnoha zařízení, a i proto jsem v této práci věnoval druhou kapitolu popisu platformy Android TV a návrhu aplikací pro tuto platformu. V textu práce jsem také ve třetí kapitole popsal hardwarové specifikace vybraných set-top boxů od společnosti Zoomtak a nastínil jsem způsob, jak upravit jejich firmware, aby vyhovoval našim potřebám. Ve čtvrté kapitole jsem popsal grafický návrh a ovládání uživatelského rozhraní vytvořeného launcheru a v kapitole páté jsem čtenáři představil způsob implementace launcheru a podrobněji 1. Projekt launcheru je dostupný na webové adrese HonzaR/launcher 68
76 6. ZÁVĚR popsal implementaci jeho vybraných komponent. Budoucím rozšířením launcheru by mohlo být zmíněné využití nové komponenty knihovny Leanback - GuidedStepFragment pro vytvoření nového průvodce nastavením. V případě rozšíření platformy Android TV a vzniku více aplikací, optimalizovaných pro ovládání dálkovým ovladačem, by mohlo rozšířením také být využití plné funkcionality použité komponenty BrowseFragment ve formě zavedení levého navigačního menu (viz Příloha 12). Tímto způsobem bychom mohli nainstalované aplikace na hlavní obrazovce launcheru roztřídit do kategorií (například aplikace, hry a systémové nástroje). Nebo bychom mohli také zavést řadu karet s doporučením nového obsahu pro uživatele, jež je principem první řady karet v launcheru platformy Android TV. Úpravy nebo kompletně novou verzi by si určitě zasloužila aplikace pro nastavení šířky obrazu, která se ukázala jako největší slabina vytvořeného firmware. Jinou formou budoucího rozšíření by také mohlo být vytvoření jednoduché aplikace pro mobilní telefony či tablety, jejíž uživatelské rozhraní by se skládalo pouze z jedné obrazovky s tlačítky domů, zpět a čtyřsměrovým tlačítkem D-pad a která by se připojila pomocí Wi-Fi do stejné sítě jako settop box a sloužila by pro vzdálené ovládání launcheru namísto nebo jako alternativa dálkového ovladače. Tímto způsobem by si uživatelé mohli například zahrát k tomuto účelu uzpůsobenou hru v režimu multiplayer. 69
77 Literatura [1] OPEN HANDSET ALLIANCE. Alliance Announcements [online] [cit ]. Dostupné z: openhandsetalliance.com/press_releases.html [2] OPEN HANDSET ALLIANCE. Industry Leaders Announce Open Platform for Mobile Devices: Open Software, Open Device, Open Ecosystem [online]. Californie: Open Handset Alliance, 2007 [cit ]. Dostupné z: press_ html [3] IDC ANALYZE FUTURE. Press Release: Android and ios Squeeze the Competition, Swelling to 96.3% of the Smartphone Operating System Market for Both 4Q14 and CY14, According to IDC [online] [cit ]. Dostupné z: containerid=prus [4] GOOGLE. Google+: Google Developers [online] [cit ]. Dostupné z: posts [5] MARTONIK, Andrew. AndroidCentral: Google TV [online] [cit ]. Dostupné z: google-tv [6] SADEWO, Bams. AndroidAuthority: Google s Nexus Q now listed as no longer available on Google Play [online] [cit ]. Dost. z: googles-nexus-q-no-longer-available-on-google-play/ / [7] JANŮ, Stanislav. MLADÁ FRONTA. Android TV: Čtvrtý pokus Googlu ovládnout obýváky [online] [cit ]. Dostupné z: android-tv-ctvrty-pokus-googlu-ovladnout-obyvaky/ sc-3-a /default.aspx [8] SAID, Nabil Ben. Android TV: A platform for the living room [online] [cit ]. Dostupné z: nbensaid/androidtv-gdgdevfest
78 6. ZÁVĚR [9] GOOGLE. Support: Android TV Help [online]. Mountain View (Californie), 2015 [cit ]. Dostupné z: google.com/androidtv# [10] NICKINSON, Phil. The Nexus Player works with external storage and USB ethernet [online] [cit ]. Dostupné z: about-nexus-player-and-usb-support [11] GOOGLE. Introducing a smarter TV: Your remote stays with you [online]. Mountain View (Californie), 2015 [cit ]. Dostupné z: [12] KOTWAL, Ankur. YOUTUBE. Android TV: Using the Leanback library [video] [cit ]. Dostupné z: be/72k1vhjol98 [13] GOOGLE. Design: Designing for Android TV [online]. Mountain View (Californie): Google, 2015 [cit ]. Dostupné z: https: //developer.android.com/design/tv/index.html [14] GOOGLE. Designing for Android TV: Home Screen [online]. Mountain View (Californie): Google, 2015 [cit ]. Dostupné z: [15] GOOGLE. Designing for Android TV: Apps and Games [online]. Mountain View (Californie): Google, 2015 [cit ]. Dostupné z: tv/index.html [16] GOOGLE. UI Patterns for TV: Navigation, Focus and Selection [online]. Mountain View (Californie): Google, 2015 [cit ]. Dostupné z: tv/patterns.html [17] GOOGLE. UI Patterns for TV: Recommendations [online]. Mountain View (Californie): Google, 2015 [cit ]. Dostupné z: https: //developer.android.com/design/tv/patterns.html [18] GLINT, Michael. Android TV: An Easy Guide to Over 50 of the Best Features. South Carolina: CreateSpace Independent Publishing Platform, ISBN
79 6. ZÁVĚR [19] MURPHY, Mark L. The Busy Coder s Guide to Android Development. Californie: CreateSpace Independent Publishing Platform, ,5. ISBN [20] GOOGLE. Android Developers: Tools - Android Studio [online]. Mountain View (Californie): Google, 2015 [cit ]. Dostupné z: [21] GOOGLE. Android Developers: Handling Controller Actions [online]. Mountain View (Californie): Google, 2015 [cit ]. Dostupné z: game-controllers/controller-input.html [22] GOOGLE. Android Developers: Style for TV [online] [cit ]. Dostupné z: tv/style.html [23] GOOGLE. Android Developers: Building Layouts for TV [online] [cit ]. Dostupné z: ps://developer. android.com/training/tv/start/layouts.html# density-resources [24] GOOGLE. Android Developers: Building Layouts for TV [online] [cit ]. Dostupné z: com/training/tv/start/layouts.html [25] GOOGLE. Android Developers: Draw 9-patch [online]. Mountain View (Californie): Google, 2015 [cit ]. Dostupné z: http: //developer.android.com/tools/help/draw9patch.html [26] GOOGLE. Android Developers: Recommending TV Content [online]. Mountain View (Californie): Google, 2015 [cit ]. Dostupné z: discovery/recommendations.html [27] GOOGLE. Design: Designing for Android TV [online]. Mountain View (Californie): Google, 2015 [cit ]. Dostupné z: https: //developer.android.com/training/tv/index.html [28] GOOGLE. Android Developers Blog [online]. Mountain View (Californie): Google, 2015 [cit ]. Dostupné z: android-developers.blogspot.cz/ 72
80 6. ZÁVĚR [29] STACK EXCHANGE INC. StackOverflow: Android TV [online] [cit ]. Dostupné z: questions/tagged/android-tv [30] GOOGLE. Google+: Android TV Developers [online]. Mountain View (Californie): Google, 2015 [cit ]. Dostupné z: plus.google.com/communities/ [31] GOOGLE. Google Play: Games for Android TV [online] [cit ]. Dostupné z: apps/collection/promotion_3000e24_androidtv_games_ all?hl=cs [32] GOOGLE. Google Play: Apps for Android TV [online] [cit ]. Dostupné z: apps/collection/promotion_3000e26_androidtv_apps_ all?hl=cs [33] GOOGLE. Nexus Player: Built to play [online] [cit ]. Dostupné z: [34] RAZER. Forge TV: Android Gaming In Your Living Room [online]. San Diega (Californie), 2015 [cit ]. Dostupné z: [35] NVIDIA. Shield: Android TV [online]. Santa Clara (Californie), 2015 [cit ]. Dostupné z: [36] SONY. Bravia: Android TV [online]. Tokio (Japonsko), 2015 [cit ]. Dostupné z: androidtv/en-us/?j-short=androidtv [37] ZOOMTAK. Zoomtak M6 Smart TV Box [online] [cit ]. Dostupné z: asp?bid=34&tid=34&sid=34&id=43 [38] DEMBOWSKI, Klaus. Mistrovství v HARDWARE. Praha: Computer press, ISBN [39] ZOOMTAK. M5 Quad Core Android TV Box [online] [cit ]. Dostupné z: asp?bid=35&tid=35&sid=35&id=50 73
81 6. ZÁVĚR [40] ZOOMTAK. K5 Quad Core Android TV Box [online] [cit ]. Dostupné z: asp?bid=35&tid=35&sid=35&id=51 [41] ZOOMTAK. K8 Quad Core Android TV Box [online] [cit ]. Dostupné z: asp?bid=35&tid=35&sid=35&id=52 [42] ZOOMTAK. Products [online] [cit ]. Dostupné z: hhttp:// [43] GOOGLE. Support - Android TV Help: Nexus Player tech specs [online] [cit ]. Dostupné z: google.com/androidtv/answer/ ?hl=en [44] SLEDOVANITV.CZ. Manuál - STB [online]. Brno, 2014 [cit ]. Dostupné z: Manual-STB pdf [45] GOOGLE. Android Developers: Android 4.2 APIs [online]. Mountain View (Californie), 2015 [cit ]. Dostupné z: android-4.2.html [46] GANSSLE, Jack. The Firmware Handbook: Embedded Technology. London: Newnes, ISBN [47] T3N. Android 4.1 Update: Welche Geräte Jelly Bean erhalten [online] [cit ]. Dostupné z: android-41-update-welche-gerate / [48] GOOGLE. Android Developers: Android Debug Bridge [online]. Mountain View (Californie), 2015 [cit ]. Dostupné z: http: //developer.android.com/tools/help/adb.html [49] GOOGLE. Android Developers: Creative Vision for TV [online]. Mountain View (Californie), 2015 [cit ]. Dostupné z: html [50] GOOGLE. Android Developers: Android Lollipop [online]. Mountain View (Californie), 2015 [cit ]. Dostupné z: developer.android.com/about/versions/lollipop.html 74
82 6. ZÁVĚR [51] GOOGLE. Android Developers: Design - Iconography [online]. Mountain View (Californie), 2015 [cit ]. Dostupné z: iconography.html#launcher [52] GOOGLE. Android Developers: Design - Help [online]. Mountain View (Californie), 2015 [cit ]. Dostupné z: developer.android.com/design/patterns/help.html [53] LOCKWOOD, Alex. Android Design Patterns: Handling Configuration Changes with Fragments [online] [cit ]. Dostupné z: 04/retaining-objects-across-config-changes.html [54] ŠEVČÍK, Jonáš. Droidboy: Parallel AsyncTask [online] [cit ]. Dostupné z: parallel-asynctask.html [55] GOOGLE. Android Developers: ListRowPresenter [online]. Mountain View (Californie), 2015 [cit ]. Dostupné z: support/v17/leanback/widget/listrowpresenter.html [56] GOOGLE. Android Developers: ArrayObjectAdapter [online]. Mountain View (Californie), 2015 [cit ]. Dostupné z: support/v17/leanback/widget/arrayobjectadapter.html 75
83 1 Zařízení se systémem Android TV Obrázek 1.1: Referenční zařízení Nexus Player se systémem Android TV. [33] Obrázek 1.2: Forge TV od společnosti Razer. [34] 76
84 1. ZAŘÍZENÍ SE SYSTÉMEM ANDROID TV Obrázek 1.3: Shield Console od společnosti Nvidia. [35] Obrázek 1.4: Android TV platforma zabudovaná v televizoru Sony Bravia s ovládáním od společnosti Logitech. [36] 77
85 2 Set-top boxy společnosti Zoomtak Obrázek 2.1: Čtyři zvolené platformy set-top boxů od společnosti Zoomtak: K5, K8, M6 a M5. [42] 78
86 3 Jednotlivé obrazovky launcheru Android TV Obrázek 3.1: C tyr i obrazovky uživatelského rozhraní launcheru platformy Android TV, I. hlavní obrazovka, II. detailní informace o daném obsahu, III. aplikace Youtube IV. uživatelské nastavení, V. pr ipojení k Wi-Fi síti. 79
87 4 Uživatelská rozhraní Google TV aplikací Obrázek 4.1: I: Hlavní obrazovka launcheru platformy Google TV, II: aplikace Netflix pro platformu Google TV, III: aplikace DoggCatcher Podcast Player pro platformu Google TV. 80
88 5 Hardwarové specifikace set-top boxů Zoomtak Model Verze Android CPU GPU Pamět Vnitřní úložiště Podpora pamětí Sít Souborové systémy Rozhraní Video formáty Audio formáty Image formáty Rozměry a váha set-top boxu Dálkové ovládání Zoomtak M6 Smart TV Box Jelly Bean Amlogic-8726 MX Cortex A9 CPU Dual Core Max.1.5GHz Dual Core Integrated Mali-400 GPU (3D Acceleration Engine) DDR3-1GB NAND Flash 8GB SD/MMC/MS Card Reader up to 32GB USB2.0 Host(4x) Built-in Wi-Fi Module b/g/n With Antenna RJ45 Ethernet network connection interface NTFS, FAT32, YAFFS2, EXT2, EXT3 4 x USB 2.0 HS 1 x AV output 1 x SD/MMC/MS memory card slot 1 x Rj45 wire Ethernet connection 1 x HDMI output x YPbPr 1x Coaxial 1080PDIVX/H264/H263/AVI/FLV/m2ts/mkv/ mp4/mjpeg/mpeg/rm/rmvb/mov/bdav/ HTML5/vc1 MP3, WMA, OGG, WAVE.DTS,AC3,... BMP/JPG/PNG/GIF/JPEG/TIFF 16 x 10 x 2,5cm, 200g 50g (bez baterií - 2x AAA), 45 tlačítek, technologie přenosu informací - IR Tabulka 5.1: Podrobná hardwarová specifikace platformy set-top boxu Zoomtak M6. [37] 81
89 5. HARDWAROVÉ SPECIFIKACE SET-TOP BOXŮ ZOOMTAK Model Verze Android CPU GPU Pamět Vnitřní úložiště Podpora pamětí Sít Souborové systémy Rozhraní Video formáty Audio formáty Image formáty Rozměry a váha set-top boxu Dálkové ovládání Zoomtak M5 Android TV Box KitKat Amlogic S805 Quad core Cortex A5 1.5GHz Quad-core Mali-450MP GPU (Hardward 3D graphics acceleration) DDR3-1GB NAND Flash 8GB SD/SDHC/MMC Card Reader up to 32GB USB2.0 Host(4x), support USB DISK and USB HDD Built-in Wi-Fi Module b/g/n With Antenna, 2.4G/5.0G Dual WIFI RJ45 Ethernet 10/100M network connection interface NTFS, FAT16, FAT32 4 x USB 2.0 HS 1 x AV output 1 x SD/SDHC/MMC memory card slot 1 x RJ45 standard wire Ethernet connection 1 x HDMI output 1.4 up to 1080P 1 x YPbPr 1x Coaxial Bluetooth V PDIVX/H264/Avi/Rm/Rmvb/Ts/Vob/Mkv/ Mov/ISO/wmv/asf/flv/dat/mpg/mpeg MP3/WMA/AAC/WAV/OGG/AC3/DDP/ TrueHD/DTS/DTS/HD/FLAC/APE HD JPEG/BMP/GIF/PNG/TIFF 16 x 10 x 2,5cm, 200g 50g (bez baterií - 2x AAA), 45 tlačítek, technologie přenosu informací - IR Tabulka 5.2: Podrobná hardwarová specifikace platformy set-top boxu Zoomtak M5. [39] 82
90 5. HARDWAROVÉ SPECIFIKACE SET-TOP BOXŮ ZOOMTAK Model Verze Android CPU GPU Pamět Vnitřní úložiště Podpora pamětí Sít Souborové systémy Rozhraní Video formáty Audio formáty Image formáty Rozměry a váha set-top boxu Dálkové ovládání Zoomtak K5 Android TV Box KitKat Amlogic S805 Quad core Cortex A5 1.5GHz Quad-core Mali-450MP GPU (Hardward 3D graphics acceleration) DDR3-1GB NAND Flash 8GB SD/SDHC/MMC Card Reader up to 32GB USB2.0 Host(3x), support USB DISK and USB HDD Built-in Wi-Fi Module b/g/n, 2.4G/5.0G Dual WIFI RJ45 Ethernet 10/100M network connection interface NTFS, FAT16, FAT32 3 x USB 2.0 HS 1 x AV output 1 x SD/SDHC/MMC memory card slot 1 x RJ45 wire Ethernet connection 1 x HDMI output 1.4 up to 1080P 1 x Optical port Bluetooth V PDIVX/H264/Avi/Rm/Rmvb/Ts/Vob/Mkv/ Mov/ISO/wmv/asf/flv/dat/mpg/mpeg MP3/WMA/AAC/WAV/OGG/AC3/DDP/ TrueHD/DTS/DTS/HD/FLAC/APE HD JPEG/BMP/GIF/PNG/TIFF 10 x 10 x 2cm, 140g 50g (bez baterií - 2x AAA), 45 tlačítek, technologie přenosu informací - IR Tabulka 5.3: Podrobná hardwarová specifikace platformy set-top boxu Zoomtak K5. [40] 83
91 5. HARDWAROVÉ SPECIFIKACE SET-TOP BOXŮ ZOOMTAK Model Verze Android CPU GPU Pamět Vnitřní úložiště Podpora pamětí Sít Souborové systémy Rozhraní Video formáty Audio formáty Image formáty Rozměry a váha set-top boxu Dálkové ovládání Zoomtak K8 Android TV Box KitKat Amlogic S802 Quad core Cortex A9r4 2.0GHz Octa-core Mali-450MP 600MHz (Hardward 3D graphics acceleration) DDR3-2GB NAND Flash 8GB SD/SDHC/MMC Card Reader up to 32GB USB2.0 Host(3x), support USB DISK and USB HDD Built-in Wi-Fi Module b/g/n, 2.4G/5.0G Dual WIFI RJ45 Ethernet 10/100M network connection interface NTFS, FAT16, FAT32 3 x USB 2.0 HS 1 x AV output 1 x SD/SDHC/MMC memory card slot 1 x RJ45 wire Ethernet connection 1 x HDMI output 1.4 up to 4K2K 1 x Optical port Bluetooth V PDIVX/H264/Avi/Rm/Rmvb/Ts/Vob/Mkv/ Mov/ISO/wmv/asf/flv/dat/mpg/mpeg MP3/WMA/AAC/WAV/OGG/AC3/DDP/ TrueHD/DTS/DTS/HD/FLAC/APE HD JPEG/BMP/GIF/PNG/TIFF 10 x 10 x 2cm, 140g 50g (bez baterií - 2x AAA), 45 tlačítek, technologie přenosu informací - IR Tabulka 5.4: Podrobná hardwarová specifikace platformy set-top boxu Zoomtak K8. [41] 84
92 6 Set-top box Zoomtak M6 Obrázek 6.1: Pohled na platformu set-top boxu Zoomtak M6 zepředu, zezadu, zprava, zleva a seshora včetně ovladače. [37] 85
93 7 Uživatelské prostr edí XMBC (Kodi) Obrázek 7.1: Hlavní obrazovka uživatelského prostr edí XMBC nahor e, obrazovka s uživatelskými aplikacemi dole. 86
94 8 Adresářová struktura firmware set-top boxu M6 Obrázek 8.1: Obsah kořenového adresáře upraveného firmware set-top boxu M6 nahoře, systémové aplikace v adresáři /system/app dole. 87
95 9 Jednotlivé obrazovky launcheru platformy M6 Obrázek 9.1: Tr i obrazovky uživatelského rozhraní vytvor eného launcheru platformy M6: hlavní obrazovka, obrazovka se všemi nainstalovanými aplikacemi a obrazovka s nastavením. 88
96 10 Aplikace z nastavení Obrázek 10.1: Obrazovky aplikací pro nastavení launcheru: aplikace pro úpravu šířky a výšky obrazu, aplikace pro spárování zařízení set-top boxu s uživatelským účtem na serveru a aplikace pro aktualizaci firmware settop boxu M6. 89
97 11 Pozadí launcheru platformy M6 Obrázek 11.1: Výběr z pěti dostupných barevných schémat vyvinutého launcheru set-top boxu M6. 90
Xtreamer Whizz. Uživatelská příručka CZ
Xtreamer Whizz Uživatelská příručka CZ Děkujeme Vám za zakoupení Xtreamer Whizz Xtreamer Whizz je další generace multimediálního cetra na bázi Android TV přinášející online zábavu do vašeho obývacího pokoje
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...
Mobilní aplikace Novell Filr Stručný úvod
Mobilní aplikace Novell Filr Stručný úvod Únor 2016 Podporovaná mobilní zařízení Aplikace Novell Filr je podporována v následujících mobilních zařízeních: Telefony a tablety se systémem ios 8 novějším
N e j č a s t ě j š í d o t a z y k e k u k i t V
Nejčastější dotazy ke Kuki TV Nejčastější otázky a odpovědi ke Kuki TV Tvoje otázka? 1. Jak dlouho trvá vyexpedování STB Kuki? Set-top boxy ke službě Kuki expedujeme zpravidla do 3 (pracovních) dnů od
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í
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í...
HD satelitní přijímač Optimum HD X310
HD satelitní přijímač Optimum HD X310 recenze přijímače strana 1/16 Obsah: Představení přijímače... 3 Balení... 3 Přijímač... 4 Přední strana přijímače... 4 Zadní strana přijímače... 5 Dálkové ovládání...
Aplikované úlohy Solid Edge
Aplikované úlohy Solid Edge SPŠSE a VOŠ Liberec Ing. Jana Kalinová [ÚLOHA 36 ÚVOD DO PROSTŘEDÍ SESTAVA A SVAŘENEC] 1 CÍL KAPITOLY. Cílem této kapitoly je co nejrychlejší zorientování se v novém modulu
LuxRiot uživatelský manuál verze 1.6.12. Uživatelský manuál Verze 1.6.12. -1-2008, Stasa s.r.o.,pokorného 14, 190 00, PRAHA
Uživatelský manuál Verze 1.6.12-1- 2008, Stasa s.r.o.,pokorného 14, 190 00, PRAHA LuxRiot je softwarový balík, určený pro sledování a ukládání dat z kamer. Umožňuje přijímat data z IP kamer a video serverů
Uživatelská příručka
Uživatelská příručka Copyright 2015 HP Development Company, L.P. Bluetooth je ochranná známka příslušného vlastníka a je užívána společností Hewlett- Packard v souladu s licencí. Corel je registrovaná
NÁVOD K POUŽITÍ SET-TOP-BOXU ARRIS VIP 1113
NÁVOD K POUŽITÍ SET-TOP-BOXU ARRIS VIP 1113 EDERA Group a. s. tel.: 775 212 034 e-mail: porucha@edera.cz web: www.edera.cz Vážení klienti, jsme rádi, že jste si za svého poskytovatele televizních služeb
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ý
Samsung představil na veletrhu CES velkolepou řadu SUHD TV 2016
Samsung představil na veletrhu CES velkolepou řadu SUHD TV 2016 Televizory SUHD TV 2016, vybavené displejem Quantum dot, přináší nejrealističtější obraz, špičkový design, jednoduchý přístup k obsahu a
Obsah. 11.1 USB připojení
Obsah 1. Úvod 2. Příslušenství 3. Technická specifikace 4. Spouštění a vypínání 5. Pracovní plocha 6. Tlačítka 7. Nastavení systému 8. HDMI 9. Instalace, odinstalace a spouštění aplikací 10. Nastavení
Pohotovostní režim: vstup do Fotoaparátu (lze změnit). V menu: pohyb nahoru. 4b Navigační tlačítko doprava
myphone 3300 Návod Pozice Popis Funkce 1 Displej Barevný LCD displej. 2 Sluchátko Reproduktor pro telefonování. 3 Svítilna Lze zapnout/vypnout dlouhým stiskem tlačítka svítilny (11). 4a Navigační tlačítko
DATA ARTICLE. AiP Beroun s.r.o.
DATA ARTICLE AiP Beroun s.r.o. OBSAH 1 Úvod... 1 2 Vlastnosti Data Article... 1 2.1 Požadavky koncových uživatelů... 1 2.2 Požadavky na zajištění bezpečnosti a důvěryhodnosti obsahu... 1 3 Implementace
Multimédia. Číslo dokumentu: 405774-221
Multimédia Číslo dokumentu: 405774-221 Kv ten 2006 V této příručce je vysvětleno použití multimediálních hardwarových a softwarových funkcí počítače. Multimediální funkce se liší v závislosti na vybraném
CS WAVE Virtuální pracovní stůl svařování Malá verze Manuál uživatele
CS WAVE Virtuální pracovní stůl svařování Malá verze Manuál uživatele Version 4.0 14/04/2010 1 Tato příručka slouží všem uživatelům bez ohledu na jejich pracovní pozici a popisuje funkce, které poskytuje
HD satelitní přijímač Optimum SLOTH Classic
HD satelitní přijímač Optimum SLOTH Classic recenze přijímače strana 1/27 Obsah: Představení přijímače... 4 Balení... 4 Přijímač... 5 Přední strana přijímače... 5 Zadní strana přijímače... 6 Dálkové ovládání...
UZ modul VVISION poslední změna 1. 3. 2013
UZ modul VVISION poslední změna 1. 3. 2013 Obsah 1 Základní popis... - 2-1.1 Popis aplikace... - 2-1.2 Zdroje obrazových dat... - 2-1.3 Uložení dat... - 2-1.4 Funkcionalita... - 2-1.4.1 Základní soubor
Rozdílová dokumentace k ovládání IS KARAT.net
Dokumentace k IS KARAT.net Rozdílová dokumentace k ovládání IS KARAT.net programový modul: Rozdílová dokumentace k ovládání IS KARAT.net OBSAH: 1 ÚVOD... 3 2 PŘIHLAŠOVACÍ DIALOG... 4 3 NAVIGACE... 5 3.1
NÁVOD K POUŽITÍ SET-TOP BOXU MOTOROLA VIP 1003
NÁVOD K POUŽITÍ SET-TOP BOXU MOTOROLA VIP 1003 EDERA Group a. s. tel.: 775 212 034 e-mail: porucha@edera.cz web: www.edera.cz Vážení klienti, jsme rádi, že jste si za svého poskytovatele televizních služeb
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í,
WWW.ADAPTIV-MULTIMEDIA.COM
WWW.ADAPTIV-MULTIMEDIA.COM 1 Obsah Obsah O produktu 3 Schéma zapojení 4 Stručný návod k obsluze 6 Systém 8 Nastavení zvuku 10 Navigace 11 DAB 12 HDMI 14 TV 15 AV vstup 17 USB / SD 18 Přenos souborů 24
Tablet SAMSUNG GALAXY NOTE 10.1. Popis a používání zařízení ve výuce
STŘEDNÍ PRŮMYSLOVÁ ŠKOLA ELEKTROTECHNICKÁ A INFORMAČNÍCH TECHNOLOGIÍ BRNO Tablet SAMSUNG GALAXY NOTE 10.1 Popis a používání zařízení ve výuce Vytvořil: Mgr. David Čížek Obsah 1. Úvod... 2 2. Popis tabletu,
Therm-App - Mobilní termální kamera
Therm-App - Mobilní termální kamera Operační manuál Obsah operačního manuálu 1. Popis produktu... 3 2. Instalační průvodce... 4 3. Minimální požadavky Android zařízení... 6 4. Obsah balení Therm-app...
OBSAH AHOJ, JSEM KUKI. Bav se se mnou První pomoc 02/03
jak mě používat OBSAH AHOJ, JSEM KUKI. 6 10 22 Bav se se mnou První pomoc 02/03 Děkuji ti, že ses rozhodl pro naši společnou cestu. Od teď ti budu dělat jen radost. Přečti si o mně vše důležité, ať víš,
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,
Projekt Vzdělávání dotykem CZ.1.07/1.3.00/51.0031. WORD 2013 práce s textovými soubory. Autoři: Jan Heller a David Peterka
Projekt Vzdělávání dotykem CZ.1.07/1.3.00/51.0031 WORD 2013 práce s textovými soubory Autoři: Jan Heller a David Peterka 1 Obsah Úvodní slovo realizačního týmu... 4 Úvod... 6 1. Prostředí MS Word 2013...
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í
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...
Užívejte si své vzpomínky s novými fotorámečky a fototiskárnami Sony
Tisková zpráva Praha, 31. ledna 2008 Užívejte si své vzpomínky s novými fotorámečky a fototiskárnami Sony DIGITÁLNÍ FOTORÁMEČKY DPF-V900/V700 a DPF-D70 S-Frame Fotorealistický LCD panel se skvělými barvami
OBSAH AHOJ, JSEM KUKI. Bav se se mnou První pomoc 02/03
jak mě používat OBSAH AHOJ, JSEM KUKI. 6 10 22 Bav se se mnou První pomoc 02/03 Děkuji ti, že ses rozhodl pro naši společnou cestu. Od teď ti budu dělat jen radost. Přečti si o mně vše důležité, ať víš,
Monitor HP ENVY 23 IPS. Uživatelská příručka
Monitor HP ENVY 23 IPS Uživatelská příručka 2013, Hewlett-Packard Development Company, L.P. Microsoft, Windows a Windows Vista jsou registrované ochranné známky nebo ochranné známky společnosti Microsoft
dvblink - DVB-T tuner
dvblink - DVB-T tuner Dualní DVB-T tuner Vlastnosti produktu Dualní DVB-T tuner DVB-T MPEG2 a MPEG4 kompatibilní (HD) AFS* - automatické přepínání frekvencí USB AV port přehrávače USB zařízení až 2TB (FAT32
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ě
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í...
Představení telefonu
Český manuál Představení telefonu Mobilní telefon CUBE 1 je představitelem rodiny chytrých mobilních telefonů vybavených operačním systémem Android, který patří mezi nejrozšířenější systémy pro mobilní
OP - KINECT Vstup textu pomocí gest
Martin Fous A4M39NUR OP - KINECT Vstup textu pomocí gest Zadání: Popis Cílová skupina Low -fid prototyp - navrhněte a otestujte sadu gest pro vstup textu pomocí ovladače Kinect - netechnicky vzdělaní mladí
M I S Y S - W E B. Intranet řešení systému MISYS. Verze 9.00. Příručka uživatele
M I S Y S - W E B Intranet řešení systému MISYS Verze 9.00 Příručka uživatele GEPRO s.r.o. Září 2008 Copyright GEPRO s.r.o. 2008 Ochranné známky GEPRO spol. s r.o. KOKEŠ, MISYS Ochranné známky Microsoft
Obrazovka. Návod k aplikaci
Návod k aplikaci Změněno: St, 18 Květen, 2016 at 4:24 PM Uživatelská příručka pro aplikaci není k dispozici v tištěné podobě, protože je neustále aktualizována tak, aby odpovídala dalším funkcím průběžných
VAR-NET INTEGRAL Manuál správce VNI 5.1 VAR-NET INTEGRAL. verze 0.2. Manuál správce VNI 5.1
Manuál správce VNI 5.1 verze 0.2 Manuál správce VNI 5.1 VARIANT plus, spol. s.r.o., U Obůrky 5, 674 01 TŘEBÍČ, tel.: 565 659 600 technická linka 565 659 655 (pracovní doba 7:30 15:00) www.variant.cz isb@variant.cz
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
e-mail: edera@edera.cz web: www.edera.cz
NÁVOD K POUŽITÍ DÁLKOVÉHO OVLADAČE K SET-TOP BOXU MOTOROLA 1. Vypnutí/Zapnutí set-top boxu 2. Menu, zobrazení hlavního menu STB, seznam televizních kanálů 3. Info, zobrazení informací o právě sledovaném
Zaèínáme. Nokia N81-3 1. vydání CS
Zaèínáme Nokia N81-3 1. vydání CS Tlaèítka a èásti (zepøedu) Èíslo modelu: Nokia N81-3. Dále jen Nokia N81. 1 Tlaèítka her a 2 Slot pamì»ové karty 3 Výbìrová tlaèítka 4 Tlaèítka médií: Tlaèítko Dal¹í Tlaèítko
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
T-Mobile Internet. Manager. pro Mac OS X NÁVOD PRO UŽIVATELE
T-Mobile Internet Manager pro Mac OS X NÁVOD PRO UŽIVATELE Obsah 03 Úvod 04 Podporovaná zařízení 04 Požadavky na HW a SW 05 Instalace SW a nastavení přístupu 05 Hlavní okno 06 SMS 06 Nastavení 07 Přidání
Polohovací zařízení a klávesnice Uživatelská příručka
Polohovací zařízení a klávesnice Uživatelská příručka Copyright 2008 Hewlett-Packard Development Company, L.P. Windows je ochranná známka společnosti Microsoft Corporation registrovaná v USA. Informace
Přehled zařízení MultiBoard CS 1
Přehled zařízení MultiBoard 1 2 3 4 5 6 7 8 9 CS 1 LA N 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 Číslo Specifikace Číslo Specifikace 1 Úsporný/pohotovostní režim 15 Konektor sluchátek 2 Tlačítko
TouchPad a klávesnice
TouchPad a klávesnice Uživatelská příručka Copyright 2007 Hewlett-Packard Development Company, L.P. Windows je registrovaná ochranná známka společnosti Microsoft Corporation v USA. Informace uvedené v
mpos mobilní aplikace Průvodce pro použití s Lenovo A2010
mpos mobilní aplikace Průvodce pro použití s Lenovo A2010 (V0.9) OBSAH 1 ÚVOD... 2 2 MPOS MOBILNÍ APLIKACE... 2 2.1 TECHNICKÉ POŽADAVKY MPOS MOBILNÍ APLIKACE... 2 2.1.1 Požadavky pro Smartphone s mobilním
Metodická příručka pro učitele. InspIS SET modul školní testování
Metodická příručka pro učitele InspIS SET modul školní testování Tato Metodická příručka pro učitele byla zpracována v rámci projektu Národní systém inspekčního hodnocení vzdělávací soustavy v České republice
Zásady ochrany osobních údajů
Zásady ochrany osobních údajů Naposledy upraveno: 28. června 2016 (zobrazit archivované verze) (Příklady odkazů jsou k dispozici na konci dokumentu.) Naše služby můžete využívat mnoha různými způsoby počínaje
CZ Manuál. Zařízení s OS Android. Import a distribuce: RECALL s.r.o.
CZ Manuál Zařízení s OS Android Import a distribuce: RECALL s.r.o. Obsah 1. Představení... 4 2. Instalace a nastavení... 5 2.1. Stažení obslužné aplikace... 5 2.2. Připojení telefonu/tabletu k Wi-Fi HDD...
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
Návod k použití. Český
Návod k použití Český PAMATUJTE 1. Aby bylo možné použít externí USB paměť, musí paměť podporovat standard USB 2.0. Chcete-li zajistit stabilní nahrávání a přehrávání, musíte použít paměti s rychlostí
Uživatelský manuál. Mobilní platební terminál icmp pro operační systémy Android a ios
Uživatelský manuál Mobilní platební terminál icmp pro operační systémy Android a ios Obsah ÚVOD... 2 PLATEBNÍ TERMINÁL icmp... 2 Provozní podmínky... 2 Údržba... 2 Popis platebního terminálu... 3 Funkce
2007 Nokia. V¹echna práva vyhrazena. Nokia, Nokia Connecting People, Nseries a N81 jsou ochranné známky nebo registrované ochranné známky spoleènosti
Urèování polohy 2007 Nokia. V¹echna práva vyhrazena. Nokia, Nokia Connecting People, Nseries a N81 jsou ochranné známky nebo registrované ochranné známky spoleènosti Nokia Corporation. Ostatní zmiòované
MANUÁL K OBSLUZE REDAKČNÍHO SYSTÉMU / wordpress
MANUÁL K OBSLUZE REDAKČNÍHO SYSTÉMU / wordpress www.webdevel.cz Webdevel s.r.o. IČ 285 97 192 DIČ CZ28597192 W www.webdevel.cz E info@webdevel.cz Ostrava Obránců míru 863/7 703 00 Ostrava Vítkovice M 603
Uživatelská p íru ka UMAX VisionBook 7Q Plus
Uživatelská p íru ka UMAX VisionBook 7Q Plus Uživatelská p íru ka Uživate ská príru ka VisionBook 7Q Plus Popis za ízení 1. Tla ítko zapnutí / vypnutí (Power) 2. Tla ítka pro ovládání hlasitosti 3. Micro
Vysoká škola ekonomická v Praze
Vysoká škola ekonomická v Praze Fakulta informatiky a statistiky obor informatika 2007 Srovnání portálů zdravotních pojišťoven z pohledu malého a středního podniku jako zaměstnavatele (bakalářská práce)
Manuál k aplikaci SDO PILOT v.0.2
Manuál k aplikaci SDO PILOT v.0.2 Základní informace o aplikaci Aplikace slouží pro zjednodušené vytváření dokumentů Souhrnů doporučených opatření pro Evropsky významné lokality. Vznikala přírustkovým
OP - KINECT Vstup textu pomocí gest
Martin Fous A4M39NUR OP - KINECT Vstup textu pomocí gest Zadání: Popis Cílová skupina Low -fid prototyp - navrhněte a otestujte sadu gest pro vstup textu pomocí ovladače Kinect - netechnicky vzdělaní mladí
Ceník příslušenství tablet a ebook
Univerzální obaly na tablety "PISCINE" univerzální obal na tablet či ebook, černá - univerzální obal jak pro ochranu zařízení od nečistot, prachu a poškrábání, tak i pro snadnou přepravu - elegantní, tenký
Řada Illustra Flex Kamera 1MP a 3MP Bullet Stručná úvodní příručka
Řada Illustra Flex Kamera 1MP a 3MP Bullet Stručná úvodní příručka 8200-1027-0611 B0 Upozornění Před zapojením nebo obsluhou této kamery si pozorně pročtěte tuto příručku a uchovejte ji pro pozdější použití.
Přídavný modul čtečky ClearReader +
Přídavný modul čtečky ClearReader + Uživatelská příručka OPN: CR-MAG-FP Verze 2.1 2013 Optelec, Nizozemsko; (T) 2014 Spektra, ČR Všechna práva vyhrazena Optelec P.O. Box 399 2990 AJ Barendrecht Nizozemsko
2DIN multimediální přehrávač 80810A
2DIN multimediální přehrávač 80810A Předtím než začnete rádio používat, si přečtěte tento návod. 1 Obsah Úvodní informace...3 Důležitá upozornění...3 Hlavní funkce...4 Úvodní obrazovka...4 Uspořádání ikon
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. Windows je ochranná známka společnosti Microsoft Corporation registrovaná ve Spojených státech.
MI-1310. FV_Volvo2014 pro modely s i bez interní navigace. Video rozhraní pro displeje ve vozidlech Volvo
MI-1310 FV_Volvo2014 pro modely s i bez interní navigace Video rozhraní pro displeje ve vozidlech Volvo Tento adaptér (rozhraní) umožňuje zobrazit RGB signál o vysokém rozlišení, AV signály ze dvou externích
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
Braun DigiFrame 1160 Návod k použití
Braun DigiFrame 1160 Návod k použití Děkujeme Vám za zakoupení digitálního fotorámečku zn. Braun. Pro jeho správné ovládání a zabezpečení dlouhé životnosti si před prvním použitím pečlivě přečtěte následující
Nastavení telefonu Samsung S8500 Wave
Nastavení telefonu Samsung S8500 Wave Telefon Samsung S8500 Wave, zakoupený v prodejní síti společnosti T-Mobile Czech Republic a.s., má potřebné parametry pro použití T-Mobile služeb již přednastaveny.
CZ Manuál Import a distribuce: RECALL s.r.o.
CZ Manuál Import a distribuce: RECALL s.r.o. Obsah 1. Představení... 4 2. Instalace a nastavení... 5 2.1. Nabití Wi-Fi HDD... 5 2.2. Pro uživatele MAC OS... 5 2.3. Připojení Wi-Fi HDD k počítači prostřednictvím
Elektronická Kniha jízd. www.knihajizd.info
Elektronická Kniha jízd www.knihajizd.info Jak to funguje O produktu Aplikace elektronické Knihy jízd Patriot Vám s využitím systému GPS (Global Positioning System) umožní jednoduše a spolehlivě sledovat
Vývoj Internetu značně pokročil a surfování je dnes možné nejen prostřednictvím počítače, ale také prostřednictvím chytrých telefonů, tabletů a
Vývoj Internetu značně pokročil a surfování je dnes možné nejen prostřednictvím počítače, ale také prostřednictvím chytrých telefonů, tabletů a netbooků. Chytré telefony, nazývané také Smartphony, poskytují
Vítej ve světě PlayStation
Vítej ve světě PlayStation Nastartuj svůj systém PS4 s touto užitečnou Stručnou příručkou. Stručná příručka Česky CUH-1116B 7026822 Začínáme Připoj systém k televizoru. Podle kroků až níže připoj svůj
MAWIS. Uživatelská dokumentace
MAWIS Uživatelská dokumentace Verze 27-11-2008 OBSAH OBSAH... 2 1) O MAPOVÉM SERVERU... 3 2) POTŘEBNÁ NASTAVENÍ... 3 Hardwarové požadavky... 3 Softwarové požadavky... 3 Nastavení Internet Exploreru:...
Děkujeme vám, že jste si zakoupili přístroj The Little Black Box. Níže uvedené rady by vám měly pomoci s jeho instalací.
Děkujeme vám, že jste si zakoupili přístroj The Little Black Box. Níže uvedené rady by vám měly pomoci s jeho instalací. Prvotní instalace Přístroj nejprve správně zapojte dle dodávaného návodu. Důležité:
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é
TouchGuard Online pochůzkový systém
TouchGuard Online pochůzkový systém Uživatelský manuál TTC TELEKOMUNIKACE, s.r.o. Třebohostická 987/5 100 00 Praha 10 tel.: 234 052 111 fax.: 234 052 999 e-mail: ttc@ttc.cz http://www.ttc-telekomunikace.cz
Uživatelský manuál na obsluhu mobilní aplikace CMOB
Uživatelský manuál na obsluhu mobilní aplikace CMOB 1 Obsah 1. Popis aplikace... 3 2. Instalace aplikace na zařízení... 3 3. První spuštění aplikace... 3 4. Úvodní obrazovka aplikace... 3 5. Sekce kamer...
Inspiron 13. Nastavení a technické údaje. řada 5000 2 v 1. Model počítače: Inspiron 13-5368 Regulační model: P69G Regulační typ: P69G001
Inspiron 13 řada 5000 2 v 1 Nastavení a technické údaje Model počítače: Inspiron 13-5368 Regulační model: P69G Regulační typ: P69G001 Poznámky, upozornění a varování POZNÁMKA: POZNÁMKA označuje důležité
Sada do auta s displejem Nokia CK-600 U¾ivatelská a instalaèní pøíruèka
Sada do auta s displejem Nokia CK-600 U¾ivatelská a instalaèní pøíruèka 9211132 2. vydání CS PROHLÁ ENÍ O SHODÌ NOKIA CORPORATION tímto prohla¹uje, ¾e tento výrobek HF-23 je ve shodì se základními po¾adavky
Web n walk Manager pro Apple Mac OS X. Návod pro uživatele
Web n walk Manager pro Apple Mac OS X Návod pro uživatele Obsah 1. Úvod 3 2. Podporovaná zařízení 4 3. Požadavky na HW a SW 4 4. Instalace SW a nastavení přístupu 5 5. Hlavní okno 6 6. Nastavení sítě a
Doplněk Parametry Plus pro Altus Vario
a) Funkcionalita doplňku Doplněk Parametry Plus pro Altus Vario Doplněk Parametry Plus slouží k rozšíření základních parametrů produktů, které obsahuje IS Vario. Hlavní zaměření doplňku je kompletní možnost
Mobilní informační průvodce - RegTim
Mobilní informační průvodce - RegTim nabízí zpřístupnění kulturního a přírodního dědictví regionu s využitím moderních mobilních informačních technologií pro podporu cestovního ruchu a inovativní propagaci
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.
Word 2013. podrobný průvodce. Tomáš Šimek
Word 2013 podrobný průvodce Tomáš Šimek Přehled funkcí a vlastností nejnovější verze textového editoru Word Jak psát na počítači správně, úpravy a formátování textu a stránky Zpracování dalších objektů
Rikomagic MK05. Uživatelská příručka CZ
Rikomagic MK05 Uživatelská příručka CZ Děkujeme Vám za zakoupení Rikomagic MK05 Rikomagic MK05 je výkonný čtyřjádrový TV Box na bázi Android 4.4 KitKat s čtyřjádrovým ARM Cortex procesorem a grafikou Mali
X-Sign Basic Uživatelská příručka
X-Sign Basic Uživatelská příručka Copyright Copyright 2015, BenQ Corporation. Všechna práva vyhrazena. Žádná část této publikace nesmí být reprodukována, přenášena, přepisována, ukládána do systému pro
Marek Laurenčík. Excel. práce s databázemi a kontingenčními tabulkami
Marek Laurenčík Excel práce s databázemi a kontingenčními tabulkami 2010 Upozornění pro čtenáře a uživatele této knihy Všechna práva vyhrazena. Žádná část této tištěné či elektronické knihy nesmí být reprodukována
Můžete si prohlédnout prohlášení o shodě: přejděte na stránku www.archos.com, klikněte na možnost Podpora > Ke stažení >
Vítejte Český Blahopřejeme k nákupu zařízení od společnosti ARCHOS! Tento stručný návod k obsluze vám v začátcích pomůže se správným použitím zařízení. V případě dalších dotazů týkajících se použití zařízení,
WDV5270 HD "Lagoon" Uživatelský manuál
WDV5270 HD "Lagoon" Uživatelský manuál 1 Části videokamery: 1. LCD obrazovka 2. Voba režimu / posun vlevo 3. Přehrávání / Posun nahoru 4. Samospoušť / posun vpravo 5. MENU/potvrzeni volby (OK) 6. volba
O 2 TV. jediná televize, která se vám přizpůsobí
O 2 TV jediná televize, která se vám přizpůsobí Vítejte ve světě O 2 TV Vítejte ve světě zábavy a odpočinku! Ve světě, kde se nemusíte nikomu a ničemu přizpůsobovat. Díky svým unikátním funkcím je O 2
Uživatelský návod mi-mrasuka
Uživatelský návod mi-mrasuka Úvod ASUKA ACAST je zařízení pro zrcadlení smartphonů, které vám umožní sledovat např. YouTube, navigaci v reálném čase, jako Google Map nebo Waze, na monitoru vašeho vozu,
Ovladač Fiery Driver pro systém Mac OS
2016 Electronics For Imaging, Inc. Informace obsažené v této publikaci jsou zahrnuty v Právní oznámení pro tento produkt. 30. května 2016 Obsah Ovladač Fiery Driver pro systém Mac OS Obsah 3...5 Fiery
Rikomagic MK22/22 Plus
Rikomagic MK22/22 Plus Instalační příručka CZ Děkujeme Vám za zakoupení Rikomagic MK22/22 Plus MK22/22 Plus je výkonné multimediální centrum pro domácí zábavu přinášející online zábavu do vašeho obývacího
Egreat A1. Uživatelská příručka CZ
Egreat A1 Uživatelská příručka CZ Popis zařízení Přední strana: 1. Indikátor činnosti 2. Infra port pro ovládání přijímače Zadní strana: 3.Optický výstup S/PDIF 4.AV rozhraní 5.USB Host port 6.USB Host
Uživatelský manuál verze BP
Multifunkční pedometr Uživatelský manuál verze BP www.e-corazonplus.cz 1 Co je ecorazon+? ecorazon+ je multifunkční zařízení s USB připojením k PC a kompatibilním zařízením, a s následujícími funkcemi:
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áš