Mobilní aplikace na sledování odpracovaného času

Slides:



Advertisements
Podobné prezentace
(instance konkrétní třídy)
Advertisements

Webové služby nad IS/STAG 1 / 21 Seminář IS/STAG Kunžak 2008 Seminář IS/STAG – Kunžak 2008 Webové služby nad IS/STAG Lukáš Valenta.
Nadpis Portál pro komunikaci s občany 1 Portál pro komunikaci s veřejností Portál pro komunikaci s veřejností DATRON, a.s. ing. Jaromír Látal projektový.
IKT PHP PHP Tvorba formuláře - 10 Mgr. Josef Nožička
Microsoft 4. Windows Live Messenger. Co je to Messenger ? Nástroj pro komunikaci s přáteli Textová komunikace formou chatu Videokomunikace přes.
Technologie pro publikování na webu 1 Ing. Jiří Štěpánek.
Tvorba webových stránek
Formuláře Formuláře lze nalézt téměř na každém webu. Formuláře lze nalézt téměř na každém webu. Použití formulářů: Použití formulářů: Blog Blog Uživatelské.
Přednáška č. 3 Normalizace dat, Datová a funkční analýza
Semestrální práce KIV/PT Martin Kales Hana Hůlová.
Uživatelská rozhraní Uživatelská rozhraní 9. cvičení.
Pavel Řezníček v Brně  Výběr tématu  Tvorba aplikace  Ukázka aplikace  Zhodnocení práce  Další kroky.
YMUSY1 Multimediální systémy 1 Cvičení 5 Formuláře a ovládací prvky.
Oddělení metodiky OP Rybářství (SZIF) ŘO OP Rybářství (MZe)
Hana Kotinová Struktura a cíl práce Metody předzpracování dat Systémy předzpracování dat Historie vývoje DPT Jak program pracuje Budoucnost.
Microsoft Access Prezentace základních uživatelských nástrojů
Tutoriál Vlastní složka My EBSCOhost
Objektové programování
Jedenácté cvičení Vlákna. Java cv112 Vlákna Operační systém Mutitasking – více úloh se v operačním programu vykonává „současně“ Java Multithreading -
Ing. Jan Mittner Základy MVC 2. Rozšíření layoutu 3. helpery 4. Bootstrap a přepis URL adres 2.
JIRA školení.
DIGITÁLNÍ UČEBNÍ MATERIÁL Číslo projektuCZ.1.07/1.5.00/ Název projektuEU peníze středním školám Masarykova OA Jičín Název školyMASARYKOVA OBCHODNÍ.
Databázové systémy Přednáška č. 6 Proces návrhu databáze.
OSNOVA: a)Programování se soubory b)Záloha databáze v souboru c) Příklady Jiří Šebesta Ústav radioelektroniky, FEKT VUT v Brně Počítače a programování.
Dokumentace objektů a zveřejnění funkcí
Ing. Jan Mittner Životní cyklus požadavku 2. Moduly 3. Pluginy 4. Jak řešit komponenty typu menu 5. atd. 2.
KIV/PPA1 cvičení 8 Cvičící: Pavel Bžoch. Osnova cvičení Objekty v Javě Třída Konstruktor Metody Metody a proměnné třídy x instance Program sestávající.
Rozhraní SAX, SAX vs. SAX2 Jaroslav Ciml.
Dílna Caché II. CSP pro pokročilé Tomáš Vaverka. Zdroje HTML Tag Reference v sekci Reference Material v dokumentaci Caché HTML Tag Reference v sekci Reference.
Návrhový vzor Factory v JAVA API Martin Kot Katedra informatiky VŠB – Technická univerzita Ostrava
IB111 Programování a algoritmizace
Návrh a tvorba WWW Přednáška 5 Úvod do jazyka PHP.
Internetový prohlížeč
AJAX nejmodernější webová technologie… seminář pro učitele ZŠ a SŠ Mgr. Marek Osuchowski Ostravská univerzita © 2011.
Copyright (C) 2000 Vema, a. s.1 V3 klient Michal Máčel Provozní integrace G2, HR/Win a internetu.
Elektronický registr oznámení Zpracoval(a): Mgr. František Rudecký
Vývoj Android Aplikace
Databázové modelování
2 Petr Žitný znalosti.vema.cz 3 Báze znalostí Nová služba zákazníkům ▸Báze naplněná informacemi, ke které mají uživatelé přímý přístup Základní cíl ▸Poskytovat.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Automatizovaná podpora výběru nástroje pro dobývání znalostí Jakub Štochl.
KL Free IS Informační systém pro regionální síť KLfree.net.
SOFTware Adresář, soubor, OS Informatika – 6. třída Bc. Josef Štainer
Webové služby pro komunikaci s informačním systémem eQuip Martin Širajch.
Microsoft SQL server Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí.
OPERAČNÍ SYSTÉMY.
Ovládací panely Uživatelské účty II. Název a adresa školy: Střední odborné učiliště stavební, Opava, příspěvková organizace, Boženy Němcové 22/2309, 746.
14. června 2004Michal Ševčenko Architektura softwarového systému DYNAST Michal Ševčenko VIC ČVUT.
JavaScript úvod. Jazyky webového vývojáře Dynamická stránka  aktivně mění svůj obsah v reakci na činnost uživatele  zpracování na straně serveru (PHP,
Webové služby Cíl  Popis základního konceptu technologie webových služeb.
BudíkBudík Budík je volně šiřitelný osobní organizér. Slouží pro osobní organizaci času, úkolů, kontaktů, poznámek a obecně údajů uživatele, které uchovává.
Rezervační systém v prostředí XUL Zdeněk Novák, Petr Ondrejka.
Číslo projektu: CZ.1.07/1.4.00/ Název DUM: Programy pro komunikaci Číslo DUM: III/2/VT/2/2/35 Vzdělávací předmět: Výpočetní technika Tematická oblast:
Nastavení systému Windows - pokračování (14). Projekt: CZ.1.07/1.5.00/ OAJL - inovace výuky Příjemce: Obchodní akademie, odborná škola a praktická.
Internet. je celosvětový systém navzájem propojených počítačových sítí („síť sítí“), ve kterých mezi sebou počítače komunikují pomocí rodiny protokolů.
Aplikace Přijímačky školní rok 2014/2015
WINDOWS Základní popis a údržba operačních systémů.
NÁZEV ŠKOLY:SOŠ Net Office, spol. s r.o. Orlová Lutyně
SOFTWARE Operační systémy.
Bezpečnostní technologie I
školák Piš a sdílej své sešity, jednoduše, rychle, v pohodě.
Jaroslav Kudr pro OATGM
PRVNÍ Projekt, struktura projektu
Vytvořil Jaroslav Kudr pro OATGM
Jaroslav Kudr pro OATGM
Návrhový vzor Flyweight
Číslo projektu: CZ.1.07/1.4.00/ Název DUM: Programy pro komunikaci
Výukový materiál zpracován v rámci projektu
Jaroslav Kudr pro OATGM
C# přehled vlastností.
Transkript prezentace:

Mobilní aplikace na sledování odpracovaného času WorkWatch Client Mobilní aplikace na sledování odpracovaného času

Členové týmu Ondřej Masopust – uživatelské rozhraní Marcel Brož – komunikace se serverem Ondřej Masopust – uživatelské rozhraní Martina Hradská – statistiky Pavol Donko – databáze

Členové týmu Ondřej Masopust – uživatelské rozhraní Marcel Brož – komunikace se serverem Ondřej Masopust – uživatelské rozhraní Martina Hradská – statistiky Pavol Donko – databáze

Zadání Naším zadáním bylo vytvořit aplikaci pro operační systém Android, která bude komunikovat s již existujícím webovým systémem WorkWatch. Aplikace slouží k zaznamenávání odpracovaného času a poskytuje uživateli souhrnné statistiky o čase stráveném v práci včetně jeho cenového ohodnocení. Pro komunikaci se serverem jsme využili http požadavků, díky kterým aplikace posílá a přijímá XML soubory.

Vypracování Práci jsme si rozdělili na několik částí: Základní funkcionalita Komunikace se serverem Uživatelské rozhraní Databáze Obrazovka přehledu práce Statistiky * UX - user experience

Základní funkcionalita Přepínání aktivit Nejdřív bylo potřeba vytvořit Aktivity pro každou z obrazovek. Pro přesouvání mezi nimi byl někde použit Intent, ve vnitřních aktivitách, vnořených pod záložky, metoda TabHost.setCurrentTab(int), která nastavuje aktivní záložku pomocí jejího indexu.

Základní funkcionalita Přihlašovací obrazovka Přihlašovací obrazovka se skládá pouze z několika TextView a EditText, pro zapamatování vyplněné společnosti, uživatelského jména a hesla je použit CheckBox, údaje se odesílají stiskem objektu Button. Tomu je nastavena pomocí metody Button.setOnClickListener(OnClickListener) akce, která spouští úlohu na pozadí (implementovanou ve vnitřní třídě AsyncTask).

Základní funkcionalita Seznam zakázek Seznam zakázek je obyčejný ListView s nastaveným kontextovým menu. Ukázka implementace: ListView projectLV = (ListView) findViewById(R.id.projectListView); List<Project> projectList = WWLogic.getProjectsFromServer(true); projectListAdapter = new ArrayAdapter<Project>(this, android.R.layout.simple_list_item_1, projectList); projectLV.setAdapter(projectListAdapter); projectLV.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView<?> adapter, View selectedView, int position, long arg3) { selectedProject = (Project) adapter.getItemAtPosition(position); startWork(selectedProject); } });

Klient-server Zprostředkování komunikace Třída umožňující obousměrnou http komunikaci se serverem se jmenuje trefně HttpClient. Její instanci jsem vložil do statické třídy WWLogic jako soukromý atribut. V každé metodě sendSomeRequest() jsem pak vytvořil objekt HttpPost zprostředkující POST požadavek. Do jejího konstruktoru se vkládá požadovaná URL adresa, kterou jsem vynesl jako soukromou konstantu. Pomocí objektu NameValuePair lze nastavit požadavku libovolné textové parametry. Požadavek zavoláme metodou HttpClient.execute(HttpPost), která nám vrátí odpověď v podobě objektu HttpResponse.

Klient-server Parsování XML K převedení InputStream na XML dokument, potřebujeme vytvořit instanci třídy DocumentBuilder: DocumentBuilderFactory.newInstance().newDocumentBuilder() a zavolat na něm metodu DocumentBuilder.parse(InputStream). Tím jsem získal Document, který je snadno čitelný pomocí interního DOM parseru, konkrétně metod: Document.getDocumentElement() Element.getAttribute(String) Element.getElementByTagName(String) NodeList.item(int) Node.getNodeValue()

Grafické rozhraní Aplikace je vesměs tvořena běžnými zobrazovacími prvky, poskytnuté vývojářům v základní verzi SDK. Celkem jednoduše se však na Androidu tvoří zobrazovací prvky vlastní, čehož jsme využili při tvorbě přehledu práce.

Přehled práce byl realizován pomocí tzv. bubble timeru.

Objects for DB (Work, Project, User) SQLite Shared Preferences Databáze Objects for DB (Work, Project, User) SQLite Shared Preferences

Statistiky Statistiky obsahují vlastní implementaci GraphView pro zobrazení denního, týdenního, měsíčního a celkového přehledu.

Problémy Implementace databáze SQLite v3 Verzování Složitý layout přehledu práce

Zhodnocení Tento projekt nás naučil efektivně používat XML soubory. Mimo jiné jsme se také naučili pracovat v týmu a díky předem daným milníkům jsme si osvojili práci pod tlakem a potřebu dostát určeným termínům. Projekt hodnotíme jako velmi přínosný. Avšak se závěrečnou zkouškou písemkou v podobě „programování na papír“ nejsme spokojeni. Takovýto test znalostí nevypovídá nic o schopnostech studentů, ale pouze o jejich paměti.