Knihovna pro tvorbu GUI v mobilních zařízeních

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

Download "Knihovna pro tvorbu GUI v mobilních zařízeních"

Transkript

1 Masarykova univerzita, Fakulta informatiky Knihovna pro tvorbu GUI v mobilních zařízeních Vojtěch Štursa Diplomová práce Brno 2008

2 Prohlášení: Prohlašuji, že tato 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. Děkuji Mgr. Pavlu Drášilovi za odbornou pomoc a vedení při vytváření této diplomové práce

3 Shrnutí: Cílem práce je prozkoumat současné knihovny pro tvorbu uživatelských rozhraní pro mobilní zařízení. Součástí práce je vytvoření takové knihovny pro platformu J2ME a ukázková aplikace. Klíčová slova: J2ME, CLDC, grafické uživatelské rozhraní, MIDP, XML

4 Obsah 1. Úvod Rozdělení mobilních telefonů do kategorií: Omezující faktory při vývoji programů pro mobilní telefony Optimalizace Přehled programového vybavení J2ME Architektura Konfigurace Profily Vývoj J2ME aplikací Další optimalizace Struktura programu J2ME MIDP API High-Level API Low-level API Ostatní API Grafická uživatelská rozhraní pro vývoj mobilních aplikací J2ME Polish Light-weight visual component library MicroEWT Paxmodept GUI Shrnutí Vlastní knihovna pro tvorbu GUI na mobilních telefonech Model knihovny Implementace modelu Sada komponent Ukázková aplikace Mapa Brna Příprava dat Data assembler Tile create Tile merge Vzhled a ovládání aplikace Struktura aplikace Literatura...53

5 1. Úvod Současné mobilní telefony již nejsou pouhým komunikačním zařízením, ale implementují i řadu dalších, zejména multimediálních funkcí. Přehrávají hudbu, umí pořizovat digitální fotografie a prakticky všechny novější mobilní telefony obsahují podporu pro další programové vybavení. Každoročně se prodá okolo jedné miliardy mobilních telefonů a očekává se, že toto množství se bude dále zvětšovat. Mobilní telefon se tedy již stal běžnou součástí lidského života, životního stylu a zdrojem zábavy. Přestože jsou mobilní telefony tak rozšířené, věřím, že jejich potenciál ještě není plně využit, protože kromě samotné komunikace se totiž nabízí možnost spouštět na nich programy třetích stran. Na telefonech bez vlastního operačního systému jsou však těmito programy stále převážně hry. Těchto zařízení je nejvíce a ačkoli jsou relativně levné, poskytují dostatečný výkon pro řadu zajímavých aplikací. 1.1 Rozdělení mobilních telefonů do kategorií: Podle schopností mobilních telefonů bych je rozdělil do následujících kategorií: Telefony bez možnosti spouštět programy. Jedná se o nejjednodušší typy, umožňující pouze telefonovat, posílat textové zprávy a používat napevno implementované funkce. Zpravidla mají malý displej, často pouze monochromatický. Telefony s podporou Java2ME. Jsou to zařízení nižší a střední třídy, nemají vlastní operační systém (tedy ne takový, který by byl společný pro více druhů zařízení), přesto umožňují spouštět programy v jazyce Java. Tato zařízení mají barevný displej, odpovídající procesor a řadu komponent, které může aplikační programátor využít - například fotoaparát, videokameru, některé typy mají i akcelerátor 3D grafiky, infraport, bluetooth modul či polyfonní syntezátor MIDI. Dále programátor může použít funkce pro odesílání textových zpráv SMS, MMS, případně funkce pro komunikaci přes internet. Telefony s vlastním operačním systémem. Tyto telefony, označované též jako smartphones, umožňují totéž, co druhá kategorie, ale mají ještě rychlejší procesor, velký, většinou dotykový displej a poskytují ještě větší možnosti programování, především v jazyce C. Příkladem operačního systému je například Symbian OS, Windows Mobile a začíná se uplatňovat i Linux. 5

6 1.2 Omezující faktory při vývoji programů pro mobilní telefony Mobilní telefony jsou navržené tak, aby byly snadno přenositelné. To znamená co nejmenší rozměry, váhu a spotřebu. Nejvýznamnějším faktorem je právě spotřeba a té se podřizuje vše ostatní. Výrobci musí volit jistý kompromis, protože uživatelé chtějí být schopni komunikovat co nejdéle, ale zároveň nechtějí v kapse nosit nic těžkého. Zároveň si řada uživatelů potrpí na vzhled a eleganci svého telefonu, proto vzniká řada variant, úsporných režimů apod. Z pohledu programátora jsou zajímavé následující parametry: maximální velikost programu, který je možné spustit (zde může jít o velikosti od 64 kb do desítek MB) maximální velikost paměti, kterou je možné alokovat (maximálně jednotky MB) možnost pracovat s externími soubory, uložené například na kartě flash (tyto karty jsou dnes schopny pojmout až 4 GB dat) možnost uchovávat konfigurační data aplikace, velikost této paměti a počet konfiguračních záznamů (řádově jednotky kb) 1.3 Optimalizace Optimální využití paměti je náročný úkol a někdy je nutné používat různé programátorské triky a optimalizace, obzvlášť v případě programů pro nejstarší typy telefonů. Například mobilní telefon může mít určenou část paměti, která je rychlá, ale může obsahovat pouze obrazová data. Může tedy záležet třeba i na pořadí načítaní programových objektů. Pokud chceme snížit velikost obrazových dat (zejména obrázky ve formátu PNG), můžeme optimalizovat například počet barev, použít lepší kompresi, spojit obrázky do jednoho (čím víc souborů, tím je potřeba více záznamů o nich) a dokonce se někdy odstraňují i datové hlavičky formátu PNG, pokud jsou u více obrázků totožné. Dále se při tvorbě programů používají tzv. obfuskátory, což jsou programy, s jejichž pomocí jsme schopni z binárních programových souborů odstranit nadbytečné informace. Je tak možné např. odstranit nepoužité atributy tříd, nahradit set/get metody přímým přístupem k proměnné, vyřadit z kódu nepoužité metody apod. Existuje řada optimalizačních postupů, jak z hlediska rychlosti, tak výsledné velikosti programu. Pokud jde o optimalizaci samotného algoritmu, vždy platí zásada, že optimalizujeme ne to, co si myslíme, že je pomalé, ale to, co zjistíme programem označovaným jako profiler. Je to nástroj, který je schopen v programu nalézt často volané funkce a poskytnout o nich tabulkový přehled. Urychlíme-li totiž část, která běží 6

7 většinu času o několik procent, bude program rychlejší, než když výrazně urychlíme část, která je v programu prakticky nepoužitá. Nehledě na čas, který na to potřebujeme. Dalším užitečným postupem je v případě vykreslování grafických objektů na displej vykreslovat jen to, co je nutné. Tedy jen to, co se od posledního kreslení na displeji změnilo. Příkladem buď například u her hráčovo skóre, umísťované do rohu displeje. To zabírá třeba 10 % displeje, ale prakticky se nemění. Optimalizace může jít až tak daleko, že je při aktualizaci skóre možné měnit jen změněné číslice. Na druhou stranu při takovýchto optimalizacích narůstá velikost kódu a tedy musíme volit jistý kompromis. 1.4 Přehled programového vybavení Pro vývoj programů pro mobilní telefony potřebujeme několik nástrojů. Kromě textového editoru pro psaní kódu je nutný příslušný kompilátor jazyka java, případně C/C++. Velmi vhodný je i emulátor mobilního telefonu pro PC, který nás částečně zbaví nutnosti testovat náš program ve fyzickém zařízení. Zároveň nám emulátor umožní nahlédnout, jak se program bude chovat na zařízeních, které nemáme k dispozici. Nelze však na něj úplně spoléhat, protože ne vždy je možné emulovat všechny funkce na počítači a také mezi jednotlivými verzemi firmware mobilních telefonů bývají drobné rozdíly. Problémové je také emulování některých pokročilých funkcí mobilních zařízení, například ovládání videokamery, připojování externích zařízení přes rozhraní bluetooth či používání infraportu. Ačkoli se výrobci snaží tyto problémy řešit, testování na fyzickém zařízení se nevyhneme. Nejčastěji pro vývoj programů použijeme některé z dostupných IDE (Integrated development environment), které v sobě obsahuje potřebné programy a nastavení. Uveďme přehled nejpoužívanějších IDE: Netbeans IDE 6.x + Mobility packs (J2ME, CLDC i CDC) Eclipse + Mobile tools (J2ME, CLDC i CDC) Nokia Carbide.c++ (C++, Symbian OS) Nokia Carbide.vs (plugin pro MS Visual studio, Symbian OS) Nokia Developer's Suite for J2ME Borland JBuilder X Mobile Edition (J2ME) Visual C++ (C++, Windows Mobile) Sun Java Studio Mobility (J2ME) Součástí většiny programových balíků týkajících se javy pro mobilní telefony je J2ME Wireless Toolkit od firmy Sun. Jedná se o nástroj, obsahující potřebné programy pro sestavení a emulaci J2ME programů, včetně příkladů a dokumentace. 7

8 Dostupné emulátory: Prakticky všichni významní výrobci poskytují podporu a dokumentaci ke svým výrobkům, označovanou jako SDK. Příklad: Sony Ericsson SDK (modelová řada W, P, Z,...) Nokia SDK (serie 40, 60, 80) Motorola SDK (řada A, C, E, V, RAZR,...) dále pak Alcatel, Sharp, Samsung, LG,... Součástí emulátorů je několik užitečných nástrojů. Prvním je monitor využité paměti, který nám umožňuje zjistit vývoj paměťových nároků aplikace v čase a také velikost paměti, kterou potřebují jednotlivé objekty aplikace. Druhým nástrojem je již zmíněný profiler. Zobrazuje stromovou strukturu s metodami objektů, přičemž pro každý uzel udává v procentech čas, po který aplikace danou metodu využívala. Dále můžeme pomocí profileru zjistit, kolikrát byla metoda volána a počet provedených instrukcí. Obrázek 1: Netbeans IDE 6.0 8

9 Obrázek 2: Emulátor, Sony Ericsson SDK Obrázek 3: Memory monitor Obrázek 4: Profiler 9

