Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

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

Podobné prezentace


Prezentace na téma: "WorkWatch Client Mobilní aplikace na sledování odpracovaného času."— Transkript prezentace:

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

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

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

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

5 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

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

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

8 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 projectList = WWLogic.getProjectsFromServer(true); projectListAdapter = new ArrayAdapter (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); } });

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

10 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()

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

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

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

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

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

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


Stáhnout ppt "WorkWatch Client Mobilní aplikace na sledování odpracovaného času."

Podobné prezentace


Reklamy Google