Vysoká škola ekonomická v Praze

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

Download "Vysoká škola ekonomická v Praze"

Transkript

1 Vysoká škola ekonomická v Praze Fakulta informatiky a statistiky Katedra informačních technologií Student: Vedoucí bakalářské práce: Oponent bakalářské práce: Josef Vacula doc. Ing. Alena Buchalcevová, Ph.D Ing. Rudolf Pecinovský, CSc. TÉMA BAKALÁŘSKÉ PRÁCE Vývoj aplikací pro Google Android Rok: 2011

2 Prohlášení Prohlašuji, že jsem bakalářskou práci zpracoval samostatně a že jsem uvedl všechny použité prameny a literaturu, ze kterých jsem čerpal. V Rudné dne podpis

3 Poděkování Rád bych zde poděkoval paní doc. Ing. Aleně Buchalcevové, Ph.D za možnost volby vlastního téma, trpělivost a cenné připomínky během vedení mé práce.

4 Abstrakt Cílem této práce je přiblížení čtenářům vývoj pro operační systém Android. Práce je rozdělena do několika částí. První část je věnována samotnému operačnímu systému a popisu vývojových nástrojů určených k tvorbě softwaru pro Android. V další části se práce zaměřuje na základní pilíře všech Android aplikací, které jsou nutné pro úspěšné programování na této platformě. Věnuji se zde především životnímu cyklu aplikace, komunikaci komponent aplikace a práci s aplikačními daty. Celá kapitola je zde věnována tvorbě uživatelského rozhraní, ve které jsou mimo jiné popsány nejpoužívanější grafické prvky. Poslední část práce ukazuje aplikaci popsané teorie na praktickém příkladu. Klíčová slova: Google Android, operační systém Android, programování pro Android, Android zařízení, Android aplikace Abstract This bachelor thesis describes development of applications for Android operating system. The paper is divided into several parts. In the first part, Android operating system is described together with development tools, which are used for development of Android software. The next part of this paper focuses on fundamental blocks of all Android applications, which are necessary for successful development. It includes especially the life cycle of applications, inner communication of application components and working with application data. The whole chapter is dedicated here to graphic user interfaces, where among other things the most used graphic components are described. The last part of the thesis shows previously described theory on a practical example. Key words: Google Android, Android operating system, development for Android, Android devices, Android applications

5 Obsah 1. Úvod Vymezení tématu Důvod výběru tématu Cíle práce Metoda dosažení cílů Předpoklady a omezení práce Struktura práce Platforma Google Android Historie Android OS Dalvik VM Architektura Android OS Vývojové prostředí Dokumentace k Android SDK Android emulátor Dalvik Debug Monitor Service Další nástroje SDK Tvorba aplikací pro Android Aktivita a životní cyklus aplikace Intent a komunikace komponent aplikace AndroidManifest Ukládání dat SharedPreferences XML soubory Databáze Binární soubory... 19

6 4.5. Struktura Android aplikace Přehled základních Java balíčků pro Android Uživatelské rozhraní Typy správců rozvržení Linear Layout Relative Layout Frame Layout Table Layout Základní View prvky GUI Další ovládací prvky Menu Dialogy Notifikace Práce s GUI pomocí Javy Tvorba GUI pomocí Layout Resource Editor Ukázková aplikace - Správa obchodu Zadání Aplikace Návrh řešení Uživatelská struktura aplikace Ukládání dat Řešení klíčových částí aplikace Uzivatel a UzivatelDBAdapter Napojení logiky na uživatelské rozhraní Závěr Bibliografie Terminologický slovník... 47

7 10. Přílohy... 49

8 1. Úvod Většina lidí v rozvinutých zemích dnes vlastní alespoň jedno mobilní zařízení. Mobilním zařízením může být mobilní telefon, chytrý telefon, tablet, PDA či jiný komunikátor. Nároky na mobilní zařízení se neustále rok od roku zvyšují. Zatímco před deseti lety uživatelům postačovalo, když si mohli s mobilním telefonem zavolat či poslat SMS, dnes uživatelé vyžadují mnohem širší funkcionalitu - rychlá datová připojení, GPS, fotoaparát, se kterým souvisí online sdílení fotografií, přístup na sociální sítě a další. Dnešní výrobci zařízení se snaží nabídnout uživatelům co nejvíce funkcí. Každé mobilní zařízení má svůj operační systém. Operační systém umožňuje nahrání dalších aplikací, které mohou měnit stávající funkcionalitu zařízení či přidávat nové funkce. Mezi nejpoužívanější operační systémy v mobilních zařízeních (1) patří Symbian, Android, Windows Mobile, ios, BlackBerry OS a webos (bývalý PalmOS). Android je open-source operační systém od firmy Google, určený primárně pro mobilní zařízení. Jedná se o první kompletní otevřenou platformu, která je zdarma. Prvním veřejnosti dostupným telefonem s OS Android se stal ke konci roku 2008 HTC Dream (2). Od té doby popularita Androidu silně stoupá, během roku 2010 vzrostl počet prodaných telefonů s OS Android o 888,8 % (1). 22,7 % prodaných telefonů s otevřeným OS bylo v posledním čtvrtletí roku 2010 s Androidem. Android se tak stal 2. nejpoužívanějším OS v mobilních telefonech Vymezení tématu Práce se věnuje komplexně operačnímu systému Android, základním nástrojům a specifikám vývoje, se kterými se setká každý programátor, který vyvíjí aplikace pro tento systém. Práce se zabývá pouze vývojem pro platformu Android a předpokládá u čtenáře alespoň základní znalosti objektového programování v Javě, znalost XML a jazyka SQL Důvod výběru tématu Již od mého prvního kapesního počítače, kterým se stal asi před devíti lety Compaq ipaq H3630 s operačním systémem Windows CE 3.0, jsem se pokoušel Stránka 1 z 49

9 o programování aplikací pro tato zařízení. To bylo vždy mým koníčkem, problémem však byly mé nepříliš dobré znalosti programovacího jazyka C++, ve kterém se pro zařízení s operačními systémy Windows CE programovalo. Navíc v té době neexistovalo mnoho příruček, které by srozumitelně pro začátečníka popisovaly vývoj pro tuto platformu. Na Vysoké škole ekonomické jsem si v rámci předmětů 4IT101 - Základy programování a 4IT115 - Základy softwarového inženýrství osvojil objektové programování v Javě a jakmile jsem se dozvěděl, že pro zařízení s operačním systémem Android se programuje v Javě, rozhodl jsem se zakoupit si telefon HTC Desire, který běží na tomto systému, a vyzkoušet programování pro tento systém. Po konzultaci s paní doc. Ing. Alenou Buchalcevovou, Ph.D jsem se rozhodl zpracovat toto téma Cíle práce Za cíl této práce jsem si dal demonstraci vývoje pro zařízení s operačním systémem Android, která by posloužila začínajícím Android programátorům pro seznámení se s vývojovými nástroji, samotným operačním systémem Android a technikami programování pro tuto platformu. Zároveň by také poskytla informace o tom, ze kterých zdrojů lze čerpat další informace, které by prohloubily problematiku popisovanou v této práci Metoda dosažení cílů Pro splnění cílů nejdříve popisuji strukturu a specifikace operačního systému Android, představuji klíčové vývojové nástroje a rozepisuji se o jejich funkcích a jejich praktickém využití. V další teoretické části se věnuji základním stavebním prvkům aplikací pro Android a problematice návrhu uživatelského rozhraní. V poslední kapitole dokumentuji předchozí teorii při použití v praxi na ukázkové aplikaci Předpoklady a omezení práce Předpoklady pro tuto práci jsem již nastínil výše, jsou jimi především základní znalosti objektového programování v Javě a jazyků XML a SQL. Potřebné znalosti mohou čtenáři získat z knih Úvod do Javy (3), XML pro každého (4) a Myslíme v jazyku SQL (5). Tyto knihy mohu osobně doporučit. Stránka 2 z 49

10 Práce se soustředí pouze na vývoj v prostředí Eclipse, popis vývojových nástrojů je ale platný i nad rámec tohoto omezení. Problematika programování pro Android je rozsáhlá, v této práci se budu zabývat především základními věcmi, které jsou nutností, tvoří základ všech aplikací pro Android Struktura práce Práce je rozdělena do jednotlivých kapitol, které provádí čtenáře od popisu vývojových nástrojů až po praktickou tvorbu aplikace. Kapitola 2 definuje základní pojmy a specifikaci systému Android. Kapitola 3 se zabývá dostupnými vývojovými nástroji, kapitola 4 potom základy programování aplikací pro Android. V kapitole 5 je demonstrována tvorba uživatelského rozhraní a kapitola 6 předvádí teoretický popis předchozích kapitol do praxe na ukázkové aplikaci. Stránka 3 z 49

11 2. Platforma Google Android Platforma Google Android se snaží o převedení plnohodnotného operačního systému do mobilních zařízení (2). Android je založený na Linuxu, ze kterého přejímá funkce jádra pro správu zařízení, paměti a procesů. Dále obsahuje knihovny speciálně vyvinuté pro Android, které se starají o funkce telefonu, videa, grafiky, uživatelského prostředí a další funkčnosti mobilních zařízení, viz obr. č. 1. Ačkoliv se jedná o mobilní platformu, při vývoji je k dispozici většina knihoven, které se používají na vývoj pro běžné stolní počítače či servery. Komponenty vlastní platformy jsou většinou naprogramované v nízkoúrovňových jazycích, nejčastěji v C a C++ (2). Aplikace běžící na Androidu jsou pak programovány v Javě. Obrázek č.1 - Architektura Google Android (2) 2.1. Historie Android OS Společnost Android Inc. zakoupil Google v roce 2005 s cílem vyvíjet svoji vlastní mobilní platformu (6). V roce 2007 vznikla skupina zvaná Open Handset Alliance, jejímž Stránka 4 z 49