10 2. J2ME 2.1 Architektura J2ME je běhové prostředí pro programy napsané v jazyce java. Pomocí tzv. konfigurací a profilů je možné toto prostředí uzpůsobit pro řadu zařízení. Používá se v mobilních telefonech, pagerech, navigačních systémech, set-top boxech a dalších zařízeních. Velkou výhodou J2ME je to, že jeden program je teoreticky schopen běžet na více různých zařízeních, protože jazyk je pořad jeden a tentýž. Jednotlivé typy zařízení se však mohou lišit rozsahem implementovaných knihovních funkcí a dalšími parametry. Normou je dána minimální množina funkcí, která je pro všechna zařízení společná. Konfigurací rozumíme množinu základních tříd (core classes) a parametry JVM (java virtual machine). Profil pak k základní množině tříd přidává další funkcionalitu podle toho, jaké další funkce zařízení poskytuje. Zařízení nemusí obsahovat úplnou JVM, ale pouze její podmnožinu (KVM, CVM). J2ME App. MIDP CLDC KVM J2ME App. Foundation profile CDC CVM J2ME App. J2SE JVM Operační systém zařízení Obrázek 5: Struktura běhového prostředí, od jednoduchých zařízení po složité 10

11 2.2 Konfigurace V současné době jsou definovány pouze dvě konfigurace J2ME CLDC a CDC. V budoucnosti však mohou vzniknout i další. Connected Limited Device Configuration (CLDC) je určena pro 16 a 32 bitová zařízení s omezeným množstvím paměti (minimálně 192 kb). Tato konfigurace a KVM (virtuální stroj) se používá pro malé aplikace, zpravidla napájené z baterie. Programátor musí respektovat paměťová a výkonová omezení těchto zařízení. Cíle konfigurace CLDC: Nízké nároky na zdroje. Mobilní telefony a podobná zařízení jsou vyráběna ve velkém množství (desítky až stovky miliónů kusů ročně). Chce-li výrobce zvýšit svůj zisk, musí hledat cesty, jak minimalizovat cenu za jeden kus. Proto jsou výkonnější procesory a větší paměť instalovány teprve tehdy, až má výrobce jistotu, že budou tyto zdroje smysluplně využity a zákazníci za ně zaplatí. Zaměřit se nikoli na systémové, ale na aplikační programy. CLDC je zamýšlena především jako platforma pro vývoj aplikací. To znamená, že by měla obsahovat především knihovny vyšší úrovně a zároveň by měla být dostatečně obecná a portabilní. Podpořit vývoj aplikací třetích stran. Dříve bylo běžné, že zařízení byla napevno naprogramována z výroby a nebylo možné reagovat na potřeby zákazníků. CLDC se snaží podpořit vznik nových, rozšiřitelných zařízení. Součástí je možnost stahování aplikací bezpečným způsobem přes internetovou síť. Connected Device Configuration (CDC) je určena pro 32 bitová zařízení, obsahující alespoň 2 MB paměti. Příkladem těchto zařízení jsou například navigační systémy do automobilů apod. Jako virtuální stroj je použito CVM (C virtual machine) Cílem konfigurace CDC je podpořit vznik sofistikovanějších aplikací. Díky většímu displeji, výkon, paměťovým možnostem a dostupným knihovnám je možné vytvářet i složité aplikace. 11

12 2.3 Profily Profil definuje typ zařízení a přidává další funkcionalitu. Je postaven nad konfigurací. Pro CLDC jsou definovány dva profily: Kjava Mobile Information Device Profile (MIDP) Pro CDC jsou definovány profily tři: Foundation Profile je určen pro zařízení, která potřebují částečnou, případně kompletní podporu pro J2SE Personal Basis Profile obsahuje totéž co Foundation Profile, navíc přidává část knihovny AWT (Abstract Window Toolkit) Personal Profile pak navíc obsahuje náročnější komponenty AWT a vylepšenou JVM 2.4 Vývoj J2ME aplikací Při návrhu aplikace bychom měli zvážit několik věcí: Jednoduchost. Aplikace na malém zařízení by měla umět jen to, co je pro uživatele nezbytné. Můžeme zvážit, zda větší aplikaci nerozdělíme do několika menších. Menší je lepší. Menší aplikace pochopitelně zabírá menší množství paměti a rychleji se spouští. Můžeme zvážit, zda použijeme kompresi. Minimalizace paměti při běhu. Pro menší paměťové nároky můžeme použít skalární proměnné místo objektů. Dále můžeme pomoci správě paměti přiřazením hodnoty null objektům, které již nebudeme dále potřebovat. Můžeme použít i tzv. línou instanciaci objektů vytváříme je jen tehdy, až když jsou potřeba Co všechno může zpracovat server. Při vývoji mobilních aplikací můžeme část práce přenechat vzdálenému serveru a ke zpracovaným informacím přistupovat přes síť. Volba jazyka. Některá mobilní zařízení jsou schopna spouštět programy pro J2ME i programy napsané v jazyce C/C++. Můžeme tedy volit podle situace. Programy napsané v C/C++ mají zpravidla přístup k funkcím nižší úrovně. Pokud zařízení umožňuje běh více aplikací současně, je možné aplikaci rozdělit do více menších aplikací. Každá pak může být napsána v jiném jazyce. 12

13 2.4.1 Další optimalizace Uveďme příklad optimalizací používaných v J2ME: Lokální proměnné. Je rychlejší přistupovat k lokální proměnné, než k atributu třídy. Proto pokud často přistupujeme k nějakému atributu třídy (například v cyklu), měli bychom si tuto hodnotu napřed uložit v lokální proměnné. Spojování řetězců. Spojování řetězců vede ke zpomalení aplikace a také ke zvyšování paměťových nároků, zejména pokud jsou řetězce dlouhé. Použití vláken. Pokud nějaká akce aplikace trvá déle než 100 ms, je vhodné ji spustit v samostatném vlákně. Uživatel by měl mít vždy dojem, že aplikace běží a vždy by měl mít možnost prováděnou akci ukončit či přerušit. To platí zejména pro navazování komunikaci přes internetové spojení apod. Použití MVC modelu. Je vhodné rozdělit aplikaci na model, zobrazení a ovládání. Usnadníme si tak modifikaci aplikace v budoucnu. V každém případě bychom neměli slučovat model (data a jejich správu) se zobrazováním Struktura programu J2ME V této sekci si popíšeme, jaké třídy potřebujeme pro vývoj aplikace a ukážeme kostru aplikace. Konfigurace CLDC obsahuje následující balíky tříd: java.io vstup a výstup pomocí datových proudů java.lang základní třídy jazyka java (Integer apod.) java.util kolekce a funkce pro čas a datum javax.microedition.io obecné funkce pro konektivitu Sami vidíme, že pro psaní použitelných programů, zejména takových, které by komunikovali s uživatelem, nám samotné CLDC nestačí. Další funkcionalitu nám poskytuje profil MIDP. Balíky tříd MIDP 2.0: javax.microedition.lcdui - uživatelský interface javax.microedition.rms - persistence dat javax.microedition.midlet - životní cyklus aplikace javax.microedition.io - síťové funkce javax.microedition.media - audio javax.microedition.pki - autentizace 13

14 Základní programovou jednotkou v J2ME je tzv. midlet. Pomocí midletu jsme schopni řídit životní cyklus aplikace. Aplikaci vytváříme tak, že nejprve vytvoříme potomka třídy MIDlet a předefinujeme některé jeho metody. Prázdný midlet by mohl vypadat takto: import javax.microedition.midlet.*; public class MainMidlet extends MIDlet { public void startapp() { public void pauseapp() { public void destroyapp(boolean unconditional) { Midlet se může nacházet v několika stavech, přičemž programátor může na každý stav reagovat. Midlet mezi těmito stavy přechází buď následkem vnější události (uživatel přerušil běh aplikace apod.), nebo na žádost programu. Stavy v životním cyklu midletu: Paused. Midlet je inicializován a neběží. V tomto stavu by neměl držet žádné zdroje Active. Midlet běží normálním způsobem. Destroyed. Midlet uvolnil držené prostředky a neběží. Do tohoto stavu se lze dostat pouze jednou. pauseapp midlet by měl uvolnit všechny zdroje startapp destroyapp notifydestroyed notifypaused resumerequest getappproperty Tabulka 1: MIDlet interface midlet by měl alokovat zdroje a pokračovat v běhu midlet by měl uložit svůj stav a uvolnit alokované zdroje touto metodou dává midlet upozornění řídícímu software, že zdroje uvolnil a je připraven ukončit činnost midlet dává upozornění řídícímu software, že přešel do stavu Paused midlet žádá řídící software o opětovné spuštění dotaz na vlastnosti běhového prostředí 14

15 new( ) Paused destroyapp( ) pauseapp( ) startapp( ) Destroyed Active Obrázek 6: Životní cyklus midletu Sestavení aplikace K sestavení programu je potřeba několik kroků: destroyapp( ) Přeložení zdrojového kódu kompilátor používáme stejný jako pro J2SE programy. Rozdíl je pouze v tom, že musíme zadat cestu ke knihovnám zvolené platformy. Výsledkem jsou class soubory. javac -bootclasspath \midp\classes MainMidlet.java Preverifikace oproti J2SE je potřeba jeden krok navíc. Verifikace je proces, při kterém se ověřuje korektnost a správné chování class souborů vůči JVM. Problém je v tom, že tento proces je náročný na paměť, které se mobilním zařízením nedostává. CLDC definuje dvoufázový proces, který tento nedostatek odstraní: 1. Class soubory jsou preverifikovány mimo zařízení. Je provedeno několik kontrol a do class souboru se přidá informace, která umožní rychlé ověření tohoto kroku 2. Na mobilním zařízení se při načítání class souboru verifikace dokončí. Pokud class soubor neprojde kontrolou, potom je zamítnut. 15

16 Sestavení jar archivu jar archiv kromě zmíněných class souborů může obsahovat i další soubory. Aby byla aplikace funkční, vyžaduje navíc dva speciální textové soubory - manifest a deskriptor. Manifest je soubor META-INF/manifest.mf a je přibalený k aplikaci v jar archivu. Deskriptor je soubor pojmenovaný jako jar archiv, jen s tím rozdílem, že má příponu jad. V obou souborech jsou uloženy informace o aplikaci, autorovi a parametry nutné pro její běh. Název atributu MIDlet-Name MIDlet-Version MIDlet-Vendor MIDlet-Icon MIDlet-Description MIDlet-Info-URL MIDlet-<n> MIDlet-Jar-URL MIDlet-Jar-Size MIDlet-Data-Size Popis název midletu verze dodavatel aplikace cesta k ikoně midletu popis aplikace url s dalšími informacemi čárkami oddělený seznam midletů v aplikaci url pro stažení jar souboru velikost jar souboru kolik paměti aplikace potřebuje k uložení své konfigurace MicroEdition-Profile požadovaný profil (MIDP 2.0) MicroEdition-Configuration požadovaná konfigurace (CLDC 1.1) Tabulka 2: Přehled povinných a volitelných parametrů Dále aplikace může zahrnovat multimediální data, tedy její součástí mohou být obrázky, zvuky, písničky apod. Tyto soubory jsou stejně jako class soubory součástí výsledného jar archivu. K vytvoření jar archivu použijeme program jar: jar cvmf manifest jarfile [ -C dir ] inputfiles [ -Joption ] Volitelné kroky při sestavení aplikace: V MIDP 2.0 byla zavedena možnost digitálního podpisu aplikace. Podle toho, zda aplikace podpis obsahuje či neobsahuje, rozlišujeme aplikace na důvěryhodné a 16

17 nedůvěryhodné. S aplikacemi používající MIDP 1.0 se nakládá jako s nedůvěryhodnými aplikacemi. Rozdíl mezi nimi je v tom, že nedůvěryhodné aplikace mají omezen přístup k některým funkcím, případně vyžadují k některým akcím explicitní souhlas uživatele. Jedná se o funkce pro vytváření komunikačních spojení (což je zpravidla placená funkce), zápis do souboru a další. Jak přesně a přísně je možné tato omezení aplikaci nastavit záleží do jisté míry na výrobci zařízení. Pro zmenšení velikosti výsledného jar archivu můžeme použít obfuskátor a různé optimalizační a kompresní programy. 2.5 MIDP API Nyní se již můžeme pustit do tvorby samotné aplikace. První věcí, kterou bychom si měli ujasnit, je co všechno by naše aplikace měla umět. Pokud toto máme, musíme se rozhodnout, jakého typu naše aplikace bude. Existují dvě základní možnosti: Aplikace většinu času čeká na vstup uživatele. V takovém případě zpravidla použijeme pro uživatelské rozhraní funkce vyšší úrovně (high-level API). Máme na výběr komponenty typu text, seznam, formulář, příkazy v menu a několik dalších. Protože nemáme kontrolu nad tím, jak komponenty vypadají, výrobce má možnost aplikovat různá uživatelská schémata barvy, okraje apod. Všechny aplikace napsané s použitím high-level API pak vypadají na jednom mobilním zařízení stejně. Aplikace dynamicky reaguje na akce uživatele. Takové aplikace neustále mění obsah displeje (např. hry) a při jejich tvorbě často používáme funkce nižší úrovně. Jsou to funkce například pro kreslení grafických primitiv na displej, testování stavu klávesy a další. Obrázek 7: Vztah mezi komponentami MIDP 17

18 2.5.1 High-Level API Při spouštění midletu je třeba vytvořit hlavní obrazovku. Docílíme toho tak, že vytvoříme instanci některého potomka třídy Screen, nastavíme jeho vlastnosti a takto získaný objekt nastavíme jako aktuální obrazovku naší aplikace: public void startapp() { List list = new List(...) Display.getDisplay(this).setCurrent(list); Při tvorbě aplikace pomocí high-level API používáme sadu komponent. Pojďme se na tyto komponenty podívat podrobněji: Alert je obrazovka, jejímž účelem je informovat uživatele o nějaké události (chyba či jiná významná událost) Může obsahovat text, nadpis a volitelně i obrázek. Po zobrazení alertu se čeká zadanou dobu a poté se zobrazí zadaný objekt typu Displayable. Alert může být modální či nemodální a také je schopen zobrazovat zvolený indikátor průběhu. Alert také může upozornit uživatele zvukovým efektem. List je obrazovka, která umožňuje vybírat položku z několika variant. Varianta EXCLUSIVE dovolí vybrat právě jednu položku, varianta MULTIPLE několik. TextBox je obrazovka umožňující uživateli zadat textový řetězec. Jeho délka je omezená a na řetězec mohou být kladeny speciální omezení, jako například možnost vkládat pouze číslice, URL apod. Form je obrazovka sdružující několik dalších komponent. S její pomocí můžeme vytvářet formuláře pro zobrazování a zadávání údajů. Můžeme použít následující formulářové komponenty: ChoiceGroup položka, jejímž účelem je vybírat jednu nebo několik možností ze seznamu, podobně jako u obrazovky List. DateField slouží k zadávání datumu, času, případně pro obojí. Gauge zobrazuje sloupec pro zadání celočíselné hodnoty. ImageItem zobrazuje obrázek, může sloužit i jako odkaz. Můžeme zvolit zarovnání obrázku vzhledem k textu, případně vynutit zalomení textu před a za obrázkem. StringItem zobrazuje textový řetězec, případně tlačítko. Obsahuje nadpis a může fungovat jako odkaz. TextField zobrazuje řádek pro editaci textu. Podobně jako u obrazovky TextBox můžeme zadat omezení na zadávaný text. 18

19 ANY libovolný text nepřesahující maximální délku ADDR platná ová adresa NUMERIC celočíselná hodnota PASSWORD zadání tajného kódu, zobrazuje hvězdičky místo znaků PHONENUMBER telefonní číslo v platném formátu URL korektní URL Tabulka 3: Omezení na zadávaný text Všechny obrazovky mohou obsahovat příkazy (commands). Existuje jich několik typů a je na výrobci zařízení, jak zajistí jejich zobrazení. Mobilní zařízení může mít různá speciální tlačítka, např. pro akci Zpět a Konec. Proto jsou tyto věci ponechány na zvážení výrobci. Programátor musí jen každé akci přiřadit její typ. Máme opět několik možností: Command.BACK příkaz určený pro návrat na předchozí obrazovku Command.CANCEL negativní odpověď na dotaz Command.EXIT ukončení aplikace Command.HELP akce zobrazující nápovědu Command.ITEM položka zařazená k explicitní položce Command.OK potvrzující odpověď Command.SCREEN akce specifická pro obrazovku Command.STOP akce přerušující probíhající proces Pro ilustraci použití MIDP jsem vytvořil ukázkovou aplikaci MidletTest.Tato aplikace zobrazuje většinu komponent MIDP, včetně jejich různého nastavení. 19

20 Následující zdrojový kód ilustruje vytvoření základní obrazovky aplikace: /* * NavigationScreen.java */ package com.xstu.midlettest; import javax.microedition.lcdui.command; import javax.microedition.lcdui.commandlistener; import javax.microedition.lcdui.display; import javax.microedition.lcdui.displayable; import javax.microedition.lcdui.list; import javax.microedition.midlet.midlet; /** * xstursa */ public class Navigation extends List implements CommandListener { private MIDlet midlet = null; private Command cmdexit = null; private Command cmdselect = null; /** Creates a new instance of NavigationScreen */ public Navigation(MIDlet midlet) { super("menu", List.IMPLICIT); this.midlet = midlet; // init commands cmdexit = new Command("Exit", Command.EXIT, 1); cmdselect = new Command("Select", Command.ITEM, 1); addcommand(cmdexit); setselectcommand(cmdselect); setcommandlistener(this); // create items append("alerts", null); append("textbox", null); append("textfields", null); append("choicegroups", null); append("list - exclusive", null); append("list - multiple", null); append("miscellaneous", null); append("properties", null); public void commandaction(command command, Displayable displayable) { if(command == cmdexit) { midlet.notifydestroyed(); return; if(command == cmdselect) { int index = getselectedindex(); switch(index) { case 0: 20

21 Display.getDisplay(midlet).setCurrent( new AlertTest(midlet, this)); break; case 1: Display.getDisplay(midlet).setCurrent( new TextBoxTest(midlet, this)); break; case 2: Display.getDisplay(midlet).setCurrent( new TextFieldsTest(midlet, this)); break; case 3: Display.getDisplay(midlet).setCurrent( new ChoiceGroupTest(midlet, this)); break; case 4: Display.getDisplay(midlet).setCurrent( new ListTest(midlet, this, List.EXCLUSIVE)); break; case 5: Display.getDisplay(midlet).setCurrent( new ListTest(midlet, this, List.MULTIPLE)); break; case 6: Display.getDisplay(midlet).setCurrent( new MiscTest(midlet, this)); break; case 7: Display.getDisplay(midlet).setCurrent( new Info(midlet, this)); break; V kódu vytvářím nejprve dvě akce cmdselect a cmdexit. Poté, co tyto akce přiřadím k obrazovce (potomek třídy List), vytvořím několik položek a výběr položky svážu s akcí cmdselect. Pokud uživatel zvolí akce cmdexit, dojde ukončení aplikace, pokud zvolí některou položku, vytvoří se nová obrazovky a nastaví se jako aktuální. Součástí programu MidletTest je i výpis všech podstatných vlastností (properties) běhového prostředí. Programátor pomocí nich může zjistit například typ telefonu, kódování textu, informace o podporovaných multimediálních souborech a mnohé další, viz příloha 1. 21

22 Ukázka MIDP komponent, jak jsou zobrazeny v emulátoru: 22

23 2.5.2 Low-level API Na rozdíl od high-level API máme plnou kontrolu nad tím, co se vykresluje na displej. Základními třídami jsou Canvas a Graphics. import javax.microedition.lcdui.*; class ExampleCanvas extends Canvas { public void paint (Graphics g) { g.setcolor (255, 0, 0); g.drawline (0, 0, 50, 200); g.setcolor(0, 0, 255); g.fillrect (20, 10, 50, 30); Vytvoříme-li instanci ExampleCanvas a přiřadíme-li ji pomocí Display.getDisplay(this).setCurrent(ecanvas); na obrazovku, nakreslí se nám červená čára a modrý obdélník. Samozřejmě se musíme postarat i o to, co je nakresleno na pozadí. Metody třídy Graphics nám umožňují vykreslit: obrázek obdélník vyplněný barvou nebo jen okraj obdélník s kulatými rohy vyplněný barvou nebo jen okraj úsečku kruhovou výseč text Dále máme k dispozici funkce pro ořez, translaci a několik dalších. 23

24 2.5.3 Ostatní API Kromě tříd MIDP profilu může aplikace používat funkce, které jsou součástí volitelných balíků. Jejich přítomnost či nepřítomnost je vhodné určit pomocí properties a při startu aplikace informovat uživatele, pokud nebylo nalezeno to, co aplikace očekává. Volitelné balíky: J2ME XML/RPC Java Card RMI API File Connection API Java API for Bluetooth Connection MMAPI Mobile 3D Graphics Optional Package SVG API a mnohé další, specifické například pro telefony značky Nokia. 24

25 2.6 Grafická uživatelská rozhraní pro vývoj mobilních aplikací Vytváření aplikací pomocí high-level API MIDP profilu má několik nevýhod. Tou první je skutečnost, že aplikace mohou na různých zařízeních vypadat odlišně. Další problém je to, že nemůžeme přidávat svoje specifické komponenty. Proto se v poslední době začínají uplatňovat knihovny pro tvorbu uživatelského rozhraní, které jsou postaveny z velké části na low-level API. Mobilní zařízení jsou dnes již tak výkonná, že rozdíl například v rychlosti je velmi malý. Uživatel tak může používat aplikace s líbivým vzhledem. Protože se jedná o relativně novou oblast, většina těchto knihoven není úplně vyzrálá. Přesto existují i dobře použitelné knihovny, bohužel jsou většinou docela drahé. Knihovny se liší též požadavky na verzi MIDP a CLDC. Novější knihovny vyžadují alespoň MIDP 2.0. Představme si některé z nich J2ME Polish J2ME Polish je ucelený programový balík pro tvorbu mobilních aplikací. Odděluje model aplikace od designu a pro nastavení vzhledu používá klasické CSS soubory. Programátor při tvorbě aplikace používá převážně high-level API, ale může použít i nové komponenty, jako například TabbedForm nebo TreeItem. Pomocí direktivy #style ve zdrojovém kódu se propojí kód s designem a následně se vzhled aplikace specifikuje pomocí CSS souboru. V CSS souboru můžeme definovat vzhled komponent, například barvu pozadí položek seznamu apod. Příklad definice stylu:.mystyle { font-color: white; font-style: bold; font-size: large; font-face: proportional; background-color: black; Tímto stylem jsme nastavili barvu, pozadí a písmo komponenty. Kromě direktivy #style ve zdrojovém kódu můžeme použít v CSS obecné identifikátory, např. p pro textové komponenty, a pro odkazy a další. J2ME Polish podporuje CSS box model, tedy můžeme nastavovat okraje, zarovnání, odsazení a další parametry (margin, border, padding). Styly se dále mohou vytvářet hierarchie a dědit své vlastnosti. K tomu slouží klíčové slovo extends, např.:.basestyle { font-color: black; 25

26 .mystyle extends basestyle { background-color: red; font-color: white; Pomocí CSS můžeme komponentám nastavit celou řadu vlastností. Můžeme je rozdělit do skupin podle účelu: barvy písma pozadí okraje zbytek Kromě GUI nám J2ME Polish nabízí i další, pomocné funkce. Jedná se například o funkce pro ukládání dat do RMS (konfigurační paměť aplikace), funkce usnadňující lokalizaci aplikace do více jazyků a funkce pro vzdálené volání procedur. Sestavení aplikace je řízeno pomocí nástroje Ant, souboru build.xml a má několik kroků: výběr zařízení, pro která budeme aplikaci sestavovat zpracování zdrojů preprocesing zdrojového kódu a optimalizace pro dané zařízení kompilace optimalizace pomocí obfuskátoru preverifikace vytvoření souborů jar a jad J2ME Polish má dva druhy licence. Pro nekomerční použití se jedná o GPL, pro komeční využití má svoji vlastní. Licence pro jednu komerční aplikaci stojí kolem jednoho tisíce euro. Chystá se však možnost použít tuto knihovnu za určitých okolností zdarma. Obrázky výsledné aplikace J2ME Polish, lišící se pouze v CSS stylu a ikonách: 26

27 2.6.3 Light-weight visual component library LwVCL je zajímavý projekt, který zahrnuje několik programovacích jazyků a platforem. Tato GUI knihovna se snaží být řešením pro tvorbu uživatelských rozhraní pro J2SE, SWT, Microsoft.NET, je vypracován koncept i pro J2ME a dá se portovat např. do jazyka Python. Je to možné díky použití velké míry abstrakce při návrhu knihovny. Vlastnosti knihovny LwVCL: Vrstvená architektura. Komponenty uživatelského rozhraní mají slabé vazby na konkrétní platformu, což usnadňuje portování knihovny na další platformy. Malá velikost. Knihovna je velká přibližně 200 kb, což ji činí vhodnou pro zařízení PDA (CDC + Personal Profile, Windows Mobile) Přes třicet komponent uživatelského rozhraní. Knihovna poskytuje jednoduché i komplexní prvky UI, jako například tabulky, stromové struktury a mnohé další. Optimalizace paměti a nároků na procesor. MVC přístup. Knihovna je navržena s ohledem na koncept modelview-controller. Odděluje od sebe tedy design, model a ovládání. Rozšiřitelnost. Je možné přidávat další komponenty. Autor knihovny vytvořil i variantu pro J2ME MIDP profil. Některé komponenty bylo nutné kvůli možnostem zařízení upravit a bohužel se nejspíš dále rozvíjet na této platformě nebude. Důvodem je nízký zájem uživatelů a určitá omezení MIDP API. Přesto je k dispozici zdrojový kód pro libovolné účely. Obrázky aplikace vytvořené v LwVCL pro MIDP: Obrázek 8: J2ME varianta ukázkového programu Obrázek 9: J2SE varianta stromu 27

28 2.6.4 MicroEWT MicroEWT je nová knihovna pro tvorbu uživatelských rozhraní, stále označovaná jako beta verze. Pro běh aplikace vyžaduje MIDP 2.0 a CLDC 1.1 a je distribuována pod licencí GPL. Pro komerční účely existuje speciální licence. Vlastnosti knihovny: Zachovává podobné rysy jako známé knihovny AWT nebo Swing. Vzhled je oddělen od komponent UI, umožňuje definovat vlastní vzhled aplikace, nebo dokonce jen její části. Obsahuje funkce pro kreslení bitmapových fontů. Podpora pro lokalizaci aplikace. Respektuje omezení typických J2ME zařízení. Událostmi řízené interakce. Podpora pro volně umístěná okna. Možnost použít celou obrazovku (fullscreen) nebo jen část (menu se pak vykreslí pomocí komponent high-level API). Knihovna MicroEWT mne zaujala především tím, že umožňuje používat okna. Tato okna je možné zavírat, případně maximalizovat, podobně jako u aplikací na PC. I když si nemyslím, že to je vždy vhodný způsob na zařízení s tak malým displejem, možnost je to zajímavá. Knihovna též obsahuje velmi zajímavý systém rozvržení komponent (layouting). Obrázky: 28

29 2.6.5 Paxmodept GUI Jako posledního zástupce knihovny pro tvorbu uživatelských rozhraní jsem si vybral velice zajímavou knihovnu od firmy Paxmodept. Stejně jako mnoho jiných vývojářů nebyli autoři této knihovny spokojeni se současným stavem v oblasti GUI pro J2ME a rozhodli se udělat knihovnu vlastní. Jejich cílem bylo vytvořit příjemně vypadající rozhraní se sladěnými barvami, přičemž se inspirovali, tak jako většina, knihovnami Swing a AWT. Výsledkem je použitelně vypadající produkt. Zatím byla vydána ukázková verze, na knihovně se stále ještě pracuje. Několik obrázků: Shrnutí Se vznikem a rozšířením nových mobilních telefonů vzniká potřeba vytvářet aplikace příjemné na pohled. Jak jde kupředu vývoj v oblasti hardware, možnosti mobilních zařízení se zvětšují a objevují se nové možnosti, jak řešit interakci mezi člověkem a aplikací na mobilním telefonu. V oblasti J2ME zařízení se kromě tradičního rozhraní objevují specializované knihovny, snažící se řešit jeho nedostatky. Především omezené množství komponent a archaický vzhled. 29

30 Tyto knihovny mají řadu společných rysů. Všechny nějakým způsobem vychází z uživatelského rozhraní na PC, obsahují tedy podobné komponenty (tlačítko, zatržítko, panel, apod.). Dále se musí vyrovnat s velikostí displeje přenosných zařízení, s možnostmi ovládání (tlačítka, případně pero) a s výkonovými možnostmi zařízení. Cílem pochopitelně je, aby daná knihovna byla použitelná pro co nejvíce uživatelů. Protože je jedním z cílů příjemný vzhled, knihovny do různé míry umožňují měnit svůj styl a nastavení. Knihovny se liší některými speciálními funkcemi, jako například možnost otočit obraz o 90 stupňů, možnostmi rozvržení komponent a jejich propracovaností. 30

31 3. Vlastní knihovna pro tvorbu GUI na mobilních telefonech Přestože vzniká vícero knihoven pro tvorbu GUI, žádná mi úplně nevyhovuje. Proto jsem se rozhodl, že vytvořím knihovnu vlastní. Vlastnosti: Určena pro profil MIDP 2.0 a konfiguraci CLDC 1.1. MIDP 2.0 má oproti MIDP 1.0 navíc zejména lepší podporu pro zobrazování obrázků, kreslení grafických primitiv a umožňuje zobrazit aplikaci přes celý displej zařízení. Těchto vlastností jsem se rozhodl využít. Základní sada komponent pro tvorbu aplikace. Snažil jsem se o minimalizaci počtu ovládacích prvků. Pokud jich bude v budoucnu potřeba více, bude je možné doplnit. Základní sada je ovšem rozšiřitelná o uživatelské komponenty. Událostmi řízená interakce s uživatelem. Každá komponenta může reagovat na několik akcí vyvolaných uživatelem. Akce se vyvolá například pokud komponenta získá zaměření, změní svůj stav apod. Rozmístění komponent. Snažil jsem se o vhodný layoutovací mechanismus, implementoval jsem několik variant. Alerty. Pro pozornění uživatele na událost jsem implementoval několik druhů výstražných/informačních oken. 3.1 Model knihovny Knihovna se skládá z několika tříd. Podstatné jsou následující: Constants.java několik konstant identifikující akce. Frame.java základní třída, aplikace vytváří potomka této třídy. Jejím účelem je sdružovat panely aplikace a uchovávat informace o akutálním stavu. Panely mohou ležet ve třech vrstvách. Třída poskytuje funkce pro vkládání panelů do vrstev a jejich vykreslování. Další metody slouží k inicializaci aktivního ovládacíh prvku na všech panelech aplikace a pro layouting. Frame obsahuje atribut paintmask, kterým můžeme zakázat vykreslování některých vrstev. Atribut shadeenabled pak říká, jestli mezi vrstvami kreslit poloprůhlednou vrstvu. FrameBasicControl.java tato třída řídí umísťování panelů do vrstev. Předpokládá se, že v aplikaci můžeme zobrazit zároveň maximálně tři vrstvy - hlavní panel, levé menu, pravé menu nebo pop-up panel a alert.tato třída si uchovává informaci o tom, které vrstvy jsou obsazené kterým panelem. InputHandler.java účelem této třídy je zpracovávat tlačítka, převádět je na akce a o vzniklé akci informovat aktivní komponentu. 31

32 public void handlekey(int keycode) { int key = keycode; int action = frame.getgameaction(keycode); if(action == frame.up) key = frame.key_num2; else if(action == frame.down) key = frame.key_num8; else if(action == frame.left) key = frame.key_num4; else if(action == frame.right) key = frame.key_num6; else if(action == frame.fire) key = frame.key_num5; else if(keycode == Constants.ACTIONKEY_LEFT) key = frame.key_num1; else if(keycode == Constants.ACTIONKEY_RIGHT) key = frame.key_num3; if(!frame.handleglobalkey(key)) return; if(key == frame.key_num4) { frame.getnavigator().selectnext(true); else if(key == frame.key_num6) { frame.getnavigator().selectnext(false); else if(key == frame.key_num2) { Widget aw = frame.getactivewidget(); if(aw!= null && (aw instanceof ActionListener)) { ((ActionListener) aw).actionperformed( null, Constants.ACTION_UP); else if(key == frame.key_num8) { Widget aw = frame.getactivewidget(); if(aw!= null && (aw instanceof ActionListener)) ((ActionListener) aw).actionperformed( null, Constants.ACTION_DOWN); else if(key == frame.key_num5) { Widget aw = frame.getactivewidget(); if(aw!= null && (aw instanceof ActionListener)) ((ActionListener) aw).actionperformed( null, Constants.ACTION_FIRE); else { AbstractPanel ap = frame.getactivepanel(); if(ap!= null && ap instanceof KeyListener) ((KeyListener) ap).keypressed(null, key); Pokud uživatel stiskne směrovou klávesu, převedeme ji na kód klávesy 0 9. Díky tomu se vyhneme některým problémům s kompatibilitou. Dále pak už můžeme pracovat jen s kódy kláves, které jsou vždy definovány (0-9, hvězdička, křížek). Pokud uživatel stiskne 2 nebo 6, znamená to, že chce vybrat komponentu před nebo za současně aktivní komponentou. Pomocí objektu třídy Navigator příslušnou komponentu najdeme a vybereme ji. Pokud uživatel stiskne 8, 5 nebo 2, vyvoláme v aktivní komponentě akci ACTION_UP, ACTION_DOWN nebo ACTION_FIRE. 32

33 MIDPTextBoxInput.java pokud některá komponenta knihovny vyžaduje textový vstup, je vhodné tento text nejprve přijmout komponentou MIDP TextBox a pa k tento text v komponentě vykreslit. Navigator.java tato třída řeší vyhledávání komponent v hierarchii panelů Style.java abstraktní třída, definuje vlastnosti stylu aplikace public abstract Font getfont(); public abstract Font getboldfont(); public abstract int getbuttonborderwidth(); public abstract int getpanelborderwidth(); public abstract Image getimginfo(); public abstract Image getimgquestion(); public abstract Image getimgexclamation(); public abstract Image getimgyes(); public abstract Image getimgno(); public abstract int [] getcolorsscrollline(); public abstract int [] getcolorsscrollbar(); public abstract Image getimgitemshade(); public abstract Image getimggroupcolapsed(); public abstract Image getimggroupuncolapsed(); public abstract Image getimggroupempty(); public abstract Image getimgprogress(); public abstract Image getimgup(); public abstract Image getimgdown(); public abstract int getcolor(int id); public abstract void drawbuttonborder(graphics g, int x, int y, int w, int h, boolean active); public abstract void drawbuttonbackground(graphics g, int x, int y, int w, int h, boolean active); public abstract void drawpanelbackground(graphics g, int x, int y, int w, int h); public abstract void drawpanelborder(graphics g, int x, int y, int w, int h); 33

34 Kromě metod, které vrací obrázky, písma, rozměry a barvy deklaruje metody pro vykreslení okraje a pozadí panelu a tlačítka. Potomek této třídy může dle uvážení použít různě složité metody vykreslování, od jednoduché čáry až po bitmapové výplně. Protože všechny komponenty pro své pozadí a okraj používají jednu z těchto dvou variant, změna v těchto metodách ovlivní celkový vzhled. Canvas Frame FrameBasic Control Hierarchy Navigator InputHandler AbstractPanel Component SpacerPanel Panel Widget LabelSimple Button ChoiceList a další 34

35 3.2 Implementace modelu Přestože existují knihovny pro parsování XML pro J2ME, mají docela vysoké nároky na paměť. Proto jsem vzhledem k možnostem zařízení zvolil efektivnější způsob, a to binární formát. Atributy komponent je možné načítat pomocí třídy DataInputStream. Příklad: ImageBox.java komponenta zobrazuje obrázek, má atributy img, tiled, offsetx a offsety. Načtení z binárního souboru lze provést metodou: public void initfromstream(datainputstream dis) throws IOException { String path = dis.readutf(); this.img = Utils.loadImage(path); this.tiled = dis.readboolean(); this.offsetx = dis.readint(); this.offsety = dis.readint(); Sada komponent Implementoval jsem následující komponenty: Obrázek 10: Příklad aplikace Button můžeme nastavit ikonu a zarovnání textu. Checkbox klasické zatržítko ImageBoxScaled zobrazí obrázek, možnost zarovnání svisle i vodorovně, je možné obrázkem vyplnit plochu 35

36 ImageBoxScaled vybere největší obrázek, který se vejde do prostoru, a zobrazí jej. ImageBoxAnim jednoduchá animace. ScrollBar vertikální a horizontální posuvník Choice výběr z možností List výběr z možností, víceřádková komponenta TextArea pro výpis a zadávání textu TextField textové pole Tree pokročilejší komponenta pro zobrazení hierarchie LabelSimple - popisek LabelFull popisek s ikonou, barvami apod. Alerty slouží k upozornění uživatele na událost. Několik typů: INFO pouze informuje WARNING varování EXCLAMATION vykřičník PROGRESS a PROGRESS_WITH_CANCEL zobrazují průběh Alerty také přehrávají příslušný zvuk (závislé na zařízení) 36

37 4. Ukázková aplikace Mapa Brna Jako ukázkovou aplikaci pro použití mojí knihovny jsem zvolil offline mapu Brna. Myslím, že to je užitečná aplikace a není mi známo, že by podobná aplikace pro J2ME existovala. Samozřejmě existují různé online aplikace, jako například Google Maps, ty však vyžadují připojení k internetu. Vlastnosti aplikace: Všechna data jsou součástí jar archivu. Aplikace nevyžaduje internetové připojení. Aplikace zobrazuje mapu uloženou jako dlaždice ve formátu PNG. Zdálo se mi vhodné použít tento způsob, než například používat vektorový formát. Mapa primárně není určena k navigaci po silnici, proto jsem dal přednost tomuto. Snadné vyhledávání brněnské ulice. Aplikace je schopna vyhledat brněnskou ulici podle názvu. Ukládání význačných bodů. Uživatel může uložit několik bodů na mapě do konfigurační paměti. Měření vzdálenosti a úhlů. Aplikace je schopna změřit vzdálenost vyznačené trasy a zobrazit azimut mezi jednotlivými úseky. Ukládání tras. Kromě bodů je možné ukládat do konfigurační paměti také trasy. Body zájmu. Aplikace obsahuje několik kategorií význačných bodů (hotely, bankomaty apod.) GPS. Je možné zobrazit přibližnou polohu v souřadnicích GPS. Aplikace je připravena na přidání podpory pro připojení GPS modulu (přes rozhraní Bluetooth). Slunce. Známe-li polohu slunce (azimut), můžeme mobilní telefon správně natočit na sever. Tato funkce není použitelná, pokud je například zamračeno nebo tma. Mapové podklady jsou použity se svolením DPA s.r.o. 4.1 Příprava dat Aplikace používá několik datových zdrojů, které musíme správně sestavit. Za tímto účelem bylo nutné vytvořit několik doplňkových programů. Prvním typem dat jsou mapové dlaždice. Jsou to obrázky typu PNG, jejichž výška i šířka je 256 pixelů. Aplikace umožňuje přibližování a oddalování mapy, proto je nutné mít dlaždice připravené pro několik přiblížení. Tyto dlaždice jsou umístěny ve složkách z0, z1 a z2. Máme tedy 3 úrovně. 37

38 Obrázek 11: Pokrytí oblasti dlaždicemi Všechny dlaždice mají stejnou šířku a jsou pojmenovány číslem. Máme-li v nejvyšší úrovni (z0) dlaždici s názvem 78_57.png, po přiblížení budeme chtít zobrazit některé ze 4 dlaždic z úrovně z1. Tyto dlaždice budou mít název odvozený z dvojnásobku číselného označení v úrovni z0, tedy 156_114.png, 157_114.png, 156_115.png a 157_115.png. Informace o ulicích je uložena v souboru index.dat. Je to klasický příklad indexového souboru. Protože vyhledáváme podle prvních dvou písmen, obsah tohoto souboru vypadá takto: A B C D... A B C D... název, souřadnice název, souřadnice název, souřadnice první písmeno druhé písmeno bod na mapě a jeho souřadnice Posledním typem použitého datového souboru je informace o bodech zájmu. Ke každé dlaždici potřebujeme mít seznam bodů, které v oblasti dané dlaždice leží. Aby tento způsob byl efektivní, těchto bodů v dlaždici musí být vhodný počet. Jestliže je bodů v oblasti dlaždice málo, znamená to, že dlaždice je příliš malá. Pokud je jich hodně, je příliš velká. Musíme zvolit kompromis mezi počtem dlaždic a velikostí jejich oblasti. Je to proto, že pro prohledávání okolí musíme projít všechny body v dlaždici, což pro více než 50 bodů zájmu na dlaždici velmi zpomaluje odezvu programu. 38

39 V aplikaci používám dva druhy souřadnic. Prvním druhem je pozice v pixelech. Pokud znám úroveň přiblížení, mohu dopočítat názvy obrázků, které potřebuji zobrazit na displej. Druhým typem je souřadnice v metrech od nějakého místa na mapě. Pro převod mezi nimi používám lineární interpolaci. Konstanty pro tento převod a několik dalších informací uchovávám v souboru config.dat Data assembler Tento program vytvoří všechny potřebné soubory, vybere z úložiště obrázky pro zvolenou oblast a počet úrovní přiblížení, vytvoří seznam ulic, které se ve zvolené oblasti nacházejí a vytvoří soubor s indexem. Dále vytvoří seznam bodů zájmu v této oblasti a vytvoří příslušné datové soubory. Než spustíme proces vytváření datových souborů, musíme provést určitá nastavení, viz soubor Main.java v projektu dataassembler. Nejprve zadáme cesty k souborům s body zájmu. Tyto textové soubory obsahují řádky ve tvaru Název;souřadniceX;souřadniceY. String poibrnopaths[] = new String[7]; poibrnopaths[0]="/seznamy/old1000/bankomatybrno/result2"; // Jak se budou jmenovat datové soubory s body zájmu String poibrnonames [] = {"bankomaty", "cerpaci", "hotely", "mhd", "nakup", "pohostinstvi", "ulice"; // Název a verze Configuration config3 = new Configuration("mapaBrno3", 1001); // Konstanty pro převod pixelů do globálních souřadnic. int [] coordmap3 = { , , 61, 2882, , , 466, 2653, , , , ; // Kolik máme úrovní přiblížení, jakou oblast budeme zpracovávat (počátek a počet dlaždic) config3.setlevels(3, 78, 57, 3, 3); config3.setcoordmap(coordmap3); // Cesty k dlaždicím String [] levelimgpaths3 = new String[3]; levelimgpaths3[0] = "/home/xstursa/projects/mapy/res/podklady/brno16"; levelimgpaths3[1] = "/home/xstursa/projects/mapy/res/podklady/brno8"; levelimgpaths3[2] = "/home/xstursa/projects/mapy/res/podklady/brno4"; // Cesta k náhledovému obrázku String globalthumbpath3 = "globalthumb-brnocrop.png"; // Optimalizace počtu bodů zájmu na dlaždici. int poibrnofactors3 [] = {1, 2, 1, 1, 1, -1, -1; Assembler ass3 = new Assembler("mapy/res/assembled/", config3, levelimgpaths3, globalthumbpath3, citylistpath3, poibrnopaths, poibrnonames, poibrnofactors3); 39

40 // Spuštění ass3.process(); Vytvoří se složka mapabrno3 a v ní soubory: z0/, z1/, z2/ config.dat index.dat bankomaty.dat, hotely.dat, mhd.dat, pohostinstvi.dat, cerpaci.dat, nakup.dat, ulice.dat globalthumb.png Tile create složky s dlaždicemi pro jednotlivé úrovně přiblížení: informace o verzi, názvu, konstanty pro převod souřadnic a další parametry ulice a index podle počátečních dvou písmen soubory s body zájmu náhledový soubor mapy Tato jednoduchá aplikace slouží k rozřezání velkého obrázku na dlaždice o velikosti 256 pixelů public static void main(string[] args) throws IOException { String path = "brno4half.png"; String out = "brno4half/"; BufferedImage inimg = ImageIO.read(new File(path)); int w = inimg.getwidth() / 256; int h = inimg.getwidth() / 256; Graphics g = inimg.getgraphics(); for(int i = 0; i < w; i++) { for(int j = 0; j < h; j++) { BufferedImage subimg = inimg.getsubimage( i*256, j*256, 256, 256); ImageIO.write(subImg, "png", new File(out + i + "_" + j + ".png")); System.out.println(i); 40

41 4.1.3 Tile merge Opačný proces, dlaždice v daném rozsahu spojí v jeden soubor public static void main(string[] args) throws IOException { int fromx = 312/4; int tox = 324/4-1; int fromy = 228/4; int toy = 240/4-1; String path = "brno16/"; String out = "brno16crop.png"; // int w = (tox - fromx + 1) * 256; int h = (toy - fromy + 1) * 256; BufferedImage outimage = new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB); Graphics g = outimage.getgraphics(); for(int i = fromx; i <= tox; i++) { for(int j = fromy; j <= toy; j++) { System.out.println(i + " " + j); BufferedImage bi = ImageIO.read( new File(path + i + "_" + j + ".png")); g.drawimage(bi, (i-fromx)*256, (j-fromy)*256, null); System.out.println(i); ImageIO.write(outImage, "png", new File(out)); 4.2 Vzhled a ovládání aplikace Po spuštění aplikace se zobrazí hlavní obrazovka. V pravém horním rohu vidíme tři tečky. Je to ukazatel velikosti kroku, s jakým se pohybujeme do stran. Ve spodním pravém rohu je údaj o aktuálním přiblížení. Ovládání aplikace: Směrové šipky a tlačítka 4,2,6,8 pohyb po mapě 7 přiblížení 9 oddálení * velikost kroku při pohybu 0 náhled mapy Levá klávesa (soft-key) vstup do menu 41

42 Obrázek 12: Úvodní obrazovka Obrázek 13: Menu mapa DPA s.r.o. Pohyb v menu provádíme buď směrovými šipkami nebo tlačítky 2 a 4. Volbu potvrzujeme tlačítkem 5 nebo tlačítkem Fire. Volby menu: Domů skočí na první uloženou pozici (pokud existuje) Exit ukončí aplikaci Další volby a funkce viz následující tabulka: 42

43 Celý pohled zobrazí náhled mapy, vyznačí malým červeným křížkem uložené pozice. V tomto pohledu se můžeme rychle pohybovat po celé mapě. Stiskem tlačítka fire (případně 5) skočíme na zvolené místo. Obrázek 14: Celý pohled na mapu Najít ulici zobrazí formulář s výpisem brněnských ulic. Pohyb po prvcích provádíme klávesami 4 a 6 (doleva/doprava). Stisknutím tlačítka 5 (fire) přejdeme na hledanou ulici. Obrázek 15: Najít ulici Oblíbené formulář pro ukládání bodů a cest. Umožňuje nám přidávat a mazat body a cesty. Stiskem klávesy fire na položce zobrazíme daný bod. V případě cesty se zobrazí uložená cesta. První uložený bod v seznamu se považuje jako výchozí (viz volba Domů) Obrázek 16: Oblíbené 43

44 Body zájmu v této sekci můžeme nastavit zobrazování bodů zájmu. Na výběr máme následující: Bankomaty, čerpací stanice, hotely, MHD, obchodní domy pohostinská zařízení a ulice. Obrázek 17: Volba zobrazení bodů zájmu 44

45 Hledej. Pokud máme vybrán některý druh zájmových bodů a zvolíme tlačítko Hledej, prohledá se okolí aktuálního místa (sřed displeje) a vrátí se maximálně 50 bodů, setříděných podle vzdálenosti. Stisknutím tlačítka fire (5) na daný objekt přejdeme. Obrázek18: Prohledávání okolí Slunce vyznačí na displeji azimut ke slunci. Podle polohy slunce na obloze můžeme displej natočit na sever. (protože byl obrázek pořízen v jednu hodinu po půlnoci, slunce je v severovýchodním směru) Obrázek 19: Ukazatel slunce Zobrazení bodů zájmu na mapě. Modré tečky znázorňují body zájmů. Typ a název zjistíme ve spodní části obrazovky. Orientační vzdálenost od středu displeje vidíme v horním levém rohu. Všimněme si též červené čáry, která nás vede k nejbližšímu bodu (užitečné, pokud je bod mimo obrazovku) Obrázek 20: Body zájmu 45

46 Aplikace může ve spodní části obrazovky zobrazovat orientační souřadnice GPS. Obrázek 21: GPS Měření cesty a azimutu. Kilometrová hodnota se sčítá. Cestu též můžeme uložit mezi oblíbené. Můžeme si též všimnout, že popisky k jednotlivým bodům se snaží rozmístit tak, aby nezavazely v cestě.je to uděláno tak, že čára vedoucí k popisku půlí tupý úhel mezi segmenty. Obrázek 22: Měření vzdáleností Součástí aplikace je stručná nápověda Obrázek 23: Nápověda 46

47 Pokud mažeme uložený bod nebo cestu, aplikace se nás zeptá pomocí alertu. Obrázek 24: Příklad použítí alertu 47

JAVA. Java Micro Edition

JAVA. Java Micro Edition JAVA Java Micro Edition Přehled předchůdci Personal Java (1997) Embeded Java (1998) definice JME přes JCP JCP Java Community Process JME není jeden balík SW sada technologií a specifikací definuje konfigurace

Více

(JME) Vybrané partie z jazyka Java (NPRG021) Jiří Tomeš

(JME) Vybrané partie z jazyka Java (NPRG021) Jiří Tomeš Java Micro Edition (JME) Vybrané partie z jazyka Java (NPRG021) Jiří Tomeš O čem se dnes budeme bavit O platformě JME Základní rozdělení JME CLDC MIDP MIDlet(y) a MIDLet suite Ukázky 2 programů IMP CDC

Více

Technologie Java. Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/

Technologie Java. Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Technologie Java Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Trocha historie Java vznikla v roce 1995 jak minimalistický programovací jazyk (211 tříd). Syntaxe vycházela z C/C++. V

Více

J2ME. Java 2 Micro Edition. David Stach Ondřej Dušek

J2ME. Java 2 Micro Edition. David Stach Ondřej Dušek J2ME Java 2 Micro Edition David Stach Ondřej Dušek Historie počátky Java ME a Javy vůbec 1990 v Sun Microsystem návrh na vytvoření jazyka, použitelného pro domácí spotřebiče 1992 jazyk Oak (dub) 1995 zjištění,

Více

JAVA. Java Micro Edition

JAVA. Java Micro Edition JAVA Java Micro Edition Přehled předchůdci Personal Java (1997) Embedded Java (1998) definice JME přes JCP JCP Java Community Process JME není jeden balík SW sada technologií a specifikací definuje konfigurace

Více

MATURITNÍ PRÁCE dokumentace

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

Více

Obrázek 6.14: Prohlížec nápovedy

Obrázek 6.14: Prohlížec nápovedy JavaHelp Základní popis systému JavaHelp Soucástí vetšiny interaktivních aplikací je nápoveda (help) aplikace v Jave nejsou výjimkou. Systém JavaHelp je napsaný v Jave a je urcený pro aplikace vytvárené

Více

20. Projekt Domácí mediotéka

20. Projekt Domácí mediotéka Projekt Domácí mediotéka strana 211 20. Projekt Domácí mediotéka 20.1. Základní popis, zadání úkolu V projektu Domácí mediotéka (Dome) se jednoduchým způsobem evidují CD a videa. Projekt je velmi jednoduchý

Více

Programování v Javě I. Únor 2009

Programování v Javě I. Únor 2009 Seminář Java Programování v Javě I Radek Kočí Fakulta informačních technologií VUT Únor 2009 Radek Kočí Seminář Java Programování v Javě (1) 1/ 44 Téma přednášky Datové typy Deklarace třídy Modifikátory

Více

Programování v Javě I. Leden 2008

Programování v Javě I. Leden 2008 Seminář Java Programování v Javě I Radek Kočí Fakulta informačních technologií VUT Leden 2008 Radek Kočí Seminář Java Programování v Javě (1) 1/ 45 Téma přednášky Datové typy Deklarace třídy Modifikátory

Více

Vysoká škola ekonomická v Praze

Vysoká škola ekonomická v Praze Vysoká škola ekonomická v Praze Fakulta informatiky a statistiky Katedra informačních technologií Student Vedoucí bakalářské práce Recenzent bakalářské práce : Ondřej Dušek : Ing. Rudolf Pecinovský, CSc.

Více

Mobilní správce hesel

Mobilní správce hesel Univerzita Pardubice Fakulta elektrotechniky a informatiky Mobilní správce hesel Bc. Tomáš Málek Diplomová práce 2011 Prohlašuji, že jsem tuto práci vypracoval samostatně. Veškeré literární zdroje a

Více

JSR 184 - tutorial 1 Úvod do JSR-184

JSR 184 - tutorial 1 Úvod do JSR-184 JSR 184 - tutorial 1 Úvod do JSR-184 Cíl tutorialu: - naučit vás načíst *.m3g soubor, vybrat z něho 1 objekt a vykreslit scénu Tak jdeme na to: Nejdříve si samozřejmě vytvoříme nový projekt. Já ho nazval

Více

MOBILNÍHO TELEFONU S BLUETOOTH

MOBILNÍHO TELEFONU S BLUETOOTH VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV INTELIGENTNÍCH SYSTÉMŮ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INTELLIGENT SYSTEMS OVLÁDÁNÍ DESKTOPOVÉ

Více

VYUŽITÍ KNIHOVNY SWING PROGRAMOVACÍHO JAZYKU JAVA PŘI TVORBĚ UŽIVATELSKÉHO ROZHRANÍ SYSTÉMU "HOST PC - TARGET PC" PRO ŘÍZENÍ POLOVODIČOVÝCH MĚNIČŮ

VYUŽITÍ KNIHOVNY SWING PROGRAMOVACÍHO JAZYKU JAVA PŘI TVORBĚ UŽIVATELSKÉHO ROZHRANÍ SYSTÉMU HOST PC - TARGET PC PRO ŘÍZENÍ POLOVODIČOVÝCH MĚNIČŮ VYUŽITÍ KNIHOVNY SWING PROGRAMOVACÍHO JAZYKU JAVA PŘI TVORBĚ UŽIVATELSKÉHO ROZHRANÍ SYSTÉMU "HOST PC - TARGET PC" PRO ŘÍZENÍ POLOVODIČOVÝCH MĚNIČŮ Stanislav Flígl Katedra elektrických pohonů a trakce (K13114),

Více

Úvod Arachne je projekt, který si bere za cíl poskýtovat informace prostřednictvým mobilních telefonů studentům týkající se jejich studia na Západočeské Univerzitě v Plzni. Má snahu takto částečně paralelizovat

Více

Teoretické minimum z PJV

Teoretické minimum z PJV Teoretické minimum z PJV Pozn.: následující text popisuje vlastnosti jazyka Java zjednodušeně pouze pro potřeby výuky. Třída Zavádí se v programu deklarací třídy což je část programu od klíčových slov

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

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

Technologie počítačových sítí 1. cvičení

Technologie počítačových sítí 1. cvičení Technologie počítačových sítí 1. cvičení Obsah prvního cvičení Microsoft Windows 2003 server Operační systém Windows 2003 server - Vytvoření nového virtuálního stroje pro instalaci Windows 98 - Příprava

Více

DUM 01 téma: Úvod do Corelu

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

Více

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

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

Více

Vývoj, výroba, prodej a montáž docházkových a identifikačních systémů. Docházka 3000 Personalistika

Vývoj, výroba, prodej a montáž docházkových a identifikačních systémů. Docházka 3000 Personalistika BM Software, Němčičky 84, 69107 Němčičky u Břeclavi Vývoj, výroba, prodej a montáž docházkových a identifikačních systémů Tel: 519 430 765, Mobil: 608 447 546 e-mail: bmsoft@seznam.cz web: http://www.dochazka.eu

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 INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV POČÍTAČOVÉ GRAFIKY A MULTIMÉDIÍ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF COMPUTER GRAPHICS AND

Více

NOVÁ VERZE OBD A JEJÍ VYUŽÍVÁNÍ Ing. Martina Valášková

NOVÁ VERZE OBD A JEJÍ VYUŽÍVÁNÍ Ing. Martina Valášková NOVÁ VERZE OBD A JEJÍ VYUŽÍVÁNÍ Ing. Martina Valášková studijní materiál ke kurzu Odborné publikování, citační etika a autorské právo s podporou ICT Fakulta informatiky a managementu Univerzity Hradec

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

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

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

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

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

ÚVOD 3 SEZNÁMENÍ SE SYSTÉMEM 4

ÚVOD 3 SEZNÁMENÍ SE SYSTÉMEM 4 ÚVOD 3 SEZNÁMENÍ SE SYSTÉMEM 4 JEDNODUCHÉ PŘIHLÁŠENÍ 4 ADMINISTRAČNÍ PROSTŘEDÍ 5 PŘEPÍNÁNÍ JAZYKOVÉ VERZE 5 POLOŽKY HORNÍHO MENU 5 DOPLŇKOVÉ POLOŽKY MENU: 6 STROM SE STRÁNKAMI, RUBRIKAMI A ČLÁNKY 7 TITULNÍ

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

Word 2007 Word 2007 egon. Spuštění, vzhled, zobrazení dokumentu

Word 2007 Word 2007 egon. Spuštění, vzhled, zobrazení dokumentu Word 2007 Word 2007 egon Spuštění, vzhled, zobrazení dokumentu Jan Málek 30.4.2010 Word 2007 V roce 2007 přichází firma Microsoft s novou verzí kancelářského balíku MS Office 2007 a tedy i textového editoru

Více

Nastavení telefonu Sony Ericsson C510

Nastavení telefonu Sony Ericsson C510 Nastavení telefonu Sony Ericsson C510 Telefon Sony Ericsson C510, 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.

Více

Účinná ochrana před vysokými náklady za mobilní datová spojení v zahraničí i v tuzemsku. Pro mobilní telefony s OS Symbian S60 3rd a 5th Edition

Účinná ochrana před vysokými náklady za mobilní datová spojení v zahraničí i v tuzemsku. Pro mobilní telefony s OS Symbian S60 3rd a 5th Edition Instalační a uživatelská příručka Verze 1.03 Účinná ochrana před vysokými náklady za mobilní datová spojení v zahraničí i v tuzemsku Pro mobilní telefony s OS Symbian S60 3rd a 5th Edition 2010 CMI Technologies,

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

UZ modul VVISION poslední změna 1. 3. 2013

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

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

Uživatelská příručka. BlackBerry 8700 Smartphone

Uživatelská příručka. BlackBerry 8700 Smartphone Uživatelská příručka BlackBerry 8700 Smartphone SWD-280428-0212105034-010 Obsah Základní informace o řadě BlackBerry...9 Přepínání aplikací...9 Přiřazení aplikace tlačítku Komfort...9 Nastavení informací

Více

Jak začít s ed MARKETEM

Jak začít s ed MARKETEM Jak začít s ed MARKETEM Ostrava, 26. ledna 2016 E LINKX a.s. Novoveská 1262/95, 709 00 Ostrava tel.: +420 597 444 777 e-mail: obchod@elinkx.cz www.elinkx.cz Obsah 1. Úvod... 3 2. Jak nastavit e-shop...

Více

Obsah. 1.1 Úvod do práce s autorským nástrojem ProAuthor 4

Obsah. 1.1 Úvod do práce s autorským nástrojem ProAuthor 4 Obsah 1 Úvod do práce s autorským nástrojem ProAuthor 4 1.1 Úvod do práce s autorským nástrojem ProAuthor 4 2 Založení kurzu 7 2.1 Jak začít 8 2.2 Vyplnění vstupních informací o kurzu 10 2.3 Založení vlastního

Více

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

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

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

Google Web Toolkit. Martin Šurkovský, SUR března Katedra informatiky

Google Web Toolkit. Martin Šurkovský, SUR března Katedra informatiky Google Web Toolkit Martin Šurkovský, SUR096 Vysoká škola Báňská - Technická univerzita Ostrava Katedra informatiky 29. března 2010 Martin Šurkovský, SUR096 (VŠB - TUO) Google Web Toolkit 29. března 2010

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

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

Práce s velkými sestavami

Práce s velkými sestavami Práce s velkými sestavami Číslo publikace spse01650 Práce s velkými sestavami Číslo publikace spse01650 Poznámky a omezení vlastnických práv Tento software a související dokumentace je majetkem společnosti

Více

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

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

Více

Nastavení telefonu Sony Ericsson G502

Nastavení telefonu Sony Ericsson G502 Nastavení telefonu Sony Ericsson G502 Telefon Sony Ericsson G502, 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.

Více

Aplikace s grafickým uživatelským rozhraním

Aplikace s grafickým uživatelským rozhraním Aplikace s grafickým uživatelským rozhraním doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz 1 Typy aplikací Konzolová

Více

MANUÁL K OBSLUZE REDAKČNÍHO SYSTÉMU / wordpress

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

Více

Uživatelský manuál verze BP

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:

Více

SCADA systémy na platformě mobilních zařízení

SCADA systémy na platformě mobilních zařízení SCADA systémy na platformě mobilních zařízení Ondřej Krejcar, Stanislav Slíva Katedra měřicí a řídicí techniky, FEI, VŠB Technická univerzita Ostrava 17. listopadu 15, 708 33, Ostrava-Poruba Ondrej.Krejcar@vsb.cz,

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

Technologie počítačových sítí 5. cvičení

Technologie počítačových sítí 5. cvičení Technologie počítačových sítí 5. cvičení Obsah jedenáctého cvičení Active Directory Active Directory Rekonfigurace síťového rozhraní pro použití v nadřazené doméně - Vyvolání panelu Síťové připojení -

Více

Nastavení telefonu Nokia 6303 Classic

Nastavení telefonu Nokia 6303 Classic Nastavení telefonu Nokia 6303 Classic Telefon Nokia 6303 Classic, 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.

Více

Uživatelská příručka

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

Více

Ú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

Volby a Referenda. 2013 ALIS spol. s r.o.

Volby a Referenda. 2013 ALIS spol. s r.o. 21.10.2013 2 Obsah 1 KEOX - Volby 4 2 Postup zpracování 5 3 Číselníky a parametry 9 3.1 Číselníky-přehled... 9 3.2 Číselníky-popis... 9 3.3 Parametry... 10 4 Metodika a legislativa 12 4.1 Úvod... 12 pojmy

Více

Helios RED a Internetový obchod

Helios RED a Internetový obchod (pracovní verze!) Helios RED a Internetový obchod Obsah dokumetace: 1. Úvod 2. Evidované údaje na skladové kartě 3. Přenos skladových karet z Helios RED do e-shopu 4. Přenos objednávek z e-shopu do Helios

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

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

MAPOVÉ OKNO GSWEB. Nápověda. Pohyb v mapovém okně Výběr v mapovém okně. Panel Ovládání Panel Vrstvy. Tisk Přehledová mapa Redlining Přihlásit jako

MAPOVÉ OKNO GSWEB. Nápověda. Pohyb v mapovém okně Výběr v mapovém okně. Panel Ovládání Panel Vrstvy. Tisk Přehledová mapa Redlining Přihlásit jako GSWEB Nápověda 1. Mapové okno Pohyb v mapovém okně Výběr v mapovém okně 2. Ovládací panel a panel vrstev Panel Ovládání Panel Vrstvy 3. GSWeb - roletové menu Tisk Přehledová mapa Redlining Přihlásit jako

Více

Implementovaný webový server HP LaserJet M9040/M9050 MFP Uživatelská příručka

Implementovaný webový server HP LaserJet M9040/M9050 MFP Uživatelská příručka Implementovaný webový server HP LaserJet M9040/M9050 MFP Uživatelská příručka Implementovaný webový server HP LaserJet M9040/M9050 MFP Uživatelská příručka Autorská práva a záruka 2007 Copyright Hewlett-Packard

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

ADDAT HEAT Control - Návod k použití - verze 2.07 (firmware 1.44)

ADDAT HEAT Control - Návod k použití - verze 2.07 (firmware 1.44) - ADDAT HEAT Control - Návod k použití - verze 2.07 (firmware 1.44) ADDAT s.r.o. Májová 1126 463 11 Liberec 30 telefon: fax: http: e-mail: 485 102 271 485 114 761 www.addat.cz addat@addat.cz Obsah: 1.

Více

Téma 5. Ovladače přístrojů Instrument Drivers (ID)

Téma 5. Ovladače přístrojů Instrument Drivers (ID) Cíl a užitek z ID: Téma 5 Ovladače přístrojů Instrument Drivers (ID) ID jsou vrstvou nad tradičními příkazy pro ovládání přístrojů (SCPI) message based obsahují vyšší (high level) softwarové funkce, které

Více

popis funkcí a nastavení (verze 2. 8) 2010-2015 MILAN PASTOR DIS., ING. MICHAL KOPECKÝ

popis funkcí a nastavení (verze 2. 8) 2010-2015 MILAN PASTOR DIS., ING. MICHAL KOPECKÝ 2010-2015 popis funkcí a nastavení (verze 2. 8) MILAN PASTOR DIS., ING. MICHAL KOPECKÝ FIRMADAT S.R.O. Havlíčkova 1280,765 02 Otrokovice, tel.: 571 112 089 Obsah 1. Nastavení... 2 1.1. První přihlášení...

Více

TVORBA VÝROBNÍ DOKUMENTACE

TVORBA VÝROBNÍ DOKUMENTACE Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní TVORBA VÝROBNÍ DOKUMENTACE Učební text předmětu Výrobní dokumentace v systému CAD Dr. Ing. Jaroslav Melecký Ostrava 2011 Tyto studijní materiály

Více

3 h 5 min Paměť: 64 MB ROM + 32 MB RAM + Mini SD Funkce adresáře:

3 h 5 min Paměť: 64 MB ROM + 32 MB RAM + Mini SD Funkce adresáře: Základní informace o telefonu Název modelu: T-Mobile SDA II Kategorie: smartphone Operační systém: Windows Mobile 2003 for Pocket PC Phone Edition Velikost: 108 x 47 x 20 mm (107 g) Displej(e): TFT, 65.536

Více

Aktivní saldo. Copyright 2009 CÍGLER SOFTWARE, a.s.

Aktivní saldo. Copyright 2009 CÍGLER SOFTWARE, a.s. Aktivní saldo Copyright 1 Money S3 Aktivní saldo Obsah Co lze od modulu Aktivní saldo očekávat... 2 Instalace modulu Aktivní saldo... 2 Aktivní saldo... 5 Hierarchický seznam Aktivní saldo... 6 Obecné

Více

X-Sign Basic Uživatelská příručka

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

Více

Nastavení telefonu Samsung S8500 Wave

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.

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

Therm-App - Mobilní termální kamera

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

Více

a autentizovaná proxy

a autentizovaná proxy Mendelova univerzita v Brně Virtuální privátní síť a autentizovaná proxy Verze: 1.2 Datum: 5. dubna 2011 Autor: Martin Tyllich, Aleš Vincenc, Stratos Zerdaloglu 2 Obsah 1 Připojení pomocí proxy serveru

Více

Maturitní otázka webové stránky (technologie tvorby webu) Co znamená pojem Web? Web, www stránky, celým názvem World Wide Web,

Maturitní otázka webové stránky (technologie tvorby webu) Co znamená pojem Web? Web, www stránky, celým názvem World Wide Web, Maturitní otázka webové stránky (technologie tvorby webu) Co znamená pojem Web? Web, www stránky, celým názvem World Wide Web, v doslovném překladu "světová rozsáhlá síť neboli celosvětová síť, je označení

Více

Aplikované úlohy Solid Edge

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

Více

Obsah. Úvod... 2. Co je KORG KONTROL Editor?... 2 Požadavky na systém... 2 Instalace... 3

Obsah. Úvod... 2. Co je KORG KONTROL Editor?... 2 Požadavky na systém... 2 Instalace... 3 Obsah Úvod... 2 Co je KORG KONTROL Editor?... 2 Požadavky na systém... 2 Instalace... 3 Instalace pro uživatele Windows... 3 Instalace pro uživatele Mac OS X... 3 Quick start... 4 Spuštění KORG KONTROL

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

Java - Kresba. 2/28/11 1/8 Java - kresba

Java - Kresba. 2/28/11 1/8 Java - kresba Java - Kresba Základní entity a jejich kresba ve třídě Graphics nemůžeme nastavit linii, šířku a typ, z grafických atributů jí můžeme nastavit pouze barvu Linie (čára)... drawline(int x1, int y1, int x2,

Více

POPIS PROSTŘEDÍ PROGRAMU GIMP 2. Barvy 2. Okno obrázku 4 ZÁKLADNÍ ÚPRAVA FOTOGRAFIÍ V GRAFICKÉM EDITORU 6. Změna velikosti fotografie 6

POPIS PROSTŘEDÍ PROGRAMU GIMP 2. Barvy 2. Okno obrázku 4 ZÁKLADNÍ ÚPRAVA FOTOGRAFIÍ V GRAFICKÉM EDITORU 6. Změna velikosti fotografie 6 Obsah POPIS PROSTŘEDÍ PROGRAMU GIMP 2 Barvy 2 Okno obrázku 4 ZÁKLADNÍ ÚPRAVA FOTOGRAFIÍ V GRAFICKÉM EDITORU 6 Změna velikosti fotografie 6 Ořezání obrázku 7 TRANSFORMACE 9 Rotace 9 Překlopení 11 Perspektiva

Více

VZDĚLÁVACÍ MATERIÁL III/2

VZDĚLÁVACÍ MATERIÁL III/2 VZDĚLÁVACÍ MATERIÁL III/2 Vy_32_inovace_005_Pl7 Vzdělávací oblast: Vzdělávací obor (okruh): Vyučovací předmět: Téma: Očekávaný výstup: Klíčová slova: Informační a komunikační technologie Informatika Informatika

Více

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007 Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků

Více

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

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

Více

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

Vizuální programovací jazyk

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

Více

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

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

Více

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

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

Josef Pecinovský PowerPoint 2007

Josef Pecinovský PowerPoint 2007 Josef Pecinovský PowerPoint 2007 Jak na PowerPoint 2007 v rekordním čase Josef Pecinovský Vydala Grada Publishing, a.s. U Průhonu 22, Praha 7 jako svou 3054. publikaci Odpovědný redaktor Karel Samohýl

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

Uživatelská příručka nabídky majetku státních institucí

Uživatelská příručka nabídky majetku státních institucí Uživatelská příručka nabídky majetku státních institucí 1 O systému dne 1. března 2016 nabyl účinnosti zákon č. 51/2016, kterým se mění zákon č. 219/2000 Sb., o majetku České republiky a jejím vystupování

Více

Uživatelská příručka

Uživatelská příručka OM-Link Uživatelská příručka Verze: 2.1 Prosinec 2006 Copyright 2005, 2006 ORBIT MERRET, s r.o. I Nápověda k programu OM-Link Obsah Část I Úvod 3 Část II Základní pojmy a informace 3 1 Připojení... 3 2

Více

OSGi. Aplikační programování v Javě (BI-APJ) - 6 Ing. Jiří Daněček Katedra softwarového inženýrství Fakulta informačních technologií ČVUT Praha

OSGi. Aplikační programování v Javě (BI-APJ) - 6 Ing. Jiří Daněček Katedra softwarového inženýrství Fakulta informačních technologií ČVUT Praha OSGi Aplikační programování v Javě (BI-APJ) - 6 Ing. Jiří Daněček Katedra softwarového inženýrství Fakulta informačních technologií ČVUT Praha Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Více

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

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

Více

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

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

Více

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

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

Více