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

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

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

Transkript

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

2

3 České vysoké učení technické v Praze Fakulta informačních technologií Katedra softwarového inženýrství Bakalářská práce Moje lékárna: klient pro Android Aliaksandr Maksimau Vedoucí práce: Ing. Zdeněk Troníček, Ph.D. 17. května 2013

4

5 Poděkování Rád bych poděkoval panu Ing. Zdeňku Troníčkovi, Ph.D. za jeho cenné rady, připomínky a odborné vedení při zpracování této bakalářské práce.

6

7 Prohlášení Prohlašuji, že jsem předloženou práci vypracoval samostatně a že jsem uvedl veškeré použité informační zdroje v souladu s Metodickým pokynem o etické přípravě vysokoškolských závěrečných prací. Beru na vědomí, že se na moji práci vztahují práva a povinnosti vyplývající ze zákona č. 121/2000 Sb., autorského zákona, ve znění pozdějších předpisů, zejména skutečnost, že České vysoké učení technické v Praze má právo na uzavření licenční smlouvy o užití této práce jako školního díla podle 60 odst. 1 autorského zákona. V Praze dne 17. května

8 České vysoké učení technické v Praze Fakulta informačních technologií c 2013 Aliaksandr Maksimau. Všechna práva vyhrazena. Tato práce vznikla jako školní dílo na Českém vysokém učení technickém v Praze, Fakultě informačních technologií. Práce je chráněna právními předpisy a mezinárodními úmluvami o právu autorském a právech souvisejících s právem autorským. K jejímu užití, s výjimkou bezúplatných zákonných licencí, je nezbytný souhlas autora. Odkaz na tuto práci Maksimau, Aliaksandr. Moje lékárna: klient pro Android. Bakalářská práce. Praha: České vysoké učení technické v Praze, Fakulta informačních technologií, 2013.

9 Abstract The thesis deals with the development of mobile client for OS Android for Moje Lékárna system, which should fulfill all the functions of the web interface and extend the use of the system among people. The main objective of the application is to search the lowest price for the cart of medicines in the nearest pharmacies. Applications should be beneficial for everyone, because price lists and information about pharmacies would be on hand. Keywords devices pharmacy, prescription, medicine, Android, Google, mobile Abstrakt Práce se zabývá vývojem mobilního klienta pro OS Android pro systém Moje Lékárna, který by měl plnit všechny funkce webového rozhraní a rozšířit použití tohoto systému. Hlavním cílem aplikace je vyhledávaní nejnižší ceny košíku léků v nejbližších lékárnách. Aplikace by měla být přínosná pro všechny, protože přehled cen a informací o lékárnách bude vždy po ruce. ix

10 Klíčová slova lékárna, recept, lék, Android, Google, mobilní zařízení x

11 Obsah Úvod 1 Uvedení do problematiky Stanovení cílů a požadavků na implementovaný produkt Popis struktury bakalářské práce Rešeršní zpracování podobných implementací Analýza Analýza požadavků Analýza případů užití Návrh Základy aplikací pro Android Návrh uživatelského rozhraní Návrh architektury Realizace Skenovaní čárových kódů Propojení s API Práce na pozadí Použití Content Providers Vkládání velkého množství dat Použití Native Development Kit Zpětná kompatibilita Testování Unit testy Integrační testy xi

12 4.3 Systémové testy Závěr 31 Literatura 33 A Seznam použitých zkratek 35 B Instalační příručka 37 B.1 Instalace z CD B.2 Instalace z Google Play C Obsah přiloženého CD 39 xii

13 Seznam obrázků 0.1 Vzhled aplikace České lékárny [12] Vzhled aplikace Lékař doma [13] Vzhled aplikace tabletka.by [11] Diagram případů užití Návrh uživatelského rozhraní xiii

14

15 Seznam tabulek 1.1 Verze OS Android Testování rychlostí vkládaní dat xv

16

17 Úvod Používání informačních technologií je v dnešním životě již naprostou nezbytností výjimkou není ani oblast zdravotnictví. Informační technologie mají za úkol pomáhat lidem a usnadnit jejich život. Tímto problémem se budu ve své bakalářské práci na téma Moje lékárna: klient pro Android zabývat i já. Jedná se o aplikaci, která umožní pomocí mobilního telefonu najít v okolí lékárnu s nejnižší cenou vybraných léků či nejnižším doplatkem za vybrané léky. Toto téma jsem si zvolil, protože zatím neexistuje obdobný program. Takový program by pomáhal mnoha lidem a byl by tak velice užitečný pro společnost. Je to taky práce se zajímavými novými technologiemi, a vypracování bude přínosné i pro mě. Výsledkem bakalářské práce by měl být úspěšný vývoj a zprovoznění programu. Aplikace by byla velice přínosná pro každého: lidé by měli větší přehled o cenách a službách lékáren, ušetřili by čas při hledání léků a peníze při nákupu; lékárnám by se zvýšila návštěvnost a byl by to pro ně další marketingový kanál a způsob jak se zviditelnit. Uvedení do problematiky Lékárny prodávají různé léky, ale ne všechny se prodávají stejně. Každý lék má striktně uvedené podmínky, jak se má prodávat. Většina léků je volně dostupná a takové léky si může koupit kdokoliv bez jakýchkoliv omezení. Jsou to léky, které mají nízkou toxicitu i nízké riziko závažných nežádoucích účinků, které mohou být používány u onemocnění, která si pacient dokáže určit sám (tzv. samodiagnóza) a riziko ohrožení zdraví při nesprávném užívání přípravku je nízké, jejichž užívání by nemělo 1

18 Úvod zakrýt příznaky závažnějšího onemocnění, které pacient nerozpozná, a nevyhledá tak včas lékaře [17]. Tyto léky jsou volně dostupné i přes internet a není tudíž nutné jít do lékárny. Pak existuje skupina léků, které se prodávají s omezením. Takové léky mohou přímo nebo nepřímo představovat nebezpečí pro zdraví lidí, neboť jsou často a v širokém rozsahu používány nesprávně nebo jejich správné použití předpokládá nezbytně odbornou poradu s farmaceutem. Jako omezení pro výdej může být stanovena např. věková hranice, množství balení, které je možné poskytnout v rámci jednoho výdeje, zákaz zásilkového (internetového) výdeje apod. Lék zařazený do této skupiny je možné vydat pouze osobě, které je určen. Lékárník povinně vede dokumentaci o jeho výdeji v požadovaném rozsahu. Výdej těchto léků je možný pouze v lékárnách [17]. Poslední skupina léků, je tvořená z léků, které se prodávají pouze po předložení lékařského předpisu. Do této skupiny většinou patří přípravky, které mohou i při správném používání představovat přímé nebo nepřímé nebezpečí, pokud jsou použity bez lékařského dohledu, které jsou často a ve velmi širokém rozsahu používány nesprávně a v důsledku toho mohou představovat přímé nebo nepřímé nebezpečí pro zdraví lidí, obsahují látky nebo přípravky z látek, jejichž účinnost nebo nežádoucí účinky vyžadují další sledování, nebo jsou určeny k parenterálnímu podání, jejichž použití může vyvolat velmi závažné nežádoucí účinky vyžadující, aby lékařský předpis byl vystaven podle požadavků odborného lékaře a aby byl zajištěn zvláštní dohled během léčby. Výdej těchto léků je možný pouze v lékárnách [17]. Jakmile člověk onemocní závažnou nemocí, s největší pravděpodobností se obrátí na svého lékaře. Podle zdravotního stavu nemocného lékař stanoví diagnózu a může předepsat léky. podle zákona je možné na jeden předpis předepsat jeden druh léčivého přípravku, který obsahuje omamné látky nebo psychotropní látky, nebo dva druhy ostatních léčivých přípravků. Každý lékařský předpis musí obsahovat povinné údaje, mezi které patří jméno, příjmení, adresa pacienta, označení zdravotní pojišťovny (pokud je léčivý přípravek hrazen z veřejného zdravotního pojištění) a předepsaný léčivý přípravek (přípravky). Na receptu jsou označení, která nejsou povinná, ale jsou důležitá. Do takových označení patří: Nezaměňovat jestliže předepisující lékař trvá na vydání předepsaného léčivého přípravku, Hradí nemocný jestliže léčivý přípravek není hrazen z veřejného zdravotního pojištění nebo lékař nemá smlouvu se zdravotní pojišťovnou pacienta, Zvýšená úhrada jde-li o předpis léčivého přípravku, který má podle jiného právního předpisu 2 výše úhrady a předepisující lékař požaduje využití úhrady vyšší.[7] Po návštěvě nebo bez návštěvy lékaře se nemocný rozhoduje, kde zakoupí potřebné léky. V případě potřeby volně prodejného léku je možné 2

19 Uvedení do problematiky navštívit webové stránky lékáren, kde se kupující zároveň informuje o výši ceny. Kdyby šlo o lék vydávaný bez lékařského předpisu s omezením, člověk také dovede dohledat cenu přes vyhledávací servisy nebo na stránkách lékáren, najde nejlevnější lékárnu, ale pak se bude muset dostavit pro léky osobně. Ovšem, pokud by daný člověk měl recept na nějaké léky, buď volně dostupný (v tomto případě by člověk měl výhodu, že by neplatil za lék částku v plné výši, ale pouze doplatek), nebo prodávaný pouze na recept, nedovede již jednoduše zjistit cenu toho léku v konkrétní lékárně. Pomocí informace na stránkách SÚKL nebo na jiných informačních serverech, je možné zjistit pouze orientační cenu léku, která může zajímat pacienta pouze v případě, že bude hradit celou částku. Ze stejných zdrojů lze zjistit i maximální možný doplatek za lék, což zajímá většinu lidí. Následně je problém, že pacienta zajímá cena u všech léků, vyjma těch, jenž jsou plně hrazeny pojišťovnou. Naproti tomu však lékárny většinou nemají uvedené ceny u veškerých léků prodávaných pouze na recept. Pouze když lék je plně hrazen pojišťovnou, cena pacienta nezajímá. Tudíž je třeba zmínit důležitý pojem generický lék, co znamená alternativní lék, který obsahuje stejné léčivo ve stejném množství jako příslušný originální přípravek, má i stejnou lékovou formu, např. tablety a tobolky, a stejnou biologickou účinnost. Typ a poměr použitých pomocných látek (plniv, pojiv, barviv apod.) může být od originálu odlišný [15]. Z toho plyne generická substituce, což je možnost aby lékárník při výdeji informoval pacienta o možných alternativách k předepsanému léku a případně jej s jeho souhlasem zaměnil. Taková záměna je možná pouze v případě, že alternativní lék je s předepsaným shodný z hlediska jeho účinnosti a bezpečnosti [16] a obsahuje stejnou léčivou látku se stejnou cestou podání a stejnou lékovou formou. Pokud alternativní lék (substitut) obsahuje rozdílné množství léčivé látky (rozdílná síla), lékárník upraví dávkování tak, aby odpovídalo dávkování předepsanému lékařem. V případě záměny je tato skutečnost uvedena na receptu [16]. Občas by člověk rád koupil levnější analog léku (když není uvedené v předpisu, že se lék nesmí zaměňovat). Ne každá lékárna má možnost zjistit ceny generik, a tím že člověk musí porovnat více léků (přičemž generické léky nemusí mít stejné balení, nebo sílu účinné látky) se úloha porovnávání stává ještě obtížnější. Problém vypadá tak, že v polovině případů kupující nemá možnost zjistit přesnou cenu nebo doplatek za lék. A ještě složitější je porovnat nabídky lékáren při nákupu různých položek nebo při hledání substitutů léků. V případě hledání léků na předpis je úloha skoro nevyřešitelná. 3

20 Úvod Dalším problémem pro člověka stává počítání již uhrazené částky na doplatcích za léky na recept s částečnou úhradou a úhrady regulačních poplatků. V závislosti na věku každý klient zdravotní pojišťovny má ochranný limit. Ochranný limit je částka, po jejímž překročení již budou všechny poplatky klientovi vrácené pojišťovanou. Limit se liší podle věku pojištěnce, a to tak, že pro pojištěnce do 18 let a od 65 činí 2500 Kč za kalendářní rok (včetně roku kdy dovršily 18 a 65 let) a 5000 Kč u ostatních pojištěnců.[9, 16b] Do ochranného limitu se započítává několik typů regulačních poplatků: 30 Kč za návštěvu u lékaře (i v případě, když lékař navštíví pacienta doma), 30 Kč za recept a doplatky zaplacené za léky koupené na recept. Ale ne vždy se započte celý doplatek. Doplatek se započítává v plné výši v případě, že je na receptu uvedené Nezaměňovat, v ostatních případech se postupuje podle následujícího pravidla: vyhledávají se doplatky za všechny léky, které mají stejnou účinnou látku se stejnou cestou podání a stejnou lékovou formou jako lék na receptu, a započítává se ten nejmenší doplatek. V případě, že by byl některý z uvedených léků plně hrazen ze zdravotního pojištění, poté se započitatelný doplatek rovná 0 Kč. Doplatek u podpůrných nebo doplňkových léků, které jsou uvedeny ve vyhlášce o stanovení seznamu léčivých látek určených k podpůrné a doplňkové léčbě, se započítává pouze u osob starších 65 let (včetně dne, kdy dovršily tento věk). [14][9, 16] Z toho je zřejmé, že počítání doplatků do výše ochranného limitu není jednoduchá záležitost a pacienti by jistě uvítali, kdyby jim výpočet provedl podpůrný program. Stanovení cílů a požadavků na implementovaný produkt Existující problém je možné efektivně a elegantně vyřešit za použití informačních technologií, což by měl udělat systém Moje lékárna. Systém má zatím pouze webové uživatelské rozhraní. Cílem mé bakalářské práce je implementace klienta k existujícímu systému pro OS Android, aby zpopularizoval a rozšířil použití systému. Aplikace by měla být nasazena do provozu a měla by plnit všechny funkce webové verze. Klient by měl být podporován ve většině Android zařízeních a fungovat na mobilních telefonech a tabletech. Aplikace by měla mít spolehlivou architekturu a umožňovat přidávání nových funkcí v budoucnu. Pro uživatele by se měla aplikace stát pohodlným a užitečným prostředkem pro zjištění cen léků a informací o lékárnách. 4

21 Popis struktury bakalářské práce Tato implementační bakalářská práce má 5 částí: Popis struktury bakalářské práce Úvod seznámení s problematikou, stanovení cílů a přehled podobných implementací. Analýza analýza požadavků a případů užití Návrh návrh architektury a uživatelského rozhraní aplikace Realizace implementace aplikace a výsledná realizace. Testování testování výsledné aplikace. Rešeršní zpracování podobných implementací Jelikož Google Play 1 je oficiální online distribuční služba aplikací pro chytré telefony a tablety s Androidem, proto jsem právě tam hledal aplikace, které by měly obdobnou funkcionalitu. Podařilo se mi najít 3 aplikace, které mají společné prvky s mojí aplikací aplikací. Jsou to české aplikace České lékárny a Lékař doma, a zahraniční aplikace tabletka.by. České lékárny Po dlouhou dobu toto byla jediná česká aplikace spojená se zdravotnictvím na Google Play. Je to jednoduchá a na užívání pohodlná aplikace, která má pouze jednu funkci vyhledávání lékáren, tuto funkci plní docela dobře. České lékárny má pouze 2 obrazovky, první je mapa s lékárnami (viz. obr 0.1a) a druhá je informace o zvolené lékárně (viz. obr 0.1b). Je tam možnost vyhledávat lékárnu podle názvu, města nebo ulice bez diakritiky a možnost oslovit vývojáře i za účelem přidání nové lékárny. Mezi další užitečné vlastnosti patří možnost zavolat do lékárny a být navigován do zvolené lékárny přes externí aplikaci. Z toho, že je možnost hlásit nové lékárny, vyplývá, že se aplikace neaktualizuje automaticky a nové lékárny se přidávají pouze s vydáním nové verze programu, což je nevýhoda. Mezi nedostatky také patří nepřítomnost údajů o otevírací době lékáren. I přes to, že aplikace má nedostatky, je docela dobře udělaná a je možné inspirovat se určitými částmi

22 Úvod (a) Hlavní obrazovka (b) Informace o lékárně Obrázek 0.1: Vzhled aplikace České lékárny [12] Lékař doma Je srovnatelná nová mobilní aplikace, která se objevila v době, když už jsem se blížil ke konci implementace programu. Jedná se o aplikace od českých vývojářů, která je především určená k stanovení diagnózy (viz. obr 0.2a) podle odpovědí uživatele na otázky ohledně jeho zdravotního stavu a doporučování léků v případě, že je to možné i bez lékaře. Aplikace Lékař doma je komplexní a dobře propracovaná. Obsahuje informaci o každém léku a o hodně nemocích. Na rozdíl od aplikace České lékárny má nejenom seznam lékáren, ale i nemocnic a lékařů. Jako České lékárny má stejnou možnost zavolat a nechat se navigovat do zdravotnického zařízení a stejně neobsahuje údaje o otevírací době. Za užitečné funkce považuji možnost vytvořit nákupní seznam léků, možnost přidávat připomínky ohledně užívání léků a upomínky o návštěvách lékaře a diagnózách. Aplikace stahuje aktualizace při každém startu, proto není nutné stahovat novější verzi za účelem obnovy informací. Aplikace má i nedostatky. Jako jeden z menších je neexistence možnosti vyhledat zdravotnické zařízení podle ulice. Jako největší nedostatek, je technická nedokonalost: při použití aplikace uživatel zjišťuje, že aplikace často nereaguje na uživatelské akce nebo občas zamrzne. Je to důsledek toho, 6

23 Rešeršní zpracování podobných implementací (a) Diagnóza (b) Informace o léku (c) Mapa s zdravotnickými zařízení Obrázek 0.2: Vzhled aplikace Lékař doma [13] že náročné operace (čtení a zápis do databáze, síťová komunikace) neprobíhají ve vlastním vláknu na pozadí, ale provádí se v hlavním UI-vláknu. Což je zřejmě chyba vývojářů. Celkově je aplikace udělaná dobře a určitě je přínosná pro veřejnost. Program poskytuje užitečné funkce, z nichž většinu neposkytuje žádná jiná aplikace. tabletka.by tabletka.by je představitel běloruské aplikace určené k vyhledávání cen léků v lékárnách a lékáren v okolí. Dříve program existoval pouze v podobě webové aplikace a od letošního roku se objevila mobilní verze pro OS Android. Je to velice jednoduchá ale dobře propracovaná aplikace. Vyhledává léky s možností hledání léků se stejnou účinnou látkou v okolí zadaného města. Stačí zadat název léků a město na první obrazovce (viz. obr 0.3a), zvolit potřebný lék na druhé obrazovce (viz. obr 0.3b), a na třetí obrazovce uživatel uvidí ceny v jednotlivých lékárnách. Existuje možnost podívat se do mapy (viz. obr 0.3c), kde se lékárna přesně nachází, zjistit otevírací dobu, zavolat nebo navigovat do zvolené lékárny. Aktualizace se vždy provede při spouštění, tudíž jsou data stále aktuální. Rozhodně tabletka.by je kvalitní aplikace, která splňuje veškeré požadavky, které jsou na ni kladené. 7

24 Úvod (a) Hlavní obrazovka (b) Upřesnění léků (c) Mapa s lékárnami Obrázek 0.3: Vzhled aplikace tabletka.by [11] 8

25 Kapitola 1 Analýza 1.1 Analýza požadavků Na začátku práce nad projektem byla provedená důkladná analýza problematiky. V úvahu se braly existující řešení a požadavky na aplikaci. Aplikace by měla splňovat řadu požadavků, jak funkčních tak i nefunkčních. K funkčním požadavkům patří: Aplikace umožní uživateli vyhledat lékárny s nejnižší cenou léků či nejnižším doplatkem za léky Aplikace umožní počítání uhrazených doplatků a regulačních poplatků Aplikace umožní uživateli vyhledat nejbližší lékárny v okolí Nalezené lékárny aplikace umožní zobrazit v mapě K nefunkčním požadavkům patří: Aplikace musí komunikovat s jádrem aplikace Moje lékárna Aplikace musí být podporována 90 % mobilních zařízení s OS Android Rozhraní musí být uživatelsky přívětivé Jelikož se server vyvíjel paralelně s klientem, počáteční požadavky byly rozšířené a doplněné. Dále podrobně rozeberu všechny požadavky. 9

26 1. Analýza Vyhledávání lékárny s nejnižší cenou léku či nejnižším doplatkem za léky Hlavní funkce aplikace je možnost nalézt lékárny s nejnižší cenou sady léků nebo nejnižším doplatkem za léky. Uživatel by měl možnost zadat léky, které by chtěl koupit a aplikace by měla poslat požadavek na server a zobrazit výsledky vyhledávaní. Pro pohodlnější použití bylo vyřešeno, že sada léků pro vyhledávání bude představená košíkem s léky a recepty (položka obsahující do dvou léků pro vyhledávání ceny doplatků). následně se objevily další funkční požadavky jako ukládání a synchronizace košíků a receptů Ukládání a synchronizace košíků a receptů Pro pohodlnější použití by si aplikace měla pamatovat léky vyhledané uživatelem ve formě košíků a receptů. Položky by měly být aktuální jak na klientovi, tak i na serveru a měly by se synchronizovat. Uživatel by mohl zvolit jeden z uložených košíků a vyhledat jej znovu. Tím vznikne možnost použití uložených receptů i v nových košících Počítání uhrazených doplatků a regulačních poplatků Jelikož počítání doplatků není jednoduché, aplikace by měla uživateli vypočíst již zaplacené regulační poplatky a doplatky za léky a zobrazit kolik zbývá do dosažení ochranného limitu. Veškeré výpočty by se měly provádět na základě údajů uvedených uživatelem. Tyto údaje by se měly ukládat a synchronizovat se serverem Vyhledávání nejbližší lékárny v okolí Uživateli se zobrazí seznam lékáren, který bude seřazen dle vzdáleností od uživatele. Poloha uživatele by měla být zjištěná pomocí služeb mobilního zařízení jako například GPS nebo informace z mobilních stanic Nalezené lékárny aplikace umožní zobrazit v mapě Pro pohodlnou orientaci by všechny výsledky vyhledávání měly být zobrazeny na mapě. V OS Android lze pro zobrazení použít Google Mapy, které 10

27 1.1. Analýza požadavků poskytují sadu užitečných nástrojů pro zobrazení, jsou přesné a kvalitně zpracované Komunikace s jádrem aplikace Moje lékárna I když jsou moderní telefony s operačním systémem Android výkonné skoro jako počítače, velké výpočty a analýzu dat je mnohem lepší provádět na straně serveru. Důvodu je mnoho, patří mezi ně: velký počet aplikací běžících paralelně v mobilním zařízení, a tím menší počet systémových prostředků pro každou z nich; velký počet grafických prvků a náročné animace ke zpracování, což zabírá většinu výkonu zařízení, protože mobilní telefony nemají grafické adaptéry, a všechno se zpracovává procesorem; omezení paměťové kapacity; nedokonalé a poměrné drahé internetové připojení. Oproti tomu servery jsou velice výkonné, nejsou zatížené neúčelovými aplikacemi a zpracováním náročné grafiky, mají velké paměťové zásoby a jsou vysoce škálovatelné. Tyto důvody vedou k tomu, aby se mobilní verze aplikací chovala jako klient bez provádění náročných výpočtů, a nechávala co nejvíc práce serveru, jádru aplikace, s kterým by se synchronizovala a komunikovala prostřednictvím webových služeb. Hlavním důvodem, proč by nestačil samostatný klient, je to, že klient nemá přehled o cenách v lékárnách, což lze velice těžko zajistit z mnoha hledisek (nestačila by paměť pro uložení všech cen, nepodařilo by se provádět aktualizace v reálném čase z důvodu rychlosti internetového připojení a velkých objemů dat, bylo by složitější zajistit poskytování dat ze strany lékáren) Podpora 90 % mobilních zařízení s OS Android Android je moderní dynamická mobilní platforma, která je založena na jádru Linux. Stovky milionů mobilních zařízení po celém světě obsahují tento operační systém. Android patří společnosti Google a vyvíjí se konsorciem Open Handset Alliance a společnosti Google. První verze Androidu byla oficiálně zveřejněná 23. září Od té doby popularita Android den ode dne roste. Je to podmíněné tím, že Android se neustále zlepšuje a mění. Každý rok se vydává několik nových verzí s novými funkcemi. Verze Android jsou rozřazené podle API a podle verzí. Několik verzí může mít stejné API, tudíž stejné funkce. Se zvýšením API se přidávají nové funkce operačního systému (nové animace, podpora nového zařízení jako např. NFC, nové třídy a knihovny). Bohužel ne všechny změny jsou zpětně kompatibilní a často novější API klade větší nároky na hardwarovou 11

28 1. Analýza součást zařízení. V tabulce 1.1 jsou uvedené klíčové verze Android API a procentuální počet zařízení s odpovídajícími verzemi.[8] Version Codename API Distribution 1.6 Donut 4 0,1 % 2.1 Eclair 7 1,7 % 2.2 Froyo 8 3,7 % ,1 % Gingerbread ,4 % 3.2 Honeycomb 13 0,1 % Ice Cream Sandwich 15 27,5 % 4.1.x 16 26,1 % Jelly Bean 4.2.x 17 2,3 % Tabulka 1.1: Verze OS Android Je vidět, že zatím většina zařízení má Android s API 10, z čeho plyne, že aplikace musí být funkční minimálně na zařízeních s těmito verzemi Androidu. Neznamená to, že v aplikaci není možné použit funkce z vyšších verzí API, ale všechny použité funkce musí být zpětně kompatibilní Uživatelsky přívětivé rozhraní Při vývoji Androidu se velký důraz klade na uživatelské rozhraní a styl aplikace, možná je to jeden z klíčů k úspěchu platformy. Na webových stránkách určených pro vývojáře je velká sekce, která popisuje konstrukční zásady aplikace. Jsou tam i pokyny a doporučení ke stylům, barvám, rozměrům, použití návrhových vzorů a předefinovaných prvků uživatelského rozhraní. Ve své práci se budu snažit držet se pokynů a doporučení ohledně uživatelského rozhraní. Toto není jednoduchý úkol v neustále se měnících pokynech v návaznosti se zaváděním nových verzí API. Tudíž není možné, aby byl každý nový element zpětně kompatibilní. 1.2 Analýza případů užití Případy užití aplikace jsou představené na obrázku 1.1. Uživatel se pohybuje v aplikaci pomocí přepínání záložek nebo výběrem položky v menu. Takovým způsobem uživatel dovede: 12 Zobrazit košíky zobrazí se seznam košíků

29 1.2. Analýza případů užití Obrázek 1.1: Diagram případů užití Zobrazit recepty zobrazí se seznam receptů Zobrazit platby zobrazí se seznam plateb Zobrazit nejbližší lékárny zobrazí se seznam lékáren, seřazený podle vzdáleností Zobrazit uživatele zobrazí se seznam uživatelů Po rozkliknutí jednotlivých položek uživatel bude mít možnost odstranit položku (košík, recept, platbu nebo uživatele). Vedle odstranění uživatele je možné přidat nového nebo editovat libovolného uživatele ze seznamu. Na záložce Platby má uživatel možnost přidat novou platbu pomocí položky v menu. 13

30 1. Analýza Po kliknutí na ikonu Přepnout uživatele v navigační liště se zobrazí dialog se seznamem uživatelů. Po výběru jiného než aktuálního uživatele se přepne aktuální uživatel a aktualizují se veškeré záložky, aby odpovídaly aktuálnímu uživateli. Po výběru košíku může uživatel vyhledat cenu jeho obsahu pomocí ikony v navigační liště. Uživateli se zobrazí dialog s volbou hledání města nebo možnosti hledat podle aktuální polohy, v případě že bude k dispozici. Po zadání údajů a potvrzení aplikace se zobrazí seznam cen košíku v jednotlivých lékárnách nebo se zobrazí hlášení o chybě v případě že dojde k chybě. 14

31 Kapitola 2 Návrh V této kapitole se věnuji návrhu aplikace (návrhu architektury a uživatelského rozhraní), ale ze začátku popíšu obecnou strukturu aplikací pro platformu Android a jejich specifika. 2.1 Základy aplikací pro Android Aplikace pro Android jsou napsané v jazyku Java, ale jelikož Android je velký framework, v aplikacích se používá velký počet objektů a knihoven platformy. Aplikace je rozdělená na sources (česky zdrojové kódy), resources (česky prostředky) a Manifest soubor. V zdrojových kódech se definují aplikační komponenty a objekty, píše se programová logika, apod. Používají se stejně jako při běžném programování. Prostředky jsou podpůrné elementy, které používá aplikace (obrázky, audio soubory, všechno co se tyká vizuálního představení aplikace jako např. animace, menu, styly, barvy, popisky, prvky uživatelského rozhraní v podobě XML). Používaní prostředků přidává velkou pružnost aplikace. Je možné jednoduše změnit celý výhled uživatelského rozhraní nebo přeložit aplikaci na jiný jazyk bez změn v kódu. Manifest soubor je hlavní soubor, v kterém jsou nadefinované důležité údaje aplikace. Tam jsou nadefinované všechny použité komponenty, uvádějí se oprávnění, které aplikace vyžaduje, deklaruje se minimální podporované API, uvádějí se knihovny které aplikace potřebuje pro správné fungování jako např. Google Maps library. Aplikační komponenty jsou základními stavebními kameny Android aplikace. Komponenty jsou navzájem provázané a každý plní svou vlastní funkci. Jsou 4 druhy aplikačních komponent, jsou to Activities (česky aktivity), 15

32 2. Návrh Services (česky služby), Content providers (česky poskytovatelé obsahu) a Broadcast receivers (česky přijímače vysílání). Ale myslím si, že se dá přidat jako další základní typ komponent Fragments (fragmenty). Provázání a komunikace mezi většinou uvedených komponent probíhá přes Intent (česky záměr). Čerpáno z [2, 4] Intent Intent je asynchronní zpráva která je určená pro spouštění komponent a provázaní komponent mezi sebou. Pro Activity a Service Intent definuje akci, která musí být provedená, tudíž může obsahovat nějaké argumenty, URI i data. Například je moné poslat Activity asynchronní zprávu s požadavkem na zobrazení obrazovky nebo otevření webové stránky. Intent může vracet výsledek (např. můžeme požádat uživatele vybrat nějaký kontakt a on se vrátí v podobě Intent s URI ukazujícím na zvolený kontakt) Activities Activity představuje jednu obrazovku s uživatelským rozhraním. Je to základní kamen, bez kterého žádná aplikace nemůže existovat. Kromě toho, že Activity má v sobě vzhled, vždy má i nějakou logiku pro změnu vzhledu nebo interakci s uživatelem. Každá Activity má svůj životní cyklus, který se dělí na stav když Activity je aktivní a viditelná, stav když je aktivní ale neviditelná, a stav když není aktivní, ale ještě je živá a uložená na zásobníku. Pak už následuje ukončení aktivity. Activity se mění mezi stavy na základě uživatelských akcí a přepínání mezi Activity. Při nedostatku paměti každá Activity, která není viditelná může být ukončená a pak v případě potřeby vytvořená znovu Services Service je komponenta běžící na pozadí a určená k provádění dlouhých operací. Service nemá uživatelské rozhraní. Např. Service se hodí pro přehrávání hudby nebo stahovaní dat na pozadí, bez toho aby zastavovalo nebo zpomalovalo vlákno, které obsluhuje uživatelské rozhraní. Service může být spuštěna jinou komponentou, např. Activity, pomocí Intent. 16

33 2.2. Návrh uživatelského rozhraní Content providers Content providers je mezivrstva nebo rozhraní pro správu a poskytování dat aplikaci. Jednou z největších výhod je možnost sdílení dat jiným aplikacím. Jsou velice užitečné i uvnitř aplikace, protože mohou poskytovat data interním objektům pro načítání na pozadí Broadcast receivers Broadcast receiver je komponenta, která reaguje na vysílání oznámení přes celý systém. V systému se pořád vysílají různé zprávy, např. změna stavu sítě, zpráva že baterka je vybita a další. Je možné vysílat i vlastní zprávy do celého systému. Pro přijetí zprávy je nutné zaregistrovat přijímač, a aby on nedostával všechny existující zprávy, je nutné přidat filtr. Zprávy se posílají v podobě Intent objektů a mohou obsahovat nějaká data Fragments Novinkou platformy Android od verze 3, která přináší nové možnosti vývoje a mění styl programování je Fragments. Fragment je znovupoužitelná komponenta, která vlastní uživatelské rozhraní a životní cyklus. Mezi vlastnosti Fragments patří to, že se může zobrazovat několik Fragments vedle sebe, nebo dokonce jeden v druhém, což není možné v případě Activity. Proto pomocí Fragments se dá jednoduše přizpůsobit aplikaci jak pro telefon, tak i pro tablet (stačí přidat další Fragment vedle a hned se zvýší funkčnost a pohodlnost aplikace na velké obrazovce). Životní cyklus Fragment je skoro stejný jako Activity až na to, že Fragment je závislý na Activity a musí se na začátku přepojit k Activity a na konci se odpojit. I když Fragments se objevili nedávno, byla vytvořená knihovna, která poskytuje zpětnou kompatibilitu a je možné používat Fragments i na starší verzi operačního systému. 2.2 Návrh uživatelského rozhraní Jedním z požadavků na aplikaci je aby měla uživatelsky přívětivě rozhraní a aby byla pohodlná v použití. Při návrhu jsem se snažil zohlednit pokyny a požadavky platformy Android na aplikaci. Najednou jsem se snažil navrhnout aplikaci, aby byla použitelná na zařízeních s různě velkou obrazovkou (jak na telefonech, tak i na tabletech). 17

34 2. Návrh (a) První varianta (b) Druhá varianta Obrázek 2.1: Návrh uživatelského rozhraní Na začátku jsem měl na výběr 2 základní vzhledy aplikace (viz. obr 2.1) 2. První (viz. obr 2.1a) je když hlavní obrazovka vypadá jako dlaždice s ikonami různých součástí aplikace a po stisknutí na ikonu uživatel by přecházel k odpovídajícím obrazovkám. Druhy vzhled (viz. obr 2.1b) vypadal tak, že uživatel hned po spouštění aplikace vidí před sebou nějakou funkcionální obrazovku, na které už hned může provádět akci a nemusí přecházet na další pomocí stisku na ikonu. Přístup k dalším funkcím byl by zajištěn pomocí odkazu v menu a pomocí záložek i ikon v horní navigační liště (Action Bar). Každá z variant je něčím dobrá a každá má klady a zápory. První varianta je dobrá tím že je velice intuitivní a pochopitelná. Je to časem ověřený návrh a hodně aplikací existuje s takovým vzhledem. Ale přechod mezi obrazovkami je trošku těžší, protože se člověk vždy musí vracet na hlavní obrazovku pro volbu další akci. Také tato varianta není vhodná pro tablety, protože na obrazovce zůstává hodně volného místa. Tento návrh se spíš používá pro telefony, pro tablety se dělá jiná verze aplikace zvlášť. Druhá varianta je modernější a prosazuje ji Google jako nový standard Android aplikací. Tato varianta je dobrá tím, že uživatel hned po spouštění má před sebou funkcionální obrazovku a může hned provádět akce. Přechod mezi akce a obrazovky také je rychlejší. Ale největší výhoda je že tento návrh 2 Návrh byl vytvořen pomocí aplikace fluid, dostupné na 18

35 2.3. Návrh architektury se aplikuje jak na telefony, tak i na tablety a na obojích perfektně funguje. Nevýhoda je že možná ne pro všechny je tento návrh intuitivní a ne pro veškeré aplikace se tento vzhled hodí. Po zvážení každého návrhu a zhodnocení kladů a záporů každého z nich jsem rozhodl pro druhou variantu. Důležitým faktorem při výběru byla možnost použití vzhledu na telefonu i na tabletu, a myslím si, že druhá varianta pro tuto aplikaci je ještě pohodlnější v používání. 2.3 Návrh architektury Při vývoje jakékoli aplikace je důležité udělat dobrý návrh architektury. Architektura aplikace musí nejenom odpovídat na požadavky systému, ale musí být schopna reagovat na budoucí změny a přizpůsobovat se jím s co nejmenším zásahem a změnami. Při návrhu jsem se snažil uspokojit veškeré požadavky na aplikaci a vytvořit efektivní a udržovatelnou architekturu. Jelikož aplikace musí mít databázi pro uložení informace, musí provádět synchronizaci a aktivně komunikovat s uživatelem, jsem si rozhodl rozložit architekturu do několika vrstev. Z mého pohledu třívrstvá architektura je velice efektivní a velice dobře udržovatelná. Prezentační vrstva odpovídá za zobrazení informace uživateli a kontroluje jeho vstupy, aplikační nebo business vrstva obsahuje v sobě celou logiku a zpracovává data, datová vrstva představuje databázi nebo souborový systém pro uložení informace. Každá nižší vrstva poskytuje služby vyšší vrstvě. V případě aplikací pro Android je těžko zachovat čistou třívrstvou architekturu, protože Activity jsou postavené tak, že mají v sobě nějakou aplikační logiku a provádí nějaké zpracování dat. Proto prezentační vrstva v Androidu je s elementy aplikační logiky, ale ostatní vrstvy mohou být samostatné a fungovat podle návrhu. V mém návrhu nejnižší datová vrstva je tvořená XML soubory, které jsou přístupné v aplikaci přes SharedPreferences objekty, a databází, která je přístupna přes Content Providers. Jsem si rozhodl nejen pro použití databáze ale i XML souboru a SharedPreferences objektů protože jejích implementace je mnohem jednodušší a ideálně se hodí pro ukládání malého množství dat. Business vrstva se skládá z DAO tříd pro přístup k databázi a Content Providers, SharedPreferences objektů pro přístup k datům uloženým v XML souborech a tříd pro komunikace se serverem a synchronizaci. Pro pohodlný přístup k této vrstvě z vyšší jsem použil návrhový vzor Facade. Tento návrhový vzor je založen na tom, že poskytuje vyšší vrstvě zjednodušené a pohodlnější rozhraní pro přístup k nižším vrstvám. Do této vrstvy je možné 19

36 2. Návrh odnést i Services, které nemají uživatelské rozhraní a provádí synchronizací a zjišťovaní polohy na pozadí. Přistupuje se k nim pomocí Intent objektů, a komunikace je zajištěná pomocí Broadcast Receivers. Prezentační vrstva je v aplikaci představená všemi Activities a Fragments, které se zobrazují uživateli a mají v sobě minimální logiku. Snažil jsem se maximálně rozdělit vrstvy, aby každá odpovídala pouze za své věci a nezasahovala do dalších vrstev, ale ne vždy je to možné kvůli specifikám platformy. 20

37 Kapitola 3 Realizace V kapitole Realizace bych se chtěl věnovat implementaci samotné aplikace. Při implementaci jsem se držel návrhu a poznatků z analýzy. Bylo by zbytečné popisovat implementaci každé třídy, proto se v této kapitole zaměřím na nestandardní řešení a nejproblematičtější části implementace. 3.1 Skenovaní čárových kódů Při přidávání léků do košíku nebo při vytváření receptu uživatel musí zadat název léku, lékovou formu a obsah balení. I když po zadání názvu léků aplikace nabídne pouze ty lékové formy a balení, které může daný lék mít, tato operace by pro některé uživatele mohla být problematická. Poměrně často lidé kupují léky, který už brali. Aby se usnadnil způsob zadávání léků, v případě že člověk má k dispozici balení, bylo rozhodnuto přidat možnost vkládání léku pomocí skenovaní čárového kódu na obalu. Na výběr jsem měl 3 možností implementace této funkce: vlastní implementace celého algoritmu skenování, použití existující knihovny nebo použití služeb externí aplikace. První možnost je nejnáročnější a domnívám se, že předělávat to, co již existuje a dobře funguje, není smysluplné. Studium, přepracování algoritmu skenovaní a implementace by bylo příliš pracné a mohlo by být tématem pro samostatný projekt. Jelikož mé cíle jsou jiné a z důvodů neefektivity řešení pomocí vlastní implementace algoritmu skenování jsem tuto variantu zamítl. Použití existující knihovny je dobrým řešením z několika pohledů. První je že ušetřím čas a použiji to, co existuje a dobře funguje, a druhy je že, uživatel nemusí mít nainstalovanou aplikaci pro skenování čárových kódů, tudíž tato funkce bude nezávislá a bude vždy fungovat. Jako příklad knihovny 21

38 3. Realizace pro skenování čárových kódů je vhodná open-source knihovna ZXing 3 implementovaná v jazyce Java. Na této knihovně je postavená řada programů pro skenování čárových kódů pro OS Android a jiné platformy. Nevýhodou by byla skutečnost, že knihovna by zvětšila rozměr aplikace, a v případě, že uživatel by tuto funkci nevyužíval, zabírala by zbytečné místo. Pokud by uživatel měl nainstalovanou aplikaci pro skenování čárových kódu, tak by bylo zbytečně mít další knihovnu zabudovanou v aplikaci navíc. Třetí varianta je nejlepší z pohledu platformy Android. Aplikace neobsahuje zbytečné komponenty a v případě, že potřebuje doplňující informace, požádá o ně pomocí Intent objektu. Systém sám vyhledá nainstalovanou aplikaci pro skenování čárových kódů, uživatel naskenuje daný kód, a systém pošle výsledek skenovaní pomocí Intent objektu. Jediný problém je chybějící aplikace na skenovaní, která se ale dá předem ošetřit pomocí systémových prostředku. V případe, kdy uživatel žádnou takovou aplikaci nemá nainstalovanou, program může nabídnout její stažení. Vývojáři knihovny ZXing naimplementovali IntentIntegrator pro Android. Je to jen adaptér pro použití externí aplikace na skenovaní postavené na ZXing knihovně. Adaptér se chová uživatelsky přívětivé a zjistí, zda je aplikace nainstalována, případně nabídne její instalaci a vrátí výsledek po skenovaní kódu. Do kódu stačí přidat pár řádek pro vyvolání: 1 I n t e n t I n t e g r a t o r i n t e g r a t o r = new I n t e n t I n t e g r a t o r ( a c t i v i t y ) ; 2 i n t e g r a t o r. i n i t i a t e S c a n ( ) ; Po návratu zpět do aplikace je nutné zpracovat výsledek pomocí standardní metody: 1 public void o n A c t i v i t y R e s u l t ( int requestcode, int resultcode, I n t e n t i n t e n t ) { 2 I n t e n t R e s u l t scanresult = I n t e n t I n t e g r a t o r. p a r s e A c t i v i t y R e s u l t ( requestcode, resultcode, i n t e n t ) ; 3 i f ( scanresult!= null ) { 4 // handle scan r e s u l t 5 } 6 // e l s e continue with any other code you need in the method } Jelikož většina majitelů mobilních telefonů s OS Android má nainstalovanou aplikaci pro skenovaní čárových kódů, použil jsem možnost skenovaní pomocí externí aplikace a přímo IntentIntegrator od ZXing

39 3.2. Propojení s API 3.2 Propojení s API Aplikace by nemohla existovat bez serveru, a proto je důležitá část implementace propojení aplikace s API serveru. Na straně serveru byly připravené webové služby, které pomocí rozhraní REST přijímaly a odpovídaly na požadavky. Server podporuje komunikaci ve formátu XML a JSON. Platforma Android nemá zabudované syntaktické analyzátory jako např. JAXB a zpracovaní XML je docela nepohodlné. Je nutné buď napsat vlastní DOM nebo SAX, nebo XML pull parser 4 pro každou třídu nebo použít externí knihovnu. Bohužel se mi ale nepodařilo nalézt knihovnu vhodnou pro tento účel. Pro zpracování JSON Android také nemá standardní prostředky, ale existuje knihovna Gson 5, která odpovídá všem požadavkům. JSON formát je také úspornější než XML, proto jsem implementoval posílání a zpracovaní dat ve formátu JSON s použitím knihovny Gson. Při implementaci jsem narazil na několik komplikací. První bylo vyloučení nějaké proměny z serializace. Gson má anotaci která umožňuje přidat do serializace proměnnou, v případě že je nastaveno pravidlo pro výběr pouze anotovaných proměnných. Přímo na stránkách s uživatelkou příručkou pro knihovnu Gson je uvedeno několik postupů, které umožňují takovýto problém vyřešit. Jako nejvhodnější způsob jsem shledal vytvoření vlastní anotace a použití pravidla pro vylučování položek s danou anotaci. Přidal jsem následující anotaci a pravidlo pro vylučování: ( R e t e n t i o n P o l i cy.runtime) ({ ElementType. FIELD}) 3 public i n t e r f a c e S k i p S e r i a l i z a t i o n { 4 // F i e l d tag only annotation 5 } 6 7 public static class S k i p S e r i a l i z a t i o n E x c l u s i o n S t r a t e g y implements E x c l u s i o n S t r a t e g y { 9 public boolean s h o u l d S k i p F i e l d ( F i e l d A t t r i b u t e s f ) { 10 return f. getannotation ( S k i p S e r i a l i z a t i o n. class )!= null ; 11 } 13 public boolean shouldskipclass ( Class <?> c l a z z ) { 14 return c l a z z. getannotation ( S k i p S e r i a l i z a t i o n. class )!= null ; 15 } 16 } 4 XML pull parser obdoba SAX parser, je postaven na principu zpracovaní událostí

40 3. Realizace Dále bylo nutné zaregistrovat pravidlo při vytváření Gson objektu: 1 Gson gson = new GsonBuilder ( ) 2. s e t E x c l u s i o n S t r a t e g i e s (new S k i p S e r i a l i z a t i o n E x c l u s i o n S t r a t e g y ( ) ) 3 // R e g i s t e r other r u l e s 4. c r e a t e ( ) ; Druhým problémem byla nutnost serializovat objekt jiným způsobem než standardním. Například při vyhledávání cen není nutné posílat celý objekt který popisuje lék, stačí pouze jeho identifikátor. Knihovna Gson poskytuje možnost používat vlastní serializator/deserializator. V kódu vypadá následujícím způsobem: 1 public static class M e d i c i n e S e r i a l i z e r implements J s o n S e r i a l i z e r <Medicine> { 3 public JsonElement s e r i a l i z e ( Medicine src, Type typeofsrc, J s o n S e r i a l i z a t i o n C o n t e x t context ) { 4 return new JsonPrimitive ( s r c. getcode ( ) ) ; 5 } 6 } Poté je třeba zaregistrovat serializator na objektu Gson: 1 Gson gson = new GsonBuilder ( ) 2. registertypeadapter ( Medicine. class, new M e d i c i n e S e r i a l i z e r ( ) ) 3 // R e g i s t e r other r u l e s 4. c r e a t e ( ) ; 3.3 Práce na pozadí Pro práci na pozadí v Androidu jsou nadefinované třídy AsyncTask a Loader. Čerpáno z [3, 5] AsyncTask AsynkTask je velice efektivní nastroj pro práci na pozadí, který byl představen spolu s Android API 3. Životní cyklus je rozřazen do následujících metod: 24 onpreexecute() metoda pro přípravu před spouštěním doinbackground(t...) metoda pro zpracování dat na pozadí

41 3.3. Práce na pozadí onprogressupdate(t...) metoda pro notifikace uživatele o stavu procesu onpostexecute(t) metoda pro vracení výsledku oncancelled() metoda pro notifikace v případě zrušení úlohy Po přidání kontextu Activity jako argumentu AsyncTask dovede informovat uživatelé o stavu úlohy pomocí metody onprogressupdate(t...) nebo o výsledku pomocí onpostexecute(t). Zde nastává největší problém. V případě že uživatel otočí zařízení, Activity a vnitřní Fragments se vytvoří znovu, aby přizpůsobil vzhled k poloze zařízení, a s tím se změní i kontext, který nebude předáván AsyncTask. Tím pádem AsyncTask bude pracovat dál a používat odkaz na již nevalidní kontext. Pokud bude chtít notifikovat uživatele, použije tento nevalidní kontext, čímž způsobí výjimku a následné spadnutí aplikace. Proto jsem musel využít Loaders, a nechat AsyncTasks pouze tam kde není nutné nic vracet uživateli nebo je zakázané otáčení obrazovky Loader Loader je nastroj pro asynchronní načítání dat, který byl představen v Android API 11, ale má zpětnou kompatibilitu. Loader má následující charakteristiky: Je dostupný pro každý Fragment nebo Activity Provádí se asynchronně Sleduje změny dat a při změně se aktualizuje Nepotřebuje znovu načítat data po otočení při změně konfigurace Objekt Loader je napojen na životní cyklus Fragment nebo Activity, a při jakýchkoliv změnách má vždy aktuální kontext, proto netrpí stejnými problémy jako AsyncTask. Další zajímavá možnost Loaders je že mohou získávat data od Content Providers ve formě Cursor (rozhraní, které poskytuje náhodný přístup pro čtení a zápis k výsledkům databázového dotazu). Objekty Cursor se používají většinou u komponent uživatelského rozhraní na stejné úrovni jako pole dat. Kvůli výhodám objektů Loader jsem je upřednostnil před objekty Async- Tasks, což to mě donutilo používat Content Providers ve své implementaci. 25

42 3. Realizace 3.4 Použití Content Providers Standardním přístupem k datům z databáze v platformě Android je použití metod insert(), update(), delete() a query() nad objektem SQLite- Database. Je možné používat metodu rawquery(), v případě, že je třeba používat pokročilejší funkce, např. sloučení tabulek. Také existuje metoda execsql(), kterou nedoporučuji používat pro příkazy SELECT, INSERT, UPDATE nebo DELETE, jelikož nemá návratovou hodnotu. Hodí se však příkazy řízení databází, např. ALTER TABLE, CREATE, DROP, REINDEX a další. Content Provider obaluje databázovou vrstvu a přidává užitečnou možnost mít přístup k databázi z různých částí aplikace nebo zvenku. Vnitřní implementace Content Provider je založená na standardním dotazování objektu SQLiteDatabase. Podle dokumentací OS Android Content Provider nejsou doporučené pro používaní v případě že aplikace nebude předávat data navenek nebo nepotřebuje funkce Content Provider. Mobilní klient nebude moci sdělit data dalším aplikacím, ale potřebuje Content Providers pro objekty Loaders, kvůli čemuž jsem je používal při implementaci. 3.5 Vkládání velkého množství dat V databázi aplikace bude uložen poměrně velký počet dat, např. léků bude řadově deset tisíc. Během vkládání testovacích dat léků do databází, jsem byl nepříjemně překvapen, operace vkládání záznamů trvala kolem 5 minut. Předpokládal jsem, že výsledkem pomalého vkládání byla buď nedokonalost standardních funkcí nebo velká časová režie, která vznikla při vkládání po jedné položce v jedné transakci. Android poskytuje nástroje pro ruční řízení transakci, které jsou ošetřeny pomocí následujících metod, které se volají nad objektem SQLite- Database: begintransaction() oznámení o začátku transakce settransactionsuccessful() potvrzení úspěšného dokončení transakce endtransaction() dokončení transakce, uložení dat nebo zrušení transakce Kromě standardních prostředků pro vkládání Android má objekt InsertHelper, který není detailně zdokumentován, a podle Android API 17 je 26

43 3.6. Použití Native Development Kit tento objekt označen za zastaralý. Další možností vkládání objektů je příkaz execsql(), který ale není doporučen, protože nemá žádnou návratovou hodnotu.[6] Před konečným rozhodnutím. které komponenty mám použit, jsem se rozhodl otestovat každou možnost s použitím transakce a možnost vkládání prostřednictvím standardní metody insert() bez použití transakce. Testování probíhalo na dvou zařízeních, mobilním telefonu HTC Desire V s OS Android verzí a procesorem 1 GHz Cortex-A5 a mobilním telefonu Samsung Galaxy Mini S5570 OS Android verzí a procesorem 600 MHz ARMv6. Vkládalo se záznamů. Průměrné výsledky testování jsou představené v tabulce 3.1. HTC Desire V Samsung Galaxy Mini S5570 insert() s transakcí 5,373 s 10,469 s InsertHelper s transakcí 3,778 s 6,552 s execsql() s transakcí 3,837 s 7,596 s insert() bez transakce 305,270 s 206,773 s Tabulka 3.1: Testování rychlostí vkládaní dat Podle výsledků testování všech možností jsem rozhodl pro použití objektů InsertHelper. Přestože od poslední verzí API je označen jako zastaralý, poskytuje nejvyšší rychlost při vkládání dat a po vkládání vrací hodnotu, ukazující úspěšnost provedení operací, což nedělá metoda execsql() při téměř stejné rychlosti. 3.6 Použití Native Development Kit NDK je sada nástrojů která umožňuje používat v aplikaci nativní kód, jako např. C nebo C++, přes JNI. Většina aplikací nepotřebuje použití NDK a ne vždy je to přínosné.[1] K použití NDK mě donutily omezení SQLite databáze a Android knihovny pro práci s databází. Jelikož počet lékáren v databázi bude řadově v tisících a aplikace bude muset obsahovat funkce pro zobrazení lékáren v okolí, seřazených podle vzdálenosti, bylo by velice neefektivní vybírat všechny lékárny a následně je seřazovat podle vzdálenosti. Je vhodnější nechat tuto funkci na databázi. Bohužel SQLite nemá přímou podporu trigonometrických funkci, které jsou nutné k výpočtu vzdáleností mezi dvěma body, ale má možnost nadefinovat a používat vlastní funkce. Další překážkou je omezení knihovny Android pro práci s databází, která neposkytuje možnost 27

Jak vyhledávat v databázi léků. www.olecich.cz

Jak vyhledávat v databázi léků. www.olecich.cz Jak vyhledávat v databázi léků www.olecich.cz Kde najít databázi léků? Databázi léků naleznete na webové adrese Informačního portálu pro veřejnost www.olecich.cz. První rychlou volbou je hlavní nabídka

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

Jak vyhledávat v databázi léků

Jak vyhledávat v databázi léků Jak vyhledávat v databázi léků www.olecich.cz Kde najít databázi léků? Obr. 1 Databázi léků naleznete na webové adrese Informačního portálu pro veřejnost www.olecich.cz. První rychlou volbou je hlavní

Více

Uživatelský manuál. Aplikace GraphViewer. Vytvořil: Viktor Dlouhý

Uživatelský manuál. Aplikace GraphViewer. Vytvořil: Viktor Dlouhý Uživatelský manuál Aplikace GraphViewer Vytvořil: Viktor Dlouhý Obsah 1. Obecně... 3 2. Co aplikace umí... 3 3. Struktura aplikace... 4 4. Mobilní verze aplikace... 5 5. Vytvoření projektu... 6 6. Části

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

Nemocnice. Prvotní analýza a plán projektu

Nemocnice. Prvotní analýza a plán projektu Nemocnice Projekt do předmětu AIS Prvotní analýza a plán projektu Lukáš Pohl, xpohll00, xkosti03 Jan Novák, xnovak79 2009/2010 1 Neformální specifikace FN potřebuje informační systém, který bude obsahovat

Více

Zálohování v MS Windows 10

Zálohování v MS Windows 10 Zálohování v MS Windows 10 Historie souborů Způsob zálohování jako v MS Windows 8.1 Nastavení Aktualizace a zabezpečení Zálohování nebo Ovládací panely Systém a zabezpečení - Historie souborů Přidat jednotku

Více

1. Podmínky chodu aplikace

1. Podmínky chodu aplikace 1 / 15 1. Podmínky chodu aplikace Licenční instalace určení pro značku, lokální instalace, nebo síťová licencovaná MAS serverem. 1.1. Instalace podpory MicroCat na lokální stanici Na dané stanici musí

Více

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

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

Více

Jak vyhledávat v databázi léků.

Jak vyhledávat v databázi léků. Jak vyhledávat v databázi léků www.sukl.cz Kde najít databázi léků? Databázi léků naleznete na webové stránce Státního ústavu pro kontrolu léčiv www.sukl.cz na titulní straně v levém sloupci (viz obr.

Více

1.1. Základní informace o aplikacích pro pacienta

1.1. Základní informace o aplikacích pro pacienta Registrace a aktivace uživatelského profilu k přístupu do aplikace systému erecept pro pacienta, přihlášení do aplikace systému erecept pro pacienta na základě registrovaného profilu v NIA nebo elektronického

Více

Technologické postupy práce s aktovkou IS MPP

Technologické postupy práce s aktovkou IS MPP Technologické postupy práce s aktovkou IS MPP Modul plánování a přezkoumávání, verze 1.20 vypracovala společnost ASD Software, s.r.o. dokument ze dne 27. 3. 2013, verze 1.01 Technologické postupy práce

Více

PROBLEMATIKA E-RECEPTU Z POHLEDU LÉKAŘE

PROBLEMATIKA E-RECEPTU Z POHLEDU LÉKAŘE PROBLEMATIKA E-RECEPTU Z POHLEDU LÉKAŘE MUDr. Marie Löblová Diabetologická a obezitologická ambulance EUC klinika, s.r.o. České Budějovice 21.2.2018 PŘÍPRAVA NA POVINNOSTI KE ZÍSKÁNÍ E-RECEPTU PRO LÉKAŘE

Více

7. Enterprise Search Pokročilé funkce vyhledávání v rámci firemních datových zdrojů

7. Enterprise Search Pokročilé funkce vyhledávání v rámci firemních datových zdrojů 7. Enterprise Search Pokročilé funkce vyhledávání v rámci firemních datových zdrojů Verze dokumentu: 1.0 Autor: Jan Lávička, Microsoft Časová náročnost: 30 40 minut 1 Cvičení 1: Vyhledávání informací v

Více

RadioBase 3 Databázový subsystém pro správu dat vysílačů plošného pokrytí

RadioBase 3 Databázový subsystém pro správu dat vysílačů plošného pokrytí Databázový subsystém pro správu dat vysílačů plošného pokrytí RadioBase je datový subsystém pro ukládání a správu dat vysílačů plošného pokrytí zejména pro služby analogové a digitální televize a rozhlasu.

Více

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

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

Více

Návod k využívání interaktivních funkcí

Návod k využívání interaktivních funkcí Návod k využívání interaktivních funkcí Vážení zákazníci, těší nás, že jste se rozhodli využívat výhody Interaktivní TV. Svoji Interaktivní TV budete ovládat přes velmi jednoduchou a intuitivní aplikaci.

Více

Ovládání aplikace erecept

Ovládání aplikace erecept Ovládání aplikace erecept Postup pro vystavení ereceptu Jaké jsou povinné údaje pacienta při vystavení ereceptu Řešení chyb při vystavení ereceptu Historie vystavených ereceptů Správa zaměstnanců Správa

Více

UNIVERZITA PARDUBICE Fakulta elektrotechniky a informatiky Katedra softwarových technologií

UNIVERZITA PARDUBICE Fakulta elektrotechniky a informatiky Katedra softwarových technologií UNIVERZITA PARDUBICE Fakulta elektrotechniky a informatiky Katedra softwarových technologií Softwarový nástroj pro tvorbu a správu genealogických dat Manuál pro uživatele Bc. František Hlaváček Součást

Více

Obsah. Úvod 11 Zpětná vazba od čtenářů 13 Errata 14 Poznámka ke kódům 14

Obsah. Úvod 11 Zpětná vazba od čtenářů 13 Errata 14 Poznámka ke kódům 14 Úvod 11 Zpětná vazba od čtenářů 13 Errata 14 Poznámka ke kódům 14 KAPITOLA 1 Nové rysy Windows 8 a 8.1 15 Nové uživatelské rozhraní 15 Rychlý náběh po zapnutí 16 Informace v prvním sledu 16 Nové prezentační

Více

TUR A2 Vojtěch Kessler

TUR A2 Vojtěch Kessler Samsung Kies Obsah Obsah... 0 1 Popis aplikace... 2 2 Cílová skupina... 2 3 Přehled případů užití... 2 3.1 Připojení telefonu, nebo tabletu... 2 3.2 Aktualizace firmware... 2 3.3 Zálohování dat... 2 3.4

Více

Mobilní aplikace. Uživatelský manuál

Mobilní aplikace. Uživatelský manuál Uživatelský manuál Obsah Základní informace a nastavení... 3 Nastavení přístupu... 4 Registrace docházky... 5 Editace vlastní docházky... 5 Ovládaní z mobilní aplikace... 6 Konfigurace mobilní aplikace...

Více

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Číslo projektu: CZ.1.07/1.5.00/34.0410 Číslo šablony: 20 Název materiálu: Android vs ios Ročník: Identifikace materiálu: Jméno autora: Předmět:

Více

Obsah. při vyšetření pacienta. GDT souboru do programu COSMED Omnia GDT souboru z programu COSMED Omnia a zobrazení výsledků měření v programu MEDICUS

Obsah. při vyšetření pacienta. GDT souboru do programu COSMED Omnia GDT souboru z programu COSMED Omnia a zobrazení výsledků měření v programu MEDICUS Obsah Napojení...3 programu COSMED Omnia Nastavení...3 MEDICUS Přidání...3 externího programu COSMED Omnia Přidání...4 ikony do panelu nástrojů Nastavení...5 COSMED Omnia Postup...5 při vyšetření pacienta

Více

Nápověda Mobile ikup (www.ikup.cz)

Nápověda Mobile ikup (www.ikup.cz) Nápověda Mobile ikup (www.ikup.cz) Mobile ikup je další aplikací TEAMu PhoneSoft, vyvinutou na zakázku tentokrát pro ikup s.r.o., která vyhledává aukce na serveru www.ikup.cz. Můžete díky ní zjistit všechny

Více

Mobilní informační průvodce - RegTim

Mobilní informační průvodce - RegTim Mobilní informační průvodce - RegTim nabízí zpřístupnění kulturního a přírodního dědictví regionu s využitím moderních mobilních informačních technologií pro podporu cestovního ruchu a inovativní propagaci

Více

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena.

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena. 2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena. GEOVAP, spol. s r. o. Čechovo nábřeží 1790 530 03 Pardubice Česká republika +420 466 024 618 http://www.geovap.cz V dokumentu použité názvy programových

Více

Roční periodická zpráva projektu

Roční periodická zpráva projektu WAK-1F44C-2005-2 WAK System Název projektu: Automatizovaná výměna dat mezi informačními systémy krizového řízení v dopravě s jednotným univerzálním a implementovaným rozhraním založeným na standardu webových

Více

HP-2000E UŽIVATELSKÝ MANUÁL

HP-2000E UŽIVATELSKÝ MANUÁL HP-2000E UŽIVATELSKÝ MANUÁL Strana 1 / 7 Úvod AirLive konfigurační utilita pro OS Windows umožňuje uživatelům identifikovat HomePlug zařízení (HP1000E Sérii & HP2000E Sérii) v elektrické síti. Dále zobrazuje

Více

Registrace a aktivace uživatelského profilu k přístupu do systému erecept pro pacienta

Registrace a aktivace uživatelského profilu k přístupu do systému erecept pro pacienta Registrace a aktivace uživatelského profilu k přístupu do systému erecept pro pacienta 1. Obecné 1.1. Základní informace o aplikacích pro pacienta Pro pacienty je zpřístupněná webová a mobilní aplikace.

Více

Vlákno (anglicky: thread) v informatice označuje vlákno výpočtu neboli samostatný výpočetní tok, tedy posloupnost po sobě jdoucích operací.

Vlákno (anglicky: thread) v informatice označuje vlákno výpočtu neboli samostatný výpočetní tok, tedy posloupnost po sobě jdoucích operací. Trochu teorie Vlákno (anglicky: thread) v informatice označuje vlákno výpočtu neboli samostatný výpočetní tok, tedy posloupnost po sobě jdoucích operací. Každá spuštěná aplikace má alespoň jeden proces

Více

Tabletová aplikace. Uživatelský manuál

Tabletová aplikace. Uživatelský manuál Uživatelský manuál Obsah Základní informace... 4 Instalace a přihlášení... 5 Verze CLOUD... 5 Verze SERVER... 8 Verze DEMO... 10 Nastavení displeje, tlačítek... 11 Obecná konfigurace... 11 GPS pozice...

Více

WinMEDICO ERP_Elektronický recept v 2.20

WinMEDICO ERP_Elektronický recept v 2.20 I. Předpoklady expedice WinMEDICO ERP_Elektronický recept v 2.20 MEDICO 1) Na expedičních PC nainstalované WinMEDICO a potřebné knihovny Chilkat a Xsign. 2) Funkční VPN router SÚKLu. 3) Funkční podpisový

Více

Aplikace NAM tracker

Aplikace NAM tracker Obsah: 1. K čemu je aplikace určena?....................................3 2. Přihlášení.............................................3 2.1. Seznam Objektů (výchozí obrazovka)..............................

Více

Po prvním spuštění Chrome Vás prohlížeč vyzve, aby jste zadali své přihlašovací údaje do účtu Google. Proč to udělat? Máte několik výhod:

Po prvním spuštění Chrome Vás prohlížeč vyzve, aby jste zadali své přihlašovací údaje do účtu Google. Proč to udělat? Máte několik výhod: Internetový prohlížeč CHROME Pro správné fungování veškerých funkcionalit, které nám nástroje společnosti Google nabízí, je dobré používat prohlížeč Chrome. Jeho instalaci je možné provést z webové adresy:

Více

Nastavení provozního prostředí webového prohlížeče pro aplikaci

Nastavení provozního prostředí webového prohlížeče pro aplikaci Nastavení provozního prostředí webového prohlížeče pro aplikaci IS o ISVS - Informační systém o informačních systémech veřejné správy verze 2.03.00 pro uživatele vypracovala společnost ASD Software, s.r.o.

Více

Reranking založený na metadatech

Reranking založený na metadatech České vysoké učení technické v Praze Fakulta informačních technologií Katedra softwarového inženýrství Reranking založený na metadatech MI-VMW Projekt IV - 1 Pavel Homolka Ladislav Kubeš 6. 12. 2011 1

Více

Návod k obsluze IP kamery Zoneway. IP kamery jsou určené pro odbornou montáž.

Návod k obsluze IP kamery Zoneway. IP kamery jsou určené pro odbornou montáž. Návod k obsluze IP kamery Zoneway. IP kamery jsou určené pro odbornou montáž. Obsah 1 Úvod... 1 2 Návod pro připojení do webového rozhraní... 1 2.1 Připojení kamery k WiFi síti... 4 2.2 Postup nastavení

Více

ZMODO NVR KIT. Instalační příručka

ZMODO NVR KIT. Instalační příručka ZMODO NVR KIT Instalační příručka KROK 1 1. Zkontrolujte si obsah balení ZMODO NVR Kitu: NVR server 4 x IP kamera Napájecí adaptéry pro IP kamery LAN kabel CD se softwarem Příručka ( ke stažení na www.umax.cz)

Více

INFORMAČNÍ SYSTÉM VIDIUM A VYUŽITÍ MODERNÍCH TECHNOLOGIÍ

INFORMAČNÍ SYSTÉM VIDIUM A VYUŽITÍ MODERNÍCH TECHNOLOGIÍ INFORMAČNÍ SYSTÉM VIDIUM A VYUŽITÍ MODERNÍCH TECHNOLOGIÍ Michal Brožek, Dominik Svěch, Jaroslav Štefaník MEDIUM SOFT a.s., Cihelní 14, 702 00 Ostrava, ČR Abstrakt Neustále rostoucí význam sběru dat, možnost

Více

Aplikace NAM tracker pro ios. Příručka platí pro verzi NAM trackeru 1.1.0

Aplikace NAM tracker pro ios. Příručka platí pro verzi NAM trackeru 1.1.0 Příručka platí pro verzi NAM trackeru 1.1.0 Obsah: 1. K čemu je aplikace určena?....................................3 2. Přihlášení.............................................3 2.1. Seznam Objektů.........................................

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

1. ÚVOD A INFORMACE O APLIKACI -3- 2. PŘÍSTUP DO SYSTÉMU IS LUCI A BEZPEČNOST -4- - 3. PŘÍSTUPOVÁ PRÁVA K SYSTÉMU -5-

1. ÚVOD A INFORMACE O APLIKACI -3- 2. PŘÍSTUP DO SYSTÉMU IS LUCI A BEZPEČNOST -4- - 3. PŘÍSTUPOVÁ PRÁVA K SYSTÉMU -5- MANUÁL K APLIKACI 1 OBSAH: 1. ÚVOD A INFORMACE O APLIKACI -3-2. PŘÍSTUP DO SYSTÉMU IS LUCI A BEZPEČNOST -4- - 3. PŘÍSTUPOVÁ PRÁVA K SYSTÉMU -5-4. HELPDESK ASISTENCE A DŮLEŽITÉ KONTAKTY -6-5. PRŮVODCE OBRAZOVKAMI

Více

Testování operačního systému Windows Phone 8

Testování operačního systému Windows Phone 8 Testování operačního systému Windows Phone 8 Semestrální práce A2 v rámci předmětu A4B39TUR Muška Adam ČVUT FEL STM 0 Obsah 1. Popis přístroje... 2 2. Popis cílové skupiny... 2 3. Přehled případů užití...

Více

MAPA OBCHODU A SLUŽEB IMPLEMENTOVANÁ DO MOBILNÍHO MAPOVÉHO KLIENTA SPINBOX ÚŘAD MĚSTSKÉ ČÁSTI PRAHA 2, NÁMĚSTÍ MÍRU 600/20, 120 39, PRAHA 2

MAPA OBCHODU A SLUŽEB IMPLEMENTOVANÁ DO MOBILNÍHO MAPOVÉHO KLIENTA SPINBOX ÚŘAD MĚSTSKÉ ČÁSTI PRAHA 2, NÁMĚSTÍ MÍRU 600/20, 120 39, PRAHA 2 MAPA OBCHODU A SLUŽEB IMPLEMENTOVANÁ DO MOBILNÍHO MAPOVÉHO KLIENTA SPINBOX ÚŘAD MĚSTSKÉ ČÁSTI PRAHA 2, NÁMĚSTÍ MÍRU 600/20, 120 39, PRAHA 2 RESPONZIVNÍ DESIGN - tento design zaručuje, že zobrazení stránky

Více

Interaktivní funkce Selfnet TV

Interaktivní funkce Selfnet TV Interaktivní funkce Selfnet TV Uživatelská příručka Vážení zákazníci, těší nás, že jste se rozhodli využívat výhody interaktivní televize Selfnet TV. Svoji Selfnet TV budete ovládat přes velmi jednoduchou

Více

Mobilní aplikace. Uživatelský manuál

Mobilní aplikace. Uživatelský manuál Uživatelský manuál Obsah Základní informace a nastavení... 3 Nastavení přístupu... 4 Registrace docházky... 5 Editace vlastní docházky... 5 Ovládaní z mobilní aplikace... 6 Konfigurace mobilní aplikace...

Více

pouˇzití USB nebo SPI

pouˇzití USB nebo SPI Připojení modulů IQRF k platformě Android za pouˇzití USB nebo SPI Bc. Josef Jebavý, http://xeres.cz 25. srpna 2015 Obsah 1 Operační systém Android 2 2 Moˇznosti řešení 2 2.1 USB........................................

Více

Program Sharpdesk Sharpdesk řešení pro správu dokumentů

Program Sharpdesk Sharpdesk řešení pro správu dokumentů Program Sharpdesk Sharpdesk řešení pro správu dokumentů Práce s firemními informacemi Správa firemních dokumentů Jak zaznamenávat, organizovat a sdílet Vaše informace Sharpdesk je jedním z nejoblíbenějších

Více

Testování mobilní navigace NACESTY

Testování mobilní navigace NACESTY České vysoké učení technické v Praze Fakulta elektrotechnická A7B39TUR 2015/2016, A2 Testování mobilní navigace NACESTY Kognitivní průchod a heuristická evaluace Jakub Berka berkajak@fel.cvut.cz Obsah

Více

Popis aktuálních funkcionalit, které jsou k dispozici v IS erecept - LÉKÁRNÍK

Popis aktuálních funkcionalit, které jsou k dispozici v IS erecept - LÉKÁRNÍK FUNKCIONALITY ERECEPTU Popis aktuálních funkcionalit, které jsou k dispozici v IS erecept - LÉKÁRNÍK Verze dokumentu 1.0 Dne 14. května 2018 1 / 6 SEZNAM ZKRATEK Zkratka Význam CÚER Centrální úložiště

Více

Mobilní zpravodajská aplikace idnes. A7B39PDA - Principy tvorby mobilních aplikací

Mobilní zpravodajská aplikace idnes. A7B39PDA - Principy tvorby mobilních aplikací Mobilní zpravodajská aplikace idnes A7B39PDA - Principy tvorby mobilních aplikací Autor: Marek Krátký kratkma2@fel.cvut.cz Popis D1 Zpravodajská aplikace idnes je určena pro chytré telefony nebo pro tablety.

Více

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena.

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena. 2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena. GEOVAP, spol. s r. o. Čechovo nábřeží 1790 530 03 Pardubice Česká republika +420 466 024 618 http://www.geovap.cz V dokumentu použité názvy programových

Více

MHD v mobilu. Instalace a spuštění. Co to umí

MHD v mobilu. Instalace a spuštění. Co to umí MHD v mobilu Aplikace MHD v mobilu umí zobrazovat offline (bez nutnosti připojení) jízdní řády MHD na obrazovce mobilního telefonu. Aplikaci pro konkrétní město je možné stáhnout z našich stránek zdarma.

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

Zpráva o zhotoveném plnění

Zpráva o zhotoveném plnění Zpráva o zhotoveném plnění Aplikace byla vytvořena v souladu se Smlouvou a na základě průběžných konzultací s pověřenými pracovníky referátu Manuscriptorium. Toto je zpráva o zhotoveném plnění. Autor:

Více

Aplikace je program určený pro uživatele. Aplikaci je možné rozdělit na části:

Aplikace je program určený pro uživatele. Aplikaci je možné rozdělit na části: Aplikace Aplikace je program určený pro uživatele. Aplikaci je možné rozdělit na části: prezentační vrstva vstup dat, zobrazení výsledků, uživatelské rozhraní, logika uživatelského rozhraní aplikační vrstva

Více

Nasazení mobilního GIS

Nasazení mobilního GIS Nasazení mobilního GIS Dalkia implementuje ArcGIS for smartphone 28/05/2014 ) Mgr. Ivana Niedobová Ing. Stanislav Šplíchal Dalkia kdo jsme Dalkia ve světě: 8,4 miliard obrat za rok 2013 Působnost ve 27

Více

14.4.2010. Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod.

14.4.2010. Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod. Základy programování (IZAPR) Přednáška 7 Ing. Michael Bažant, Ph.D. Katedra softwarových technologií Kancelář č. 229, Náměstí Čs. legií Michael.Bazant@upce.cz Obsah přednášky 7 Parametry metod, předávání

Více

Recepty. Elektronický recept. Podporovaná funkcionalita. Založení předpisu

Recepty. Elektronický recept. Podporovaná funkcionalita. Založení předpisu Recepty Elektronický recept Abyste mohli začít používat elektronický recept, je potřeba v nastavení dekurzu vyplnit všechny požadované přístupové údaje. Funkce ereceptu jsou poté plně integrovány do dialogu

Více

Choose a building block. Znalostní báze Kleos. Kleos 6.5 (březen 2019)

Choose a building block. Znalostní báze Kleos. Kleos 6.5 (březen 2019) Choose a building block. Znalostní báze Kleos Kleos 6.5 (březen 2019) Novinky a vylepšení Obsah Emaily: nová verze doplňku Kleos pro Outlook 2 Kleos pro Outlook: instalace a spuštění (i pokud není spuštěn

Více

Tutoriál. DynaMed ~ Aplikace DynaMed na zařízeních android.

Tutoriál. DynaMed ~ Aplikace DynaMed na zařízeních android. Tutoriál DynaMed ~ Aplikace DynaMed na zařízeních android http://support.ebsco.com/training/resources.php Vítejte v tutoriálu věnovanému aplikaci DynaMed na zařízeních s operačním systémem Android. V tomto

Více

Bohuslav Mach, Správce úkolů. pro informační systém firmy s-cape.cz 1/6

Bohuslav Mach, Správce úkolů. pro informační systém firmy s-cape.cz 1/6 Správce úkolů pro informační systém firmy s-cape.cz 1/6 Popis aplikace - D1 Aplikace umožňující uživateli s vytvořeným účtem v informačním systému firmy s-cape.cz prohlížet a editovat s nim spojené úkoly.

Více

erecept Státní ústav pro kontrolu léčiv

erecept Státní ústav pro kontrolu léčiv erecept Státní ústav pro kontrolu léčiv Proč erecept erecept je plně funkčním řešením elektronické preskripce a podmínkou elektronického zdravotnictví erecept stojí na zákonem požadovaném centrálním úložišti

Více

[IM-WMC] Městská cyklonavigace Deliverable D4

[IM-WMC] Městská cyklonavigace Deliverable D4 [IM-WMC] Městská cyklonavigace Deliverable D4 Úvod Cílem deliverable D4 bylo dokončit implementaci části prototypu z deliverablu D3. Návrh by měl dodržovat zásady designu platformy Android. Popis aplikace

Více

Tento dokument popisuje instalaci a používání elektronické cvičebnice Styx.

Tento dokument popisuje instalaci a používání elektronické cvičebnice Styx. Kapitola 1 Uživatelská příručka Tento dokument popisuje instalaci a používání elektronické cvičebnice Styx. 1.1 Systémové požadavky Cvičebnice je napsána v jazyce Java, uživatel proto musí mít nainstalováno

Více

Provozní pokyny Aplikační stránky

Provozní pokyny Aplikační stránky Před použitím tohoto zařízení si důkladně přečtěte tento manuál a mějte jej po ruce pro budoucí použití. Provozní pokyny Aplikační stránky OBSAH Jak číst tuto příručku...2 Použité symboly...2 Vyloučení

Více

Zápočtová úloha z předmětu KIV/ZSWI DOKUMENT SPECIFIKACE POŽADAVKŮ

Zápočtová úloha z předmětu KIV/ZSWI DOKUMENT SPECIFIKACE POŽADAVKŮ Zápočtová úloha z předmětu KIV/ZSWI DOKUMENT SPECIFIKACE POŽADAVKŮ 10. 5. 2011 Tým: Simplesoft Členové: Zdeněk Malík Jan Rada Ladislav Račák Václav Král Marta Pechová malikz@students.zcu.cz jrada1@students.zcu.cz

Více

MBI - technologická realizace modelu

MBI - technologická realizace modelu MBI - technologická realizace modelu 22.1.2015 MBI, Management byznys informatiky Snímek 1 Agenda Technická realizace portálu MBI. Cíle a principy technického řešení. 1.Obsah portálu - objekty v hierarchiích,

Více

Racionální preskripce léků dle VZP

Racionální preskripce léků dle VZP Racionální preskripce léků dle VZP Uživatelský návod Návod Dokumentace Poslední aktualizace 02.08.2013 Racionální preskripce léků dle VZP strana 1/6 Nová éra projektu racionální preskripce léků VZP ČR

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

MAPA PARKOVÁNÍ A BEZBARIÉROVÉHO PŘÍSTUPU IMPLEMENTOVANÁ DO MOBILNÍHO MAPOVÉHO KLIENTA SPINBOX

MAPA PARKOVÁNÍ A BEZBARIÉROVÉHO PŘÍSTUPU IMPLEMENTOVANÁ DO MOBILNÍHO MAPOVÉHO KLIENTA SPINBOX MAPA PARKOVÁNÍ A BEZBARIÉROVÉHO PŘÍSTUPU IMPLEMENTOVANÁ DO MOBILNÍHO MAPOVÉHO KLIENTA SPINBOX ÚŘAD MĚSTSKÉ ČÁSTI PRAHA 2, NÁMĚSTÍ MÍRU 600/20, 120 39, PRAHA 2 RESPONZIVNÍ DESIGN - tento design zaručuje,

Více

Základy datových vazeb Silverlightu. Funkce Silverlightu 2. Podpora jazyků a technologie.net Framework

Základy datových vazeb Silverlightu. Funkce Silverlightu 2. Podpora jazyků a technologie.net Framework Funkce Silverlightu 2 Podpora jazyků a technologie.net Framework Model pro popis webových služeb a jejich operací Volná vázanost datových služeb Nový model ovládacích prvků LINQ to Objects a UNQ to XML

Více

Instalace programu ProVIS

Instalace programu ProVIS Instalace programu ProVIS Tento program umožňuje instalovat program ProVIS. Umožňuje vybrat, kam se bude instalovat, a jednotlivé součásti instalace. Instalace probíhá v několika krocích. Každý krok má

Více

Novinky. Autodesk Vault helpdesk.graitec.cz,

Novinky. Autodesk Vault helpdesk.graitec.cz, Novinky Autodesk Vault 2017 www.graitec.cz www.cadnet.cz, helpdesk.graitec.cz, www.graitec.com Novinky Autodesk Vault 2017 PDF dokument obsahuje přehled novinek produktu Autodesk Vault 2017. Obsah: 1.

Více

Novinky IPAC 3.0. Libor Nesvadba Karel Pavelka

Novinky IPAC 3.0. Libor Nesvadba Karel Pavelka Novinky IPAC 3.0 Libor Nesvadba Karel Pavelka Webové technologie Držíme laťku na vysoké úrovni Validní, sémantický, strukturovaný, přístupný, znovupoužitelný a jednoduchý XHTML kód. Komprimované JavaScripty

Více

PHP framework Nette. Kapitola 1. 1.1 Úvod. 1.2 Architektura Nette

PHP framework Nette. Kapitola 1. 1.1 Úvod. 1.2 Architektura Nette Kapitola 1 PHP framework Nette 1.1 Úvod Zkratka PHP (z anglického PHP: Hypertext Preprocessor) označuje populární skriptovací jazyk primárně navržený pro vývoj webových aplikací. Jeho oblíbenost vyplývá

Více

Digitalizace a oběh dokumentů VUMS LEGEND, spol. s.r.o.

Digitalizace a oběh dokumentů VUMS LEGEND, spol. s.r.o. Digitalizace a oběh dokumentů Automatizace obchodních porcesů Likvidace odběratelských a dodávatelských faktur Efektivita firemních procesů je jedním ze základních pilířů fungování celé společnosti. Některé

Více

Share online 3.1. 1. vydání

Share online 3.1. 1. vydání Share online 3.1 1. vydání 2008 Nokia. Všechna práva vyhrazena. Nokia, Nokia Connecting People a Nseries jsou ochranné známky nebo registrované ochranné známky společnosti Nokia Corporation. Nokia tune

Více

Formy komunikace s knihovnami

Formy komunikace s knihovnami Formy komunikace s knihovnami Současné moderní prostředky Jiří Šilha a Jiří Tobiáš, Tritius Solutions a.s., Brno Osnova Základní požadavky na komunikaci s knihovnami Historie komunikace s knihovnami Confluence

Více

Vyhledávač datových referencí. Dokumentace

Vyhledávač datových referencí. Dokumentace Dokumentace goshoom 18.8.2010 OBSAH Obsah... 1 Základní informace... 2 Podporované verze Microsoft Dynamics AX... 2 Podporované jazyky... 2 Instalace... 3 Uživatelská příručka... 4 Jak používat Vyhledávač

Více

Android za hranicemi Hello World

Android za hranicemi Hello World Android za hranicemi Hello World Pavel Petřek CTO Praha, 18. října 2009 Kdo je kdo Pavel Petřek Vývojář, entusiasta přes chytré telefony, přednášející Spoluzakladatel Inmite Inmite Vývoj pro chytré telefony

Více

Obrázek 1: Struktura programu z hlediska zapojení

Obrázek 1: Struktura programu z hlediska zapojení MANUÁL K PROGRAMU DBADVOKÁT Program byl vytořený za účelem třídění a uchovávání jednotlivých spisů (elektronické dokumenty [doc, xls, odt, pdf, xml,...], emaily a další důležité soubory) v centralním počítači

Více

PRODUKTY. Tovek Tools

PRODUKTY. Tovek Tools Analyst Pack je desktopovou aplikací určenou k vyhledávání informací, tvorbě různých typů analýz a vytváření přehledů a rešerší. Jsou vhodné pro práci i s velkým objemem textových dat z různorodých informačních

Více

2 PŘÍKLAD IMPORTU ZATÍŽENÍ Z XML

2 PŘÍKLAD IMPORTU ZATÍŽENÍ Z XML ROZHRANÍ ESA XML Ing. Richard Vondráček SCIA CZ, s. r. o., Thákurova 3, 160 00 Praha 6 www.scia.cz 1 OTEVŘENÝ FORMÁT Jednou z mnoha užitečných vlastností programu ESA PT je podpora otevřeného rozhraní

Více

Tovek Server. Tovek Server nabízí následující základní a servisní funkce: Bezpečnost Statistiky Locale

Tovek Server. Tovek Server nabízí následující základní a servisní funkce: Bezpečnost Statistiky Locale je serverová aplikace určená pro efektivní zpracování velkého objemu sdílených nestrukturovaných dat. Umožňuje automaticky indexovat data z různých informačních zdrojů, intuitivně vyhledávat informace,

Více

BO:S:S Boccia Score System

BO:S:S Boccia Score System BO:S:S Boccia Score System Instalace a správa systému časomíry ATACK software, s.r.o. Obsah balení... 3 Zapojení systému... 4 Nastavení systému... 5 Tlačítko na časomíře... 5 Aktualizace... 6 Aktualizace

Více

HLEDEJCENY.mobi. Obsah. Mobilní verze e-shopu. Důvody instalace

HLEDEJCENY.mobi. Obsah. Mobilní verze e-shopu. Důvody instalace Obsah HLEDEJCENY.mobi Mezi Vodami 1952/9 e-mail: info@hledejceny.cz HLEDEJCENY.mobi... 1 Mobilní verze e-shopu... 1 Důvody instalace... 1 Výhody... 2 Co je k mobilní verzi potřeba... 2 Objednávka služby...

Více

MOBILNÍ SKLADNÍK. Příručka k základnímu ovládání. Beta verze popisu produktu Aktualizace dokumentu: z 10

MOBILNÍ SKLADNÍK. Příručka k základnímu ovládání. Beta verze popisu produktu Aktualizace dokumentu: z 10 MOBILNÍ SKLADNÍK Příručka k základnímu ovládání Beta verze popisu produktu Aktualizace dokumentu: 30.01.2017 1 z 10 1 POPIS Mobilní skladník je software od společnosti ABRA Software s.r.o., který je určen

Více

Efektivní vývoj mobilních aplikací na více platforem současně. Mgr. David Gešvindr MCT MSP MCPD MCITP gesvindr@mail.muni.cz

Efektivní vývoj mobilních aplikací na více platforem současně. Mgr. David Gešvindr MCT MSP MCPD MCITP gesvindr@mail.muni.cz Efektivní vývoj mobilních aplikací na více platforem současně Mgr. David Gešvindr MCT MSP MCPD MCITP gesvindr@mail.muni.cz Osnova 1. Kam míří platforma Windows Phone 2. Seznámení s univerzálními Windows

Více

SMS platby. pro úhradu poplatků ve zdravotnictví

SMS platby. pro úhradu poplatků ve zdravotnictví SMS platby pro úhradu poplatků ve zdravotnictví Představení společnosti ATS Společnost Advanced Telecom Services působí na trhu hlasových služeb a mobilního marketingu od roku 1997. ATS patří mezi největší

Více

Průzkumník IS DP. Návod k obsluze informačního systému o datových prvcích (IS DP) vypracovala společnost ASD Software, s. r. o.

Průzkumník IS DP. Návod k obsluze informačního systému o datových prvcích (IS DP) vypracovala společnost ASD Software, s. r. o. Průzkumník IS DP Návod k obsluze informačního systému o datových prvcích (IS DP) vypracovala společnost ASD Software, s. r. o. dokument ze dne 13. 09. 2018, verze 1.00 Průzkumník IS DP Návod k obsluze

Více

Microsoft Visio 2013 vypadá jinak než ve starších verzích, proto jsme vytvořili tuto příručku, která vám pomůže se s ním rychle seznámit.

Microsoft Visio 2013 vypadá jinak než ve starších verzích, proto jsme vytvořili tuto příručku, která vám pomůže se s ním rychle seznámit. Úvodní příručka Microsoft Visio 2013 vypadá jinak než ve starších verzích, proto jsme vytvořili tuto příručku, která vám pomůže se s ním rychle seznámit. Aktualizované šablony Šablony vám pomáhají při

Více

Pracovní prostředí Word 2003 versus Word 2010

Pracovní prostředí Word 2003 versus Word 2010 Zdokonalování gramotnosti v oblasti ICT Pracovní prostředí Word 2003 versus Word 2010 Inovace a modernizace studijních oborů FSpS Vránová Hana 11.7.2012 OBSAH Srovnání pracovního prostředí Word 2003 a

Více

Používání u a Internetu

Používání  u a Internetu Používání e-mailu a Internetu Je pro vás systém Windows 7 nový? I když má tento systém mnoho společného s verzí systému Windows, kterou jste používali dříve, můžete potřebovat pomoc, než se v něm zorientujete.

Více

Instalace systému Docházka 3000 na operační systém ReactOS Zdarma dostupné kompatibilní alternativě k systému Windows

Instalace systému Docházka 3000 na operační systém ReactOS Zdarma dostupné kompatibilní alternativě k systému Windows Instalace systému Docházka 3000 na operační systém ReactOS Zdarma dostupné kompatibilní alternativě k systému Windows Tento návod popisuje možnost provozovat Docházku 3000 pod zdarma dostupným operačním

Více

Wonderware Information Server 4.0 Co je nového

Wonderware Information Server 4.0 Co je nového Wonderware Information Server 4.0 Co je nového Pavel Průša Pantek (CS) s.r.o. Strana 2 Úvod Wonderware Information Server je výrobní analytický a reportní informační portál pro publikaci výrobních dat

Více