12 hlavním cílem je rychlejší, kvalitnější a levnější vývoj OS Android. Členové této skupiny se zavázali k šíření platformy Android pod open source licencí Apache Software License verze 2.0. Díky tomu výrobci mobilních zařízení nemusí platit žádné licenční poplatky za použití OS Android v jejich produktech. První telefon s Android OS T-Mobile G1 byl uveden na trh v září roku O několik dní později Google vydal Android SDK 1.0. V roce 2008 ještě Google představil verze 1.1 a 1.5. Verze 1.5 přinesla mimo jiné podporu pro softwarové klávesnice. Dnes používané verze Android OS 1.6 a 2.0 byly vydány krátce po sobě v roce Tyto verze přidaly do Android OS funkce jako text to speech 1, nebo multitouch 2. Došlo k optimalizacím systému, výrazně se zrychlily reakce na podněty uživatelů. Android se tak stal konkurenceschopným operačním systémem na poli mobilních zařízení Dalvik VM Programátoři z firmy Google strávili hodně času přemýšlením, jak optimalizovat design a procesy pro mobilní zařízení. Tato zařízení většinou zaostávají za běžnými stolními počítači ve velikosti operační paměti a výkonu procesorů. Proto je třeba myslet při vývoji pro tento typ zařízení především na důkladnou optimalizaci. Google se tudíž rozhodl pro vývoj svého vlastního virtuálního stroje 3 Dalvik VM namísto implementace standardního Java Virtual Machine (7). Dalvik VM vygenerované.class soubory rekompiluje do.dex (Dalvik Executable) souborů. Tyto soubory mimo jiné zamezují duplicitě kódu - Dalvik VM hledá stejné části kódu v jednotlivých.class souborech a ve výsledných.dex souborech se snaží o co největší zefektivnění vynecháváním duplicit. Díky tomu se výrazně snižují nároky na velikost aplikací. Například.dex soubor webového prohlížeče má zhruba 200 kb, oproti tomu nekomprimovaný.jar soubor má 500 kb (2). 1 Pomocí text to speech (TTS) můžeme nechat převést psaný text na mluvenou řeč. 2 Technologie multi-touch se týká dotykového displeje. Pomocí tohoto systému lze ovládat více prvků najednou. Systém umí rozpoznat více uživatelských dotyků naráz. 3 Virtuální stroj izoluje aplikace používané uživatelem na počítači. Libovolná aplikace naprogramovaná pro virtuální stroj může být spuštěna na kterékoli z platforem, místo toho, aby se musely vytvářet oddělené verze aplikace pro každý počítač a operační systém. Stránka 5 z 49

13 Finální kód spustitelný na Androidu tedy není založený na Java byte kódu, ale na.dex souborech, které se dále balí do.apk archivů Architektura Android OS Jádro Androidu tvoří Linux kernel verze (2). Jádro má na starosti ovladače zařízení, přístup ke zdrojům, přerozdělování výkonu aplikacím a další systémové služby. V jádru jsou obsaženy ovladače například pro displej, kameru, klávesnici, Wi-Fi, flash paměť, zvuk nebo pro tzv. IPC (Interprocess communication). Ačkoli je jádro postavené na Linuxu, většina aplikací na zařízeních s Android je vyvíjena v Javě a běží přes Dalvik VM. Na obr. č. 2 je zachycena architektura systému. Android obsahuje řadu knihoven napsaných v jazyce C/C++ (8): OpenGL, SGL - Pro podporu grafiky, Freetype, WebKit - Open source knihovny pro operace s fonty a zobrazování webového obsahu. Webkit používají i klasické desktopové aplikace - například Google Chrome, SQLite - Podpora relačních databází, C runtime library (libc) - základní knihovny, média - knihovny založené na PacketVideo's OpenCORE pro podporu formátů audia, videa a obrázků. Android API zprostředkovává další služby spojené se zařízením - pomocí API 4 lze ovládat telefonní modul, uživatelské rozhraní, přístup k datům, instalace aplikací, bezpečnost a další. API mohou využívat programátoři, je naprogramované v jazyce Java. 4 API (Application Programming Interface) zde označuje sbírku tříd knihoven, které může programátor využívat. Stránka 6 z 49

14 Obrázek č.2 - Systémová architektura Google Android (2) Stránka 7 z 49

15 3. Vývojové prostředí SDK 5 pro Android je k dispozici zcela zdarma ke stažení online 6. V současné době Google oficiálně podporuje pouze vývojové prostředí Eclipse s pluginem Android Development Tools (ADT plugin) (7) (9). ADT slouží pro vývoj, ladění a testování aplikací. Použití ADT pluginu je pro vývojáře nejpohodlnější možností vývoje aplikací pro Android, jelikož mohou přistupovat ke všem nástrojům Android SDK přímo přes grafické rozhraní Eclipse. Pokud bychom chtěli využít jiné vývojové prostředí, museli bychom volat jednotlivé nástroje Android SDK samostatně pomocí příkazové řádky 7. Pro některá vývojová prostředí existují i neoficiální pluginy na propojení vývojového prostředí s Android SDK nástroji. Já jsem vyzkoušel například plugin nbandroid 8 pro vývojové prostředí NetBeans. Z vlastní zkušenosti ale nemohu zvláště pro začátečníka toto řešení doporučit, jelikož správná konfigurace tohoto pluginu není jednoduchá. Při pokusu o zprovoznění tohoto pluginu jsem se potýkal s mnoha problémy, které se stále nabalovaly na sebe. Navíc jelikož tyto pluginy nejsou oficiálně podporovány společností Google, je mnohdy obtížné v případě problémů získat jakoukoli podporu Dokumentace k Android SDK I když se nejedná přímo o nástroj integrovaný v Android SDK balíčku, je dokumentace určitě jednou z nejdůležitějších věcí pro programátora. Dokumentace je k dispozici v HTML verzi jak v balíčku SDK, tak v nejnovější verzi online na webu pro Android vývojáře 9. V online verzi dokumentace jsou k dispozici i výuková videa, která se snaží například o přiblížení Android architektury, životnosti aplikací nebo o použití různých API. Pro nás nejdůležitější prvek je možné nalézt online pod záložkou Reference 10. Je zde index všech dostupných balíčků a tříd, které můžeme při vývoji použít (viz obr. 5 SDK (Software Development Kit) je soubor nástrojů, který nám umožňuje vyvíjet aplikace pro určitou platformu. 6 Volně ke stažení na adrese: 7 Bližší popis dostupný online: 8 K dispozici na webu: Stránka 8 z 49

16 č. 3). U každé třídy je navíc informace, od které verze systému Android je daná třída k dispozici. Obrázek č.3 - Online dokumentace k Android SDK 3.2. Android emulátor Emulátor je jedním z nejdůležitějších nástrojů při vývoji aplikací pro Android. Můžeme s ním testovat aplikace bez nutnosti jejich instalace na zařízení, pro které je vyvíjíme. Pomocí ADT pluginu je emulátor integrovaný do prostředí Eclipse, díky tomu je jeho použití rychlé a snadné. Emulátor obsahuje kompletní systém Android, včetně základních aplikací jako je například aplikace ovládající telefonní modul, internetový prohlížeč nebo správa kontaktů. Díky tomu můžeme většinu funkcí otestovat přímo v emulátoru. Jeho použití má ale také svá omezení (10): emulátor simuluje všeobecné chování zařízení s Androidem, nemůže však simulovat specifické hardwarové implementace, emulace periférií jako je například kamera není plně funkční, telefonní hovory a SMS zprávy můžeme pouze simulovat pomocí DDM, emulátor nepodporuje emulaci USB a Bluetooth. Emulátor spouští Android Virtual Device (AVD). Každé AVD reprezentuje samostatné zařízení. Jednotlivá AVD se mohou lišit hardwarovou a softwarovou konfigurací. Abychom mohli aplikaci spustit v emulátoru, musíme mít k dispozici alespoň jedno AVD. Na vytvoření AVD je v SDK utilita pojmenovaná AVD Manager (viz obr. č. 4). Stránka 9 z 49

17 Obrázek č.4 - AVD Manager Obrázek č.5 - Nový AVD - dialog Každé AVD má své jméno a určenou verzi API (11). Dále můžeme nastavit velikost emulované SD karty a rozlišení obrazovky emulovaného zařízení, jak je patrné z obr. č. 5. Na závěr lze nastavit podporu periférií v AVD, například je možné přidat simulaci akcelerometru nebo kamery. Po vytvoření AVD můžeme ještě nastavovat některé hardwarové atributy pomocí souboru config.ini, který je ve složce.android/avd/nazev.avd (na operačním systému Windows je tato složka defaultně ve složce uživatele). Emulátor využívá virtuální obrazy disků jako simulaci disků reálného zařízení. Dokáže na ně ukládat data aplikací. Díky tomu neztratíme údaje při vypnutí emulátoru. Pokud testujeme v emulátoru aplikaci, která si ukládá data například do SQLite databáze, při dalším spuštění budeme mít data k dispozici. Data je navíc možné ukládat i na emulovanou SD kartu, jejíž velikost lze definovat při vytváření AVD. Stránka 10 z 49

18 Obrázek č. 6 - Emulátor - Home screen Obrázek č. 7 - Emulátor - Aplikace Dotyky na obrazovce se simulují klikáním myší. Emulátor lze ovládat pomocí 15 emulovaných hardwarových tlačítek, pomocí virtuální klávesnice nebo pomocí klávesnice připojené k počítači Dalvik Debug Monitor Service Obrázek č. 8 - DDMS Stránka 11 z 49

19 Zajímavým nástrojem dodávaným v SDK je Dalvik Debug Monitor Service (DDMS) (12), který je zobrazen na obr. č. 8. Tento nástroj má 5 základních funkcí: správa procesů - v listu na levé straně se zobrazují spuštěná AVD, u každého z AVD je zároveň seznam podprocesů, které na daném virtuálním stroji běží. Můžeme sledovat vlákna a jejich stavy na záložce Threads. Procesy lze pomocí DDMS také ukončit, práce se soubory - pomocí DDMS lze prohlížet soubory na zařízení. Můžeme přesouvat soubory mezi virtuálním strojem a počítačem a případně také složky či soubory mazat, interakce s emulátorem - DDMS umí simulovat v emulátoru situace, které mohou nastat v reálném provozu. Lze simulovat telefonní hovor, poslat SMS zprávu a simulovat libovolnou pozici GPS, snímání obrazovky - lze pořizovat snímky běžící aplikace, zobrazení logů - Jedna z utilit v DDMS umožňuje zobrazení Android logging console, na kterou se vypisují logy aplikace. Každá aplikace má programově definované logování, lze zaznamenávat prakticky cokoliv Další nástroje SDK nástroje patří: Android SDK nabízí desítky různých nástrojů, mezi další často používané Android Hierarchy Viewer - pomocí tohoto nástroje lze ladit grafické uživatelské rozhraní (GUI) vyvíjené aplikace. Podle aktuální obrazovky v emulátoru utilita zobrazí hierarchii grafických prvků a pohled na GUI s pixelovou mapou, Draw 9-Patch tool - program určený k designu PNG souborů, Mksdcard - tato utilita slouží k vytváření samostatných virtuálních obrazů SD karet, které můžeme později připojit k AVD v emulátoru. Stránka 12 z 49

20 4. Tvorba aplikací pro Android Aplikace pro Android jsou složeny z aktivit. Každá aktivita má svůj daný účel a definované uživatelské rozhraní. Jednu aktivitu si můžeme v rámci objektově orientovaného programování představit jako třídu, pomocí které se obsluhují události. Aplikace pro Android se programují objektově v Javě. Třemi nejdůležitějšími třídami pro Android jsou Context, Activity a Intent (10). Tyto tři třídy jsou základními stavebními bloky každé Android aplikace. Každá aktivita aplikace by měla mít své vlastní GUI popsané pomocí XML. Z uživatelského pohledu je aktivita jedna obrazovka, která nějakým způsobem reaguje na podněty od uživatele Aktivita a životní cyklus aplikace Aktivita je potomkem třídy Activity. Každá ucelená činnost aplikace představuje jednu aktivitu (7). Aplikace může samozřejmě obsahovat takových aktivit více, jednotlivé aktivity jsou na sobě však nezávislé. Na většině desktopových OS lze využívat více programů najednou. Jednotlivé programy jsou na sobě nezávislé, můžeme mezi nimi přecházet, sami je také ukončujeme. Programy rozhodují samostatně o svém životním cyklu. Android funguje odlišně. V popředí je vždy jedna část aplikace - aktivita, která komunikuje s uživatelem, čeká na uživatelův vstup. Aktivita může vyvolat jinou aktivitu stejné nebo jiné aplikace, která opět začne komunikovat s uživatelem. Systém si pamatuje, v jakém pořadí byly aktivity spuštěny, uživatel se může vracet zpátky pomocí systémového tlačítka zpět. Životní cyklus systému Android je v režii systému, pokud má nedostatek zdrojů, sám aplikaci na pozadí uspí či zcela vypne. Systém informuje aplikace o změně stavů voláním metod. Díky implementaci těchto metod může program zareagovat na systémem řízený přechod mezi stavy. Pokud programátor správně využije těchto metod, uživatel při jejím volání ani nepozná, že prošla nějakou změnou. Životní cyklus aplikace znázorňuje obr. č. 9. Aktivita se může nacházet ve 3 stavech (13): aktivní - aktivita je v popředí, komunikuje s uživatelem, případně čeká na vstup uživatele, pozastavená - jiná aktivita je v popředí, ale tato aktivita je stále viditelná pro uživatele. Aktivita v popředí například není zobrazena přes celý display. Stránka 13 z 49

21 Pozastavená aktivita je stále v operační paměti, ale pokud by měl systém velký nedostatek zdrojů, může ji vypnout, zastavená - aktivita je zcela v pozadí, není viditelná pro uživatele. Aktivita je v paměti, ale systém ji může kdykoliv vypnout, pokud potřebuje zdroje pro jinou činnost. Metoda Popis Doporučený obsah oncreate() Volána při startu nebo restartu Inicializace statických dat aktivity, aktivity. nastavení GUI layoutu metodou setcontentview(). onresume() Volána, když se aktivita dostane do popředí. Start nějaké akce - spuštění audia, videa nebo animace. onpause() Volána, když se aktivita dostane do pozadí. Uložit data, uvolnit nepotřebné zdroje, zastavit akce - audio, video či animace. ondestroy() Volána, když se aplikace vypíná. Uvolnit veškeré zdroje aplikace. Tabulka č.1 - Klíčové metody změny stavu aktivity. Obrázek č. 9 - Životní cyklus aktivity. (2) 4.2. Intent a komunikace komponent aplikace Jedním z principů systému Android je vzájemná spolupráce aplikací. Interakce jednotlivých aplikací je řešena pomocí tříd Intent (2). Intent je v podstatě požadavek na systém, aby spustil určitou aktivitu. Kromě aktivit může však spustit i určitou službu Stránka 14 z 49

22 nebo Broadcast receiver 11. Abychom mohli v aplikaci spouštět různé aktivity, musíme je zaregistrovat v AndroidManifest.xml souboru. Pomocí Intent a metody putextra() můžeme předávat i data mezi jednotlivými aktivitami. Ukázka použití Intent z mé ukázkové aplikace (viz kapitola č. 6): intent = new Intent(AdminForm.this, EditUzivatelForm.class); intent.putextra("uzivatel",uzivatel); startactivity(intent); Tímto Intent spustíme aktivitu EditUzivatelForm a zároveň ji předáme proměnnou uzivatel. Danou proměnnou lze ve spuštěné aktivitě načíst následujícím kódem: Intent intent = getintent(); String uzivatel = intent.getstringextra("uzivatel"); 4.3. AndroidManifest AndroidManifest se nachází v souboru AndroidManifest.xml. Je to základní konfigurační soubor každé Android aplikace. Jeho obsah používá Android OS k (10) instalaci a upgradům aplikace, zobrazení informací o aplikaci, spouštění jednotlivých aktivit aplikace, správě povolení přístupů k jednotlivým API, další konfiguraci aplikace. 11 Broadcast receiver je komponenta, jejímž účelem je reakce na události zaslané systémem všem aplikacím. Stránka 15 z 49

23 Pomocí Eclipse lze snadno editovat AndroidManifest pomocí formulářů, viz obr. č. 10. Obrázek č Zpracování formulářů na vyplnění AndroidManifest v Eclipse Editor na správu AndroidManifestu je rozdělen do 5 záložek: Manifest - Zde se nastavuje cesta balíčků aplikace a verze Android SDK - pokud nastavíme verzi 1.6, aplikace poběží na všech zařízeních se systémem Android od verze OS 1.6, Application - Na této nalezneme nastavení vlastní aplikace - název, ikona, popis a další. Důležitý je zde seznam aktivit, musí zde být uvedeny všechny aktivity, které chceme v aplikaci použít. Pokud se v aplikaci odkážeme na aktivitu, která zde není uvedena, aplikace po spuštění skončí chybovou hláškou, Permissions - Tato záložka slouží k nastavení práv přístupu k systémovým službám. V základu nemá aplikace prakticky žádná práva. Pokud se pokusíme bez potřebného povolení o přístup k systémové službě, vznikne výjimka SecurityException, Instrumentation - Slouží k definici tříd pro testování aplikace, AndroidManifest.xml - Zde můžeme editovat celý soubor v XML formátu. Stránka 16 z 49

24 4.4. Ukládání dat Android nabízí 4 základní způsoby pro práci s daty a jejich ukládání (14) SharedPreferences Jeden z nejjednodušších způsobu ukládání dat představuje instance SharedPreferences. V celé aplikaci je vždy jen jedna instance, jejíž funkci si můžeme představit jako odkládací schránku pro proměnné. Vkládat hodnoty můžeme pomocí editoru - SharedPreferences.Editor. Je zde k dispozici metoda put*(string id, * hodnota), kde * je datový typ, který ukládáme. Data jsou uložena po zavolání metody commit(). Pokud naopak chceme data získat, využijeme metody get*(string id, * defaultni hodnota), kde * je datový typ, který požadujeme. Pokud není nalezena hodnota, která odpovídá id, metoda vrátí zadanou defaultní hodnotu. Příklad použití: SharedPreferences nastaveni = getsharedpreferences("aplikacesharedpreferences", MODE_PRIVATE); SharedPreferences.Editor prefeditor = settings.edit(); prefeditor.putstring("jmeno", "Josef"); prefeditor.putint("vek", 22); prefeditor.commit(); Tento kód uloží jméno a věk do sdílených preferencí. Když chceme naopak hodnotu proměnné získat, můžeme použít následující kód: String user = Settings.getString("Jmeno", "Nezname"); XML soubory V systému Android se hojně využívají XML soubory. Jsou nazývány resources a ukládány do složky /res. Jsou obsaženy v archivu aplikace. Kromě XML souborů ve složce /res/raw jsou všechny XML zdroje kompilovány do efektivnější binární podoby. XML soubory jsou ve složce /res rozděleny do dalších podsložek podle předdefinované struktury: podsložka /anim obsahuje XML se scénáři animací, podsložka /layout uchovává soubory s XML strukturou grafického uživatelského rozhraní k jednotlivým aktivitám, Stránka 17 z 49

25 podsložka /values obsahuje různé hodnoty, používané v aplikaci, zapsané do jednotlivých XML souborů dle typu: o strings.xml - Řetězce, např.: <string name="nazev">sprava Obchodu</string>, o colors.xml - Barvy v RGB formátu, které můžeme přiřadit například jednotlivým GUI komponentám, např.: o o <color name="pozadi">#006400</color>, dimens.xml - Rozměry udávané např. v pixelech, či milimetrech, např.: <dimen name="sirkabutton1">100px</dimen> array.xml - Pole, např.: <string-array name="dialog_moznosti"> <item>upravit</item> <item>smazat</item> </string-array>, podsložka /menu slouží k ukládání struktury položek menu, podsložka /xml je k dispozici pro uložení XML souborů s vlastní strukturou. Kompilátor vytváří z XML zdrojů třídu R, které se později v Java kódu aplikace můžeme dotazovat na jednotlivé hodnoty, uvedené v XML souborech. Tímto způsobem lze získat i systémové hodnoty. Pokud bychom chtěli získat hodnotu "nazev", která je uvedena výše, použili bychom tento kód: String nazev = activity().getstring(r.string.nazev) Další možností, jak k hodnotám přistupovat, je odkaz ze samotného XML zdroje na jiný zdroj, pokud například chceme použít hodnotu určeného řetězce jako název pro tlačítko. Na jiné zdroje se dokazuje za který se uvádí typ a název zdroje, na který se odkazujeme, Pokud bychom se chtěli odkázat na systémovou hodnotu, museli bychom ještě specifikovat balíček android, vypadalo by to tedy Databáze V systému Android je k dispozici pro ukládání a správu dat relační databázový systém SQLite. Každá aplikace má možnost vytvoření vlastní databáze, ke které má poté plný přístup. Databáze je poté v zařízení uložena ve složce Stránka 18 z 49

26 /data/data/<nazev_balicku>/databases. SQLite nemá na pevno určené datové typy. Když se definuje nová tabulka, datové typy se určují, ale není nutné je respektovat, fungují spíše jako doporučení. Nové hodnoty se do databáze vkládají pomocí instance třídy ContentValues metodou put(string nazevpole, * hodnota), kde * představuje typ proměnné hodnoty, kterou vkládáme. Každá instance třídy ContentValues() představuje jeden řádek tabulky. Data do databáze se poté vloží metodou insert(string tabulka, String nullcolumnhack, ContentValues hodnoty). Objekt ContentValues() se také používá pro změnu hodnot metodou update(string tabulka, ContentValues hodnoty, String where, String[] whereargs). Data z databáze získáme pomocí objektu Cursor(), což je ukazatel na množinu výsledků našeho dotazu na databázi. Třídu Cursor naplníme metodou rawquery(string dotaz, String[] selection args), která provede dotaz uvedený v parametrech metody. Třída Cursor poté nabízí množství metod na práci s vrácenými výsledky. Mezi nejpoužívanější patří (7): movetofirst - přesune ukazatel na první záznam výsledků, movetonext - přesune ukazatel na další záznam, movetoprevious - přesune ukazatel na předchozí záznam, getcount - vrací počet záznamů ve výsledné množině, getcolumnindexorthrow - vrací index sloupce s požadovaným názvem, GetColumnName - vrací název sloupce po zadání indexu, getcolumnnames - vrací množinu řetězců se jmény všech sloupců, movetoposition - přesune ukazatel na požadovaný řádek, getposition - vrací aktuální řádek, na který ukazuje ukazatel Binární soubory Práce s binárními soubory je na systému Android obdobná jako u desktopových Java aplikací. Používají se třídy z balíčku java.io (3). Stránka 19 z 49

27 4.5. Struktura Android aplikace I když se aplikace výrazně liší svojí velikostí a složitostí, základní struktura je vždy obdobná. Struktura souborů je znázorněna na obr.č. 11, popsána v tab. č. 2. Prvek src Popis Složka se zdrojovými soubory aplikace. values res drawable Obsahuje další zdroje používané aplikací. Všechny zdroje v této složce jsou definované v XML. Složka se všemi zdroji aplikace - obrázky, GUI layouty, struktury menu a dalšími zdroji. Složka pro obrázky použité v aplikaci. anim Složka s XML soubory definujícími animace. layout Obsahuje jednotlivé obrazovky použité v aplikaci - definici GUI pomocí XML. menu XML soubory se strukturou menu aplikace. xml Složka pro další zdroje aplikace v XML formátu. raw Další data aplikace v libovolném formátu Obrázek č Struktura Tabulka č. 2 - Popis struktury aplikace Android aplikace 4.6. Přehled základních Java balíčků pro Android V současnosti Android Java API obsahuje více než 40 různých balíčků s více než 700 třídami. Rád bych zde uvedl přehled nejpoužívanějších balíčků (2). Balíček android.app Popis Implementuje aplikační model pro Android, mezi hlavní třídy patří Application, která se stará o inicializaci a ukončení aplikace, ovládání aktivit, kontrolních prvků - Stránka 20 z 49

28 android.bluetooth android.content android.content.pm android.content.res android.database android.database.sqlite android.gesture android.graphics android.graphics.drawable android.graphics.drawable.shapes android.hardware android.location android.media dialogů, hlášek, oznámení atd. Obsahuje třídy pro práci s Bluetooth zařízeními. Pomocí třídy BluetoothAdapter můžeme ovládat lokální Bluetooth adaptér. Třídou BluetoothDevice komunikujeme se zařízením, ke kterému se připojujeme. BluetoothSocket a BluetoothServerSocket udržují komunikaci mezi zařízeními. Implementuje content providers (poskytovatele obsahu). Pomocí poskytovatelů obsahu můžeme přistupovat k datům aplikace. Dále implementuje Intent. Implementuje třídy, které se vztahují k funkcím Package Managera. Package Manager spravuje povolení přístupu aplikace k API zařízení, stará se o instalované služby a komponenty. Umožňuje přístup ke zdrojovým souborům se strukturovanými i nestrukturovanými daty aplikace. Implementuje abstraktně databázi - primární interface Cursor. S pomocí balíčku android.database implementuje SQLite jako fyzickou databázi. Hlavními třídami jsou SQLiteCursor, SQLiteDatabase, SQLiteQuery, SQLiteQueryBuilder a SQLiteStatement. V praxi se však pro práci s databází používají většinou třídy z balíčku android.database. Balíček obsahuje třídy a rozhraní nutná pro práci s uživatelem definovanými gesty. Gesto je určitý tvar, který uživatel vytváří dotykem na obrazovce zařízení. Obsahuje třídy pro práci s grafikou - Bitmap, Canvas, Camera, Color, Matrix, Movie, Paint, Path, Rasterizer, Shader, SweepGradient a TypeFace. Tyto balíčky obsahují nástroje pro animace objektů a jednotlivé tvary. Implementuje třídy, které ovládají fyzickou kameru zařízení. Obsahuje třídy Address, GeoCoder, Location, LocationManager a LocationProvider. Address reprezentuje zjednodušený XAL (Extensible Address Language). GeoCoder umožňuje získat zeměpisnou šířku a délku z adresy a naopak ze zeměpisné šířky a délky adresu. Location reprezentuje zeměpisnou šířku a výšku. Obsahuje třídy pro přehrávání audia a videa (MediaPlayer), nahrávání audia a videa (MediaRecorder), přehrávání krátkých zvukových sekvencí, které mohou sloužit jako upozornění či vyzvánění (Ringtone). Pomocí třídy AudioManager lze nastavovat hlasitost zvuků. Balíček také obsahuje třídu FaceDetector na rozpoznávání lidských tváří z bitmap. Stránka 21 z 49

29 android.net android.net.wifi android.opengl android.os android.provider android.sax android.speech android.speech.tts android.telephony android.telephony.gsm android.text android.utils Implementuje základní síťové API. Mezi základní třídy patří Uri, ConnectivityManager, LocalSocket a LocalServerSocket. Ovládá Wi-Fi připojení, pomocí třídy WifiManager můžeme spravovat nastavení Wi-Fi sítí a aktivní Wi-Fi sítě. Obsahuje třídy na ovládání základních OpenGL ES operací. Obsahuje přístup ke službám OS, které jsou přístupné pomocí Javy. Mezi nejdůležitější patří například třída Binder, která slouží ke komunikaci mezi procesy. Součástí tohoto balíčku je množina předdefinovaných poskytovatelů obsahu, které lze v aplikaci využít. Pomocí tříd z tohoto balíčku můžeme číst různá nastavení telefonu nebo například kontakty v telefonu. Obsahuje Simple API for XML (SAX) - parser pro práci s XML soubory. Podpora rozpoznávání hlasu. Podpora konverze textu na řeč. Instanci třídy TextToSpeech můžeme poslat text a získat ho zpět v mluvené podobě. Android používá Pico TTS (Text to Speech) engine. Obsahuje třídy CellLocation, PhoneNumberUtils a TelephonyManager. Pomocí TelephonyManager můžeme zjistit umístění, telefonní číslo, informace o operátorovi, typ mobilní sítě a typ telefonu. Můžeme zjistit umístění telefonu na základě signálu z BTS pokrývačů. Třídy na podporu renderování textů na obrazovce. Obsahuje třídy Log, DebugUtils, TimeUtils a Xml android.view Třídy na ovládání GUI - Menu, View, ViewGroup android.webkit Třídy pro práci s webovým prohlížečem. android.widget Všechny UI prvky, které obvykle vychází z třídy View. com.google.android.maps Třídy nezbytné pro práci s Google mapami. Tabulka č. 3 - Základní Java balíčky pro Android Stránka 22 z 49

30 5. Uživatelské rozhraní Při návrhu grafického uživatelského rozhraní pro mobilní zařízení se systémem Android musíme mít na paměti několik věcí. Nesmíme opomenout, že navrhujeme rozhraní pro relativně malé zobrazovací plochy, a i když se v dnešní době rapidně zvyšuje rozlišení mobilních displejů, stále tyto displeje mají fyzické rozměry několikanásobně nižší než klasické desktopové monitory. Většina zařízení s Android OS je navíc určena pro ovládání pomocí prstů, na rozdíl třeba od Windows Mobile, kde se používá většinou stylus, který je přesnější. Ovládací prvky musí být dostatečně velké, aby uživatelé neměli problém s ovládáním aplikace. Rozlišení Android telefonů se pohybuje od 240x320 na starších typech až po 540x960. Naše GUI by mělo být použitelné na všech zařízeních. Android obsahuje balíček android.view (7), se kterým se vytváří uživatelské prostředí obdobně jako například pro desktop s balíčkem javax.swing (15). Rozdíl je v optimalizaci prvků pro ovládání prstem pomocí dotykové obrazovky. Základní třídou je View, od které se odvozují všechny viditelné prvky GUI. Jednotlivá View jsou sdružovány a propojovány pomocí kontejneru ViewGroup (16). Definice prvků uživatelského rozhraní je oddělena od zdrojového kódu aplikace. Uživatelské prostředí je definované pomocí jazyka XML. XML soubory jsou uloženy ve složce res/layout. Pro každou aktivitu musíme vytvořit XML soubor se strukturu a vlastnostmi ovládacích prvků, které chceme použít. Příklad definice EditTextu pomocí XML: <EditText android:layout_height="wrap_content" android:layout_width="wrap_content" android:background="@layout/shape" android:paddingleft="20dip" android:singleline="true" android:id="@+id/uzivjmenoedittext"></edittext> Elementy XML obsahují View a Viewgroup prvky, parametry těchto prvků poté tvoří atributy XML elementů. XML soubory s definicí uživatelského prostředí patří do jmenného prostoru Pomocí potomka třídy ViewGroup lze také vytvořit správce rozvržení (layout manager), které mohou ovlivňovat uspořádání View prvků. GUI má hierarchickou Stránka 23 z 49

31 strukturu, viz obr. č. 12, kde se View objekty skládají do ViewGroup kontejnerů - správců rozvržení. Obrázek č Hierarchie GUI (16) 5.1. Typy správců rozvržení Správce rozvržení má funkci kontejneru pro View prvky. Podle typu správce rozvržení se View objekty zarovnávají různými způsoby. Android obsahuje 4 základní správce rozvržení (10) Linear Layout Každé další View vložené do Linear Layout se umístí za naposled vložené View. Umístí se buď horizontálně nebo vertikálně, podle nastavení parametru orientation. Mezi další důležité parametry patří layout_width a layout_height, které mohou mít hodnoty fill_parent nebo wrap_content. Při použití fill_parent správce rozvržení vyplní celý prostor svého předchůdce obsaženými View, pokud použijeme wrap_content, je vyplněna pouze část předchůdce nutná pro obalení obsažených View objektů. Obrázek č Ukázka Linear Layout XML kód výše uvedené ukázky (obr. č. 13): <LinearLayout xmlns:android=" Stránka 24 z 49

32 android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" <EditText android:layout_height="wrap_content" android:layout_width="fill_parent" <LinearLayout android:orientation="horizontal" android:layout_height="wrap_content" android:layout_width="fill_parent"> <Button android:layout_height="wrap_content" android:layout_width="wrap_content"/> <Button android:layout_height="wrap_content" android:layout_width="fill_parent"/> </LinearLayout> </LinearLayout> Výše uvedená ukázka je tvořena dvěma Linear Layout správci rozvržení. První Linear Layout má orientaci vertikální a obsahuje TextView, EditText a druhý Linear Layout, který je orientován horizontálně a obsahuje dva View typu Button Relative Layout Pomocí Relative Layout můžeme umístit jednotlivá View do polohy, jejíž pozice je vztažena k okrajům Relative Layout kontejneru, do kterého View vkládáme, nebo je vztažena k jinému View, které je umístěno v tomto kontejneru. Vztahy mezi View se určují pomocí jejich ID. Pozici vkládaného View můžeme určit pouze pomocí View, která je definováno v XML souboru před vkládaným View. Použití Relative Layout je znázorněno na následujícím příkladu (obr. č. 14): Obrázek č Ukázka Relative Layout Ukázku tvoří následující XML kód: <RelativeLayout xmlns:android=" Stránka 25 z 49

33 android:layout_width="wrap_content" android:layout_height="wrap_content"> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" /> <Button android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_alignparentright="true"/> <EditText android:layout_height="wrap_content" android:layout_width="fill_parent"/> </RelativeLayout> Poloha Buttonu je vztažena k EditTextu parametrem layout_below a ke kontejneru parametrem layout_alignparentright Frame Layout Každé další vložené View se zarovnává do levého horního rohu. Pokud vložíme více View, poslední vložené bude překrývat ostatní, viz obr. č. 15. Obrázek č Ukázka Frame Layout XML kód ukázky: <FrameLayout xmlns:android=" android:id="@+id/framelayout01" android:layout_width="wrap_content" android:layout_height="wrap_content"> <Button android:layout_height="wrap_content" android:id="@+id/button1" android:text="@string/button1" android:layout_width="wrap_content"/> <EditText android:layout_height="wrap_content" android:id="@+id/edittext01" android:text="@string/edit" android:layout_width="fill_parent"/> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/popisek" android:id="@+id/popisektextview" /> </FrameLayout> Stránka 26 z 49

34 Table Layout Každé View je buňkou tabulky, objekty jsou řazeny do řádků a sloupců. Počet sloupců se odvíjí automaticky od řádku s nejvíce vloženými View. Ukázka Table Layout s tlačítky (obr. č. 16): Obrázek č Ukázka Table Layout <TableLayout xmlns:android=" android:layout_width="fill_parent" android:layout_height="wrap_content"> <TableRow> <Button android:layout_height="wrap_content" android:text="button1"/> <Button android:layout_height="wrap_content" android:text="button2"/> <Button android:layout_height="wrap_content" android:text="button3"/> <Button android:layout_height="wrap_content" android:text="button4"/> </TableRow> <TableRow> <Button android:layout_height="wrap_content" android:text="button5"/> <Button android:layout_height="wrap_content" android:text="button6"/> </TableRow> </TableLayout> 5.2. Základní View prvky GUI Mezi základní, nejčastěji používané View prvky patří (7): Název Popis Náhled TextView Standardní needitovatelný textový popisek, podpora zobrazení více řádků, formátování textu. EditText Editovatelné textové pole, sloužící pro zadávání vstupů. Stránka 27 z 49

35 ListView Pomocí ListView lze umístit jiná View do vertikálního seznamu, View jsou zobrazeny jako jednotlivé řádky. Spinner Spinner je obdobou výběru ze seznamu v desktopových Java aplikacích. Po kliknutí se rozevře seznam s možnostmi. Button Klasické klikací tlačítko. Checkbox Zaškrtávací přepínač, má dva stavy - pravda a nepravda. RadioButton Umožňuje výběr jedné možnosti ze skupiny různých hodnot. ScrollView Pomocí ScrollView lze přidat rolovací lištu na obrazovku při nedostatku místa. Díky nižšímu rozlišení mobilních zařízení je to často využívaná komponenta. Tabulka č. 4 - Základní View prvky GUI 5.3. Další ovládací prvky Menu Pomocí menu můžeme uživatelům nabídnout pohodlné ovládání, které nezabírá drahocenné místo při návrhu GUI. Android podporuje dva typy menu - hlavní, které je vyvoláno po stisknutí hardwarového tlačítka menu, a kontextové, které se vyvolá po delším stisknutí určitého View. Hlavní menu je vždy vztaženo k jedné aktivitě, každá aktivita může mít své vlastní položky v hlavním menu. Hlavní menu pojme maximálně 6 položek, položky Stránka 28 z 49

36 mohou být tvořeny samostatným textem nebo textem a ikonou. Pokud do menu vložíme více než 6 položek, vytvoří se na 6. pozici odkaz, který otevře submenu se zbývajícími položkami. Položky menu jsou definovány pomocí XML, ukázka definice menu pro přihlášeného uživatele v mé aplikaci (viz kapitola č. 6): <menu xmlns:android=" <item android:icon="@drawable/help_icon" android:id="@+id/napoveda_menu" android:title="nápověda"> </item> <item android:icon="@drawable/about_icon" android:id="@+id/oaplikaci_menu" android:title="o Aplikaci"> </item> <item android:icon="@drawable/log_out_icon" android:id="@+id/odhlasit" android:title="odhlásit"> </item> </menu> Položky menu jsou obaleny tagem <item>, každá položka musí mít povinně definované id a titulek. Náhled výše definovaného menu můžeme vidět na obr. č. 17: Obrázek č Ukázka hlavního menu aktivity Hlavní menu se přiřazuje k aktivitě pomocí metody oncreateoptionsmenu(menu menu). V této metodě naplníme menu položkami, které jsme si definovali v XML souboru pomocí instance třídy MenuInflater. Slouží k tomu metoda inflate(menures zdrojmenu, Menu menu), příklad inicializace hlavního menu: public boolean oncreateoptionsmenu(menu menu) { MenuInflater inflater = getmenuinflater(); inflater.inflate(r.menu.menu_prihlaseni, menu); return true; } Pokud uživatel vybere určitou položku z menu, je zavolána metoda onoptionsitemselected(menuitem item) aktivity, se kterou uživatel právě pracuje. Implementace této metody u výše uvedeného příkladu (obr. č. 17) může vypadat například takto: Stránka 29 z 49

37 public boolean onoptionsitemselected(final MenuItem item) { switch (item.getitemid()) { case R.id.oaplikaci_menu: intent = new Intent(AdminForm.this, OAplikaciScreen.class); startactivity(intent); return true; case R.id.napoveda_menu: intent = new Intent(AdminForm.this, NapovedaScreen.class); startactivity(intent); return true; case R.id.odhlasit: showdialog(dialog_odhlaseni); return true; default: return super.onoptionsitemselected(item); } } Kontextové menu je obdobou menu vyvolaného stisknutím pravého tlačítka myši na desktopu. Na Android systému se vyvolá dlouhým stisknutím View, ke kterému chceme kontextové menu zobrazit. Tvorba kontextového menu je obdobná jako u hlavního menu, k inicializaci se používá metoda oncreatecontextmenu(menu menu, View view, ContextMenuInfo). Pomocí metody registerforcontextmenu(view view) přiřadíme vytvořené menu ke konkrétní View komponentě. Pokud uživatel vybere některou položku z nabídky, v příslušné aktivitě je zavolána metoda oncontextitemselected(menuitem item). S touto metodou se pracuje obdobně jako u hlavního menu (viz příklad hlavního menu výše) Dialogy Dialogová okna představují jednoduchý způsob interakce s uživatelem. Fungují podobně jako u desktopových aplikací. Podobu dialogu lze vytvořit pomocí třídy Builder, která je součástí třídy AlertDialog: protected Dialog oncreatedialog(int id) { switch (id) { case DIALOG_ODHLASENI: return new AlertDialog.Builder(AdminForm.this).setIcon(R.drawable.alert_dialog_icon).setTitle(R.string.potvrdit_odhlaseni).setMessage(R.string.odhlaseni_dotaz).setPositiveButton(R.string.odhlaseni_dialog_ok, new DialogInterface.OnClickListener() { public void onclick(dialoginterface dialog, int whichbutton) { /* Uzivatel potvrdil odhlaseni */ finish(); Stránka 30 z 49

38 } } }).setnegativebutton(r.string.odhlaseni_dialog_zrusit, new DialogInterface.OnClickListener() { public void onclick(dialoginterface dialog, int whichbutton) { /* Uzivatel zrusil odhlaseni */ } }).create(); /* Implementace dalsich dialogu */ } Obrázek č Ukázka použití dialogu Výše uvedený zdrojový kód vytvoří dialog zobrazený na obr. č. 18. Dialog je definován v metodě oncreatedialog(int cislodialogu) aktivity, ke které se dialog váže. Pomocí metod třídy Builder můžeme nastavit parametry dialogu, mezi nejčastěji používané parametry patří nastavení ikony, titulku, zprávy pro příjemce a tlačítek. U tlačítek je potřeba navíc nastavit listener (DialogInterface.OnClickListener()), který zavolá metodu onclick(dialoginterface dialog, int whichbutton), pokud uživatel klikne na dané tlačítko. Dialog je potom vytvořen metodou create(). Kromě AlertDialog lze použít také DatePickerDialog, který je určen pro výběr data, TimePickerDialog, pomocí kterého lze vybrat čas a ProgressDialog, který slouží k zobrazení průběhu a obsahuje buď progress wheel (zaplňující se kruh) nebo progress bar (proužek s procenty) (7) Notifikace K upozornění uživatele disponuje Android dvěma nástroji. Můžeme použít Toast nebo informační lištu. Stránka 31 z 49

39 Toast zobrazí rámeček se zprávou, jejíž účelem by mělo být upozornění uživatele na výsledek nějaké akce nebo na problém. Zpráva se zobrazí na určitý čas, který se nastavuje při její konstrukci. Toast se nejsnáze vytváří metodou maketext(context context, String zprava, int delkazobrazeni), která je součástí třídy Toast. Ukázkový toast z mé aplikace (viz kap. č. 6): Toast.makeText(RegistraceForm.this, R.string.jmeno_chyba, Toast.LENGTH_SHORT).show(); Obrázek č Ukázkový toast Výsledek výše uvedeného zdrojového textu je zobrazen na obr. č. 19. Dalším způsobem, jak na nějakou událost upozornit uživatele, je použití informační lišty. Informační lišta slouží především k zobrazení systémových informací, například se zde zobrazují upozornění na nově dostupné aktualizace. Zprávu do informační lišty můžeme vložit pomocí třídy NotificationManager, která celou lištu spravuje. Nejdříve je třeba metodou getsystemservice(string nazev) získat instanci správce oznámení (Notification manager). Poté pomocí konstruktoru Notification(int ikona, CharSequence zprava, long caszobrazeni) vytvoříme vlastní oznámení, které posléze zobrazíme metodou notify(int id, Notification oznameni). Pomocí metody setlatesteventinfo(context context, CharSequence titulek, CharSequence zprava, PendingIntent intent) můžeme nastavit detailnější oznámení a Intent, který se spustí, pokud uživatel klikne na dané oznámení Práce s GUI pomocí Javy Ve zdrojových textech programu se musíme odkazovat na ovládací prvky GUI, které definujeme v XML souborech. Pomocí XML definujeme strukturu, vzhled a další vlastnosti prvků, ale funkcionalitu je třeba naprogramovat v Javě. Nejprve je třeba v aktivitě definovat, který XML layout má vybraná aktivita používat. O to se stará metoda setcontentview(r.layout.nazevlayout), která se volá typicky při inicializaci aktivity v metodě oncreate(). Často potřebujeme odkaz na určité View Stránka 32 z 49

MATURITNÍ PRÁCE dokumentace

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

Více

Sem vložte zadání Vaší práce.

Sem vložte zadání Vaší práce. Sem vložte zadání Vaší práce. České vysoké učení technické v Praze Fakulta informačních technologií Katedra softwarového inženýrství Bakalářská práce Informační systém pro evidenci potápěčských ponorů

Více

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV TELEKOMUNIKACÍ FACULTY OF ELECTRICAL ENGINEERING AND COMMUNICATION DEPARTMENT OF TELECOMMUNICATIONS

Více

Mobilní malware na platformě Android Přednáška 1. Ing. Milan Oulehla

Mobilní malware na platformě Android Přednáška 1. Ing. Milan Oulehla Mobilní malware na platformě Android Přednáška 1 Ing. Milan Oulehla Úvod 1 Informace o přednášce: odhalení bezpečnostních chyb na základě vlastního výzkumu: systémové dokumentace studia bezpečnostních

Více

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

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

Více

Android 100% Java telefon. Petr Musil

Android 100% Java telefon. Petr Musil Android 100% Java telefon Petr Musil 1 Vytvoření aplikace Prostředí pro vývoj Android SDK http://developer.android.com/sdk/index.html ADT plugin pro Eclipse http://developer.android.com/sdk/eclipse-adt.html

Více

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

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

Více

OSOBNÍ PLÁNOVAČ FINANCÍ PRO OS ANDROID

OSOBNÍ PLÁNOVAČ FINANCÍ PRO OS ANDROID VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV POČÍTAČOVÝCH SYSTÉMŮ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF COMPUTER SYSTEMS OSOBNÍ PLÁNOVAČ

Více

Obsah. Úvodem...17. KAPITOLA 1 Začínáme...21. KAPITOLA 2 Projekty a jejich cíle...25

Obsah. Úvodem...17. KAPITOLA 1 Začínáme...21. KAPITOLA 2 Projekty a jejich cíle...25 Stručný obsah Úvodem 17 1. Začínáme 21 2. Projekty a jejich cíle 25 3. Vytvoření kostry aplikace 35 4. Používání návrhů založených na XML 41 5. Využití základních widgetů 47 6. Práce s kontejnery 57 7.

Více

Mobilní malware na platformě Android Přednáška 2. Ing. Milan Oulehla

Mobilní malware na platformě Android Přednáška 2. Ing. Milan Oulehla Mobilní malware na platformě Android Přednáška 2 Ing. Milan Oulehla Úvod Informace o technikách, které používají tvůrci mobilního malware: Bezpečnostní chyby se mění v čase Vytvoření vlastních zdrojových

Více

DATA ARTICLE. AiP Beroun s.r.o.

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

Více

Návrh aplikace. Project Westpon. Inteligentní simulátor budov. Martin Mudra, Jan Smejkal, Onřej Macoszek, Marek Žehra, Jiří Slivárich

Návrh aplikace. Project Westpon. Inteligentní simulátor budov. Martin Mudra, Jan Smejkal, Onřej Macoszek, Marek Žehra, Jiří Slivárich Návrh aplikace Project Westpon Inteligentní simulátor budov Martin Mudra, Jan Smejkal, Onřej Macoszek, Marek Žehra, Jiří Slivárich . Úvod.. Účel dokumentu Tento dokument má za účel detailně popsat návrh

Více

Projekty pro výuku programování v jazyce Java

Projekty pro výuku programování v jazyce Java JIHOČESKÁ UNIVERZITA V ČESKÝCH BUDĚJOVICÍCH Pedagogická fakulta Katedra informatiky Akademický rok: 2006/2007 TEZE BAKALÁŘSKÉ PRÁCE Projekty pro výuku programování v jazyce Java Jméno: František Přinosil

Více

Statistica, kdo je kdo?

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

Více

KMI / TMA Tvorba mobilních aplikací. 6. seminář ZS 2016/2017 Středa 13:15-15:45

KMI / TMA Tvorba mobilních aplikací. 6. seminář ZS 2016/2017 Středa 13:15-15:45 KMI / TMA Tvorba mobilních aplikací 6. seminář 2.11.2016 ZS 2016/2017 Středa 13:15-15:45 OBSAH SEMINáře Ukládání dat Ukládání dat Jaké jsou možnosti? SharedPreferences jednoduchá data databáze SQLite relační

Více

Mid Android M001, M002, M003

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

Více

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

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

Více

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

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

Více

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

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

Více

3D Vizualizace muzea vojenské výzbroje

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

Více

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

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

Více

(c) Miroslav Balík, Ondřej Kroupa, Martin Pelant 11/29/ přednáška. Android projekt. Manifest. Activity. Uživatelské rozhraní (základy)

(c) Miroslav Balík, Ondřej Kroupa, Martin Pelant 11/29/ přednáška. Android projekt. Manifest. Activity. Uživatelské rozhraní (základy) 2. přednáška Android projekt Manifest Activity Uživatelské rozhraní (základy) 2 Android Projekt - src Zdrojový kód v Javě Unikátní jméno balíčku Konvence: [země].[autor].[jméno aplikace] např.: cz.cvut.helloworld

Více

Databázový systém Matylda

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

Více

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

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

Více

VYTVÁŘENÍ OBSAHU KURZŮ

VYTVÁŘENÍ OBSAHU KURZŮ VYTVÁŘENÍ OBSAHU KURZŮ Mgr. Hana Rohrová Mgr. Linda Huzlíková Ing. Martina Husáková Fakulta informatiky a managementu Univerzity Hradec Králové Projekt je spolufinancován Evropským sociálním fondem a státním

Více

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

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

Více

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

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

Více

XAMARIN 10 PRAKTICKÝCH ZKUŠENOSTÍ. Roman Fischer fischer@skeleton.cz

XAMARIN 10 PRAKTICKÝCH ZKUŠENOSTÍ. Roman Fischer fischer@skeleton.cz XAMARIN 10 PRAKTICKÝCH ZKUŠENOSTÍ Roman Fischer fischer@skeleton.cz AGENDA KDO JSME PROČ JSME ZVOLILI XAMARIN 10 PRAKTICKÝCH ZKUŠENOSTÍ DISKUZE Softwarová řešení a mobilní aplikace na míru 2 SOFTWAROVÁ

Více

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

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

Více

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

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

Více

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

Více

O aplikaci Parallels Desktop 7 for Mac

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

Více

DOTYKOVÉ UŽIVATELSKÉ ROZHRANÍ PRO EDITOR

DOTYKOVÉ UŽIVATELSKÉ ROZHRANÍ PRO EDITOR VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV POČÍTAČOVÉ GRAFIKY A MULTIMÉDIÍ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF COMPUTER GRAPHICS AND

Více

Manuál programu HPSim

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

Více

Mobilní aplikace Novell Filr Stručný úvod

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

Více

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

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

Více

Mobilní aplikace Průvodce po MENDELU

Mobilní aplikace Průvodce po MENDELU Mendelova univerzita v Brně Provozně ekonomická fakulta Mobilní aplikace Průvodce po MENDELU Bakalářská práce Vedoucí práce: Ing. Dita Dlabolová Ondřej Charvát Kurdějov 2015 Poděkování Tímto bych chtěl

Více

NÁVOD jak na webinář přes WizIQ

NÁVOD jak na webinář přes WizIQ NÁVOD jak na webinář přes WizIQ Obsah: Jak se dostanu na webinář?... 2 Použití manuálu bez tisku... 2 Co potřebuji k připojení na webinář?... 2 Jak se dostanu do vzdělávací třídy?... 2 Adobe Flash Enabler...

Více

InTouch 8.0 Subsystém distribuovaných alarmů

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

Více

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

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

Více

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

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

Více

Manuál práce s dataloggerem Xplorer GLX

Manuál práce s dataloggerem Xplorer GLX manuál Manuál práce s dataloggerem Xplorer GLX Ovládání dataloggeru Xplorer GLX je jednoduché a intuitivní. Kromě popisu ovládání základních funkcí a nastavení připojujeme některé tipy související se zkušenostmi

Více

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

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

Více

Analýza dat na PC I.

Analýza dat na PC I. Lékařská a Přírodovědecká fakulta, Masarykova univerzita Analýza dat na PC I. Základy programu STATISTICA IBA výuka 2008/2009 StatSoft, Inc., http://www.statsoft.com/, http://www.statsoft.cz Verze pro

Více

Manuál administrátora FMS...2

Manuál administrátora FMS...2 Manuál administrátora Manuál administrátora FMS...2 Úvod... 2 Schéma aplikace Form Management System... 2 Úvod do správy FMS... 3 Správa uživatelů... 3 Práva uživatelů a skupin... 3 Zástupci... 4 Avíza

Více

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV RADIOELEKTRONIKY FACULTY OF ELECTRICAL ENGINEERING AND COMMUNICATION DEPARTMENT OF

Více

Začínáme s vývojem pro Android

Začínáme s vývojem pro Android Pavel Petřek CTO Praha, 14. dubna 2010 Kdo je kdo Pavel Petřek Vývojář, přednášející, entusiasta světa chytrých telefonů (a velký jedlík) Spoluzakladatel Inmite Inmite Vývoj pro chytré telefony (Android:

Více

Workmonitor. Servisní návod. 24. června 2014 w w w. p a p o u c h. c o m

Workmonitor. Servisní návod. 24. června 2014 w w w. p a p o u c h. c o m Servisní návod 24. června 2014 w w w. p a p o u c h. c o m Workmonitor Katalogový list Vytvořen: 18.5.2009 Poslední aktualizace: 24.6 2014 09:20 Počet stran: 11 2014 Adresa: Strašnická 3164/1a 102 00 Praha

Více

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

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

Více

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

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

Více

Sciphone I68+ Rychlý návod

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

Více

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

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

Více

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

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

Více

Stavba operačního systému

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

Více

CTUGuide (XXX-KOS) D1

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

Více

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

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

Více

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

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

Více

Ovladač Fiery Driver pro systém Mac OS

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

Více

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

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

Více

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

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

Více

Windows. snadno a rychle

Windows. snadno a rychle Nová kniha známých českých odborníků podrobně seznamuje čtenáře s operačním systémem Windows 10. Čtenář se pod vedením autorů naučí spouštět programy a přepínat mezi nimi (multitasking), vytvářet virtuální

Více

Interaktivní mapy ÚAP Uživatelská příručka

Interaktivní mapy ÚAP Uživatelská příručka Interaktivní mapy ÚAP Uživatelská příručka Verze: 1.0 Podpora: GEOREAL spol. s r.o. http://www.georeal.cz email: podpora@georeal.cz Hot-line: 373 733 456 Běhové prostředí: Microsoft Internet Explorer,

Více

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

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

Více

CORVUS Accessible kit for Android. Rodina aplikací zpřístupňující mobilní telefony s operačním systémem Android i nevidomým a slabozrakým uživatelům

CORVUS Accessible kit for Android. Rodina aplikací zpřístupňující mobilní telefony s operačním systémem Android i nevidomým a slabozrakým uživatelům CORVUS Accessible kit for Android Rodina aplikací zpřístupňující mobilní telefony s operačním systémem Android i nevidomým a slabozrakým uživatelům CORVUS - jak začít Verze příručky CORVUS jak začít březen

Více

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

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

Více

Ovládání systému inels a imm v OS Android

Ovládání systému inels a imm v OS Android ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická Katedra měření Ovládání systému inels a imm v OS Android DIPLOMOVÁ PRÁCE Vypracoval: Bc. Vlastimil Venclík Vedoucí práce: doc. Ing. Jiří Novák,

Více

GOCLEVER FONE 500 NÁVOD K OBSLUZE

GOCLEVER FONE 500 NÁVOD K OBSLUZE GOCLEVER FONE 500 NÁVOD K OBSLUZE NAVŠTIVTE NAŠE STRÁNKY WWW.GOCLEVER.COM VÍCE INFORMACÍ O PRODUKTECH TAB, NAVIO, DVR, DVB-T Před instalací a prvním použitím si prosím nejprve přečtěte tuto příručku. Obsah

Více

Přehled verzí aplikace WinTechnol

Přehled verzí aplikace WinTechnol Přehled verzí aplikace WinTechnol Verze 2.0.16 5. 2. 2009 Opravena chyba, která znemožňovala ladění s DOS verzemi systému a WinCNC revize menší než 637. Opraveno nesprávné ukládání informace o aktuální

Více

CE - Prohlášení Prohlašujeme, že TEAC MEDIA SYSTEMS IP-20 USB Telefon splňuje následující normy a dokumenty: EMC Directive 89/336 / EEC

CE - Prohlášení Prohlašujeme, že TEAC MEDIA SYSTEMS IP-20 USB Telefon splňuje následující normy a dokumenty: EMC Directive 89/336 / EEC CE - Prohlášení Prohlašujeme, že TEAC MEDIA SYSTEMS IP-20 USB Telefon splňuje následující normy a dokumenty: EMC Directive 89/336 / EEC EN 55022 : 1998 + A1 : 2000 + A2 : 2003 EN 55024 : 1998 + A1 : 2001

Více

Manuál k aplikaci SDO PILOT v.0.2

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

Více

Návod na použití Konfigurační softvér DJ LCD config v1.3

Návod na použití Konfigurační softvér DJ LCD config v1.3 Konfigurační softvér DJ LCD config v1.3 Strana 1 Úvod DJ LCD config softvér je konfigurační a diagnostický nástroj pro 2-vodičový systém video vrátniků EASYDOOR. Dovoluje komfortně kontrolovat funkčnost

Více

Úvod do počítačové grafiky

Úvod do počítačové grafiky Úvod do počítačové grafiky Zpracoval: ing. Jaroslav Chlubný Počítačová grafika Počítačová grafika a digitální fotografie zaujímá v současnosti stále významnější místo v našem životě. Uveďme si jen několik

Více

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

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

Více

KMI / TMA Tvorba mobilních aplikací. 2. seminář ZS 2016/2017 Středa 13:15-15:45

KMI / TMA Tvorba mobilních aplikací. 2. seminář ZS 2016/2017 Středa 13:15-15:45 KMI / TMA Tvorba mobilních aplikací 2. seminář 5.10.2016 ZS 2016/2017 Středa 13:15-15:45 OBSAH SEMINáře konfigurační soubory projektu, aktivity, základní události, životní cyklus aplikace, intenty a práce

Více

Vývoj aplikací na platformě Windows Mobile. Vysoká škola ekonomická v Praze. Fakulta informatiky a statistiky. Katedra informačních technologií

Vývoj aplikací na platformě Windows Mobile. Vysoká škola ekonomická v Praze. Fakulta informatiky a statistiky. Katedra informačních technologií Vysoká škola ekonomická v Praze Fakulta informatiky a statistiky Katedra informačních technologií Studijní program: Aplikovaná informatika Obor: Informační systémy a technologie Diplomant: Vedoucí diplomové

Více

MOBILNÍ OVLÁDAČ PC (MOBIL JAKO VZDÁLENÉ OVLÁDÁNÍ) MOBILE CONTROLLER FOR PC (MOBILE PHONE AS REMOTE CONTROLLER)

MOBILNÍ OVLÁDAČ PC (MOBIL JAKO VZDÁLENÉ OVLÁDÁNÍ) MOBILE CONTROLLER FOR PC (MOBILE PHONE AS REMOTE CONTROLLER) VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV POČÍTAČOVÉ GRAFIKY A MULTIMÉDIÍ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF COMPUTER GRAPHICS AND

Více

Instalace produktu Ontopia. ver. 5.0.2 (open-source verze)

Instalace produktu Ontopia. ver. 5.0.2 (open-source verze) Instalace produktu Ontopia ver. 5.0.2 (open-source verze) Martina Husáková 1.2.2010 PÁR SLOV ÚVODEM Produkt společnosti Bouvet Ontopia (dříve Ontopia Knowledge Suite OKS) je jedním z nejpoužívanějších

Více

Uživatelský manuál Radekce-Online.cz

Uživatelský manuál Radekce-Online.cz Uživatelský manuál Radekce-Online.cz (revize 06/2011) V prvním kroku třeba vstoupit do administrace na adrese www.redakce-online.cz kterou naleznete na záložce Administrace / Vstup do Administrace, pro

Více

ZÁVĚREČNÁ STUDIJNÍ PRÁCE dokumentace

ZÁVĚREČNÁ STUDIJNÍ PRÁCE dokumentace ZÁVĚREČNÁ STUDIJNÍ PRÁCE dokumentace Dokumentační systém pro Android Marek Kovalčík Obor: Třída: Školní rok: 18-20-M/01 INFORMAČNÍ TECHNOLOGIE se zaměřením na počítačové sítě a programování IT4 2015/2016

Více

Operační systémy (OS)

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

Více

českém Úvod Obsah krabice Specifikace Požadavky na systém SWEEX.COM IP001 Sweex USB Internet Phone with Display

českém Úvod Obsah krabice Specifikace Požadavky na systém SWEEX.COM IP001 Sweex USB Internet Phone with Display IP001 Sweex USB Internet Phone with Display Úvod Především vám mnohokrát děkujeme za zakoupení Sweex USB Internet Phone with Display. Pomocí tohoto snadno zapojitelného telefonu můžete volat přes Internet.

Více

Návod pro mobilní telefony s operačním systémem Google Android 5.x.x

Návod pro mobilní telefony s operačním systémem Google Android 5.x.x 1 z 33 Návod pro mobilní telefony s operačním systémem Google Android 5.x.x Základní nastavení telefonu Vložení SIM karty a baterky Vložení paměťové karty Zapnutí telefonu a PIN Kontakty Kopírování ze

Více

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

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

Více

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

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

Více

ADMINISTRAČNÍ PŘIRUČKA verze 1.1.19. Strana 2 (celkem 20) Strana 3 (celkem 20) 1. Obsah 1. Obsah...3 2. Úvod...5 2.1. Požadavky na hardware...5 2.2. Požadavky na software...5 2.3. Instalace...5 2.4. Výchozí

Více

FTC08 instalační manuál k dotykovému panelu systému Foxys

FTC08 instalační manuál k dotykovému panelu systému Foxys FTC08 instalační manuál k dotykovému panelu systému Foxys Foxtron spol. s r.o. Jeseniova 1522/53 130 00 Praha 3 tel/fax: +420 274 772 527 E-mail: info@foxtron.cz www: http://www.foxtron.cz Verze dokumentu

Více

Představení telefonu

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

Více

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

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

Více

Uživatelská příručka k webové kameře HP Elite Autofocus

Uživatelská příručka k webové kameře HP Elite Autofocus Uživatelská příručka k webové kameře HP Elite Autofocus v4.2.cs Part number: 5992-2507 Copyright 2007 2009 Hewlett-Packard Development Company, L.P. Informace obsažené v tomto dokumentu mohou být změněny

Více

INSTALACE DATABÁZE ORACLE A SYSTÉMU ABRA NA OS WINDOWS

INSTALACE DATABÁZE ORACLE A SYSTÉMU ABRA NA OS WINDOWS INSTALACE DATABÁZE ORACLE A SYSTÉMU ABRA NA OS WINDOWS 1. 2. 3. 4. 5. 6. 7. 8. 9. Instalace Oracle verze 11.02. 64 bit... 2 Instalace Listeneru... 8 Vytvoření instance databáze... 10 Úprava konfigurace

Více

BEZDRÁTOVÉ PROPOJENÍ ROZHRANÍ LABQUEST 2

BEZDRÁTOVÉ PROPOJENÍ ROZHRANÍ LABQUEST 2 BEZDRÁTOVÉ PROPOJENÍ ROZHRANÍ LABQUEST 2 A PROGRAMU LOGGER PRO S PŘENOSNÝMI ZAŘÍZENÍMI Obsah 1 WiFi připojení LabQuestu 2 1.1 Připojení k již existující bezdrátové síti 1.2 Vytvoření ad-hoc bezdrátové

Více

}w!"#$%&'()+,-./012345<ya

}w!#$%&'()+,-./012345<ya MASARYKOVA UNIVERZITA }w!"#$%&'()+,-./012345

Více

TouchPad a klávesnice

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

Více

Uživatelská příručka ClinkMe

Uživatelská příručka ClinkMe Uživatelská příručka ClinkMe OBSAH DIALER 1 ZÁKLADNÍ OVLÁDÁNÍ APLIKACE... 1 KONTAKTY... 2 POČET TELEFONNÍCH ČÍSEL KONTAKTU... 4 ZÁLOŽKY PRO FILTROVÁNÍ KONTAKTŮ... 5 PANEL PRO ZADÁVÁNÍ VYHLEDÁVACÍCH KRITÉRIÍ...

Více

Obsah. Životní cyklus activity Context Intent Spouštění aktivit Interakce s uživatelem. Toast. (c) Miroslav Balík, Ondřej Kroupa, Martin Pelant

Obsah. Životní cyklus activity Context Intent Spouštění aktivit Interakce s uživatelem. Toast. (c) Miroslav Balík, Ondřej Kroupa, Martin Pelant Obsah Životní cyklus activity Context Intent Spouštění aktivit Interakce s uživatelem Toast 2 4 oncreate(bundle savedinstancestate) { } Zavolá se při každém vytvoření activity (i při otočení displeje)

Více

Responzivní web. Co je mobilní verze webové stránky?

Responzivní web. Co je mobilní verze webové stránky? Responzivní web Jan Sequens, Global Vision, a.s. Co je mobilní verze webové stránky? Dříve byly možnosti mobilních telefonů značně omezené (monochromatický display, paměť, procesor) a mobilní telefony

Více

Anglická slovíčka http://www.ajslovicka.cz/

Anglická slovíčka http://www.ajslovicka.cz/ Anglická slovíčka http://www.ajslovicka.cz/ Uživatelská dokumentace Revize 1.1 platná ke dni 14. 4. 2013 Napsal: MUDr. Ing. Martin Krejčí Obsah Úvod...4 Konvence a značení...4 Základní informace o aplikaci...5

Více

Základy informatiky. Operační systémy

Základy informatiky. Operační systémy Základy informatiky Operační systémy Zpracoval: Upraveno: Ing. Pavel Děrgel Daniela Ďuráková Cíle dnešní přednášky Operační systém základní funkce souborové systémy Windows historie, vlastnosti Linux historie

Více

KMI / TMA Tvorba mobilních aplikací

KMI / TMA Tvorba mobilních aplikací KMI / TMA Tvorba mobilních aplikací 2. seminář 5.10.2018 ZS 2017/2018 STŘEDA 13:15-15:45 OBSAH SEMINáře konfigurační soubory projektu, aktivity, základní události, životní cyklus aplikace, intenty a práce

Více