Klávesové zkratky na tomto webu - základní
Přeskočit hlavičku portálu


Programování pro PalmOS počítače krok za krokem (23)

aktualizováno 
V nové kapitole zkusíme oživit formuláře - naučíme se používat tlačítka a přepínače na příkladu programu, který bude počítat výšku dítěte v dospělosti z výšky jeho rodičů.

Programování pro Palm Piloty krok za krokem - kapitola 3

V této kapitole se naučíme používat jednoduché ovládací prvky formuláře - tlačítka, přepínače, a políčka k zaškrtnutí na příkladu jednoduchého programu počítajícího výšku dítěte v dospělosti na základě výšky jeho rodičů. Popíšeme si, jak PalmOS pracuje s pamětí a s řetězci, a naučíme se ukládat stav programu tak, aby vytvářel pro uživatele iluzi multitaskingu.

V předchozí kapitole jsme si popsali soubor prostředků aplikace. Teď už by pro nás neměl být problém vytvořit soubor prostředků aplikace, který bude obsahovat povinné části (jméno aplikace, ikonu a jednoznačnou identifikaci tvůrce programu), a doplnit do něj definice formulářů, menu, výzev, textových konstant, obrázků a další prvky.

Vytvořili jsme také první program, na kterém jsme si ukázali strukturu smyčky zpracování událostí. Popsali jsme několik základních funkcí pro práci s formuláři a naučili jsme se použít tyto funkce v programu.

3.1. Návrh programu

Nejtěžší na vývoji software je aplikaci navrhnout. Při psaní aplikací pro PalmOS to platí stejně jako při vývoji jakýchkoliv jiných programů. Na začátku musíme důkladně zvážit účel programu: co bude program dělat, pro koho bude program určen, jaké si představujeme vstupy a výstupy programu. Pokud program bude používat nějaké (třeba komplikované) algoritmy nebo rovnice, měli bychom je znát už od počátku, abychom později nebyli nemile překvapeni.

Dalším zastavením při návrhu programu by měla být data aplikace. Bude program používat databáze (programy od páté kapitoly to budou dělat)? Pokud ano, tak musíme zvážit, jaká bude struktura ukládaných dat. Při psaní aplikací pro počítače Palm Pilot a kompatibilní je dobré si při návrhu struktur pro ukládání dat uvědomit, že paměť je tím nejcennějším platidlem a že bychom ji tedy měli co nejvíce šetřit. Ať už máme model se dvěma nebo třiceti-dvěma megabyte paměti, je dobrým zvykem snažit se místem v paměti šetřit.

Uživatelské rozhraní

Nezbývá než navrhnout, jak bude program komunikovat s uživatelem - jeho uživatelské rozhraní. Komunikace PalmOS s uživatelem se (většinou) děje prostřednictvím formulářů. Například vestavěná aplikace MemoPad používá ke komunikaci s uživatelem těchto pět formulářů:

První dva z těchto formulářů jsou základní formuláře, které slouží k výběru a editaci poznámky. Tyto formuláře zabírají celou plochu displeje. Další čtyři formuláře, které jsou pro úsporu místa zobrazeny pod sebou, jsou formuláře výhradní. Výhradní formuláře slouží k jednoduché komunikaci s uživatelem: výběr písma, nastavení možností programu apod. a objevují se jakoby na povrchu formulářů základních.

Ještě dříve, než se pustíme do psaní programu, musíme si rozmyslet, jaké formuláře bude naše aplikace ke komunikaci s uživatelem využívat. Zvážíme, které z prvků formuláře použijeme a jakou roli budou ve formuláři hrát. Jak bude řešen vstup dat od uživatele? Doporučení vývojářů firmy 3Com, Inc. je následující: minimalizovat počet akcí (doteků pera na digitizéru), které musí uživatel udělat, aby dosáhl cíle. Doporučil bych všem čtenářům prohlédnout si vestavěné aplikace a formuláře - třeba zadávání času v aplikaci DateBook - pro ilustraci této metody.

Jak budou prezentována data uživateli? Bude naše aplikace používat grafiku? Častým problémem, který je spojen s malými rozměry displeje Palm Pilotů, je nedostatek místa pro zobrazení dat. V takovém případě můžeme použít hardwarové klávesy pro pohyb nahoru a dolů nebo souhrnné zobrazení, ze kterého se budeme přepínat do formulářů s podrobnými údaji. Pokud naše aplikace bude vydávat zvuky, měla by respektovat nastavení hlasitosti v ovládacích panelech Palm Pilota (Preferences).

Šíře možností PalmOS v oblasti uživatelského rozhraní je velmi veliká a časem napadne každého programátora vytvořit vlastní ovládací prvky. V takovém případě by měly tyto prvky být použity jednotně v celém programu. Cílem programu by mělo být rychle, efektivně a uživatelsky přívětivě vykonávat zadaný úkol, nejen předvádět schopnosti programátora vymyslet něco originálního.

Program však tvoří nejen formuláře, ale i menu, výzvy, nápověda, obrázky a jiné. Důležitou součástí uživatelského rozhraní je jazyk. Ať už chceme či nikoliv, žijeme v zemi, jejíž jazyk patří ve světě k těm méně rozšířeným. Proto - chceme-li, aby naše aplikace měla úspěch i za hranicemi - musíme si již od počátku uvědomit, které texty nebo značky v programu budou v jiných zemích nahrazovány, a usnadnit případným překladatelům práci (například vždy při návrhu tlačítka nechat po stranách textu více místa, aby se do něj vešel i přeložený text).

Základní strukturu programu je možné zobrazit jako vztahy mezi formuláři. Opět si vezmu jako příklad aplikaci MemoPad, tentokrát velice zjednodušenou: nebudeme si všímat uživatelské nabídky ani výzev. Struktura zjednodušené aplikace MemoPad je na následujícím obrázku. Šipkou, která vede od tlačítka směrem k formuláři, je naznačeno, že stisknutím tlačítka se přepneme do příslušného formuláře. Pokud je u šipky něco napsáno, jedná se o akci, která se vykoná před přepnutím se do formuláře.

Ačkoliv je tato struktura velmi zjednodušená, popisuje (za cenu určitého zjednodušení) chování úplného programu z hlediska uživatele. Pokud budeme vytvářet programy, které budou sestávat z více formulářů, vždy si podobnou strukturu nakreslíme, abychom si ujasnili vztahy mezi formuláři.

Jen málokterý programátor dokáže udělat celý program z hlavy nebo jen tak. Zvykněme si na to, že zejména u složitějších programů budeme tyto úvahy o smyslu programu, jeho datech a jeho uživatelském rozhraní potřebovat. Každá hodina, kterou strávíme návrhem programu, nám ušetří několik hodin, strávených při jeho psaní a ladění.


Příště začneme návrhem aplikace, kterou budeme popisovat v této kapitole: Půjde o program počítající výšku dítěte z výšky jeho rodičů. Tento program bude využívat jen tlačítka, přepínače a políčka k zaškrtnutí.



Témata: aplikace, software

Nejčtenější

Nový „levný“ iPhone má být hit. Prodat se ho má 100 milionů

Trojice iPhonů pro rok 2018

Apple chystá na letošní rok tři nové iPhony. Jedním z nich má být levnější model, který nebude mít OLED displej. A...

Vytrolil T-Mobile, koupil doménu z reklamy a přesměroval ji na konkurenci

T-Mobile Hotel Růženka

Nová reklamní kampaň T-Mobilu se odehrává ve smyšleném horském hotelu Růženka. Ovšem když zkusíte doménu...



Nepoužívejte smartphony Huawei a ZTE, varují Američany FBI, CIA i NSA

Huawei Mate 10 Pro bude v USA k dostání u BestBuy

Huawei chtěl letos vzít útokem Spojené státy, a to s pomocí tamních klíčových operátorů. Z možné dohody však nakonec...

Teď přijde řada na naše peníze. V Číně totiž končí zlaté časy

Xiaomi Mi 6

Čínský trh s chytrými telefony je největší na světě, ale loni se podle všeho dostal do potíží. Po letech růstu přišel...

Lidé si stěžovali na špatný signál. Rušil ho těžař bitcoinů

(Ilustrační snímek)

Newyorští zákazníci amerického operátora T-Mobile si stěžovali na znatelný šum během telefonních hovorů. Ukázalo se, že...

Další z rubriky

Ušetříte za mobilní data. Facebook vám ukáže bezplatnou wi-fi

Find Wifi funkce na Facebooku

V aplikaci sociální sítě Facebook se objevila nová užitečná funkce - dovede vás nasměrovat k nejbližší veřejné wi-fi...

Už přes ni vyhrožovali smrtí. Přesto je aplikace extrémně populární

Logo aplikace Sarahah

Vysoký nárůst popularity zaznamenala aplikace Sarahah, určená k posílání anonymních zpráv. Ačkoliv se v posledních...

Google loni zlikvidoval 700 tisíc aplikací

Mobilní aplikace

Z aplikačního obchodu Google Play bylo loni odstraněno 700 tisíc aplikací, většina zmizela prakticky ihned po umístění...



Najdete na iDNES.cz