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

Tak bude vypadat letošní nejlevnější iPhone, zepředu připomíná desítku

Render chystaného LCD iPhonu s 6,1palcovým panelem ve společnosti menšího...

Uvedení nových iPhonů se blíží, jejich oficiální odhalení proběhne už za dva měsíce. Víme, že budou tři a alespoň z...

Blesková krádež. Zloději za 30 sekund vybílili obchod Applu

Blesková krádež v kalifornském Apple Storu

Skupina mužů za méně než minutu vykradla před očima zákazníků i personálu obchod Apple Store v kalifornském Fresnu....



Xiaomi pokračuje v dumpingových akcích. Redmi S2 bude za 300 korun

Nová prodejna mobilů v Olomouci přilákala stovky lidí

Agresivní marketing čínské značky v Česku pokračuje. Xiaomi otevírá třetí obchod a tradičně první den nabízí produkty s...

Novinka za 975 korun nahradí smartphone a nepotřebuje dotykový displej

JioPhone 2

Obyčejné mobily nejsou mrtvé. Právě naopak. Jestliže prodeje smartphonů stagnují, nebo na některých trzích dokonce...

Jeden z nejočekávanějších mobilů roku. Nokia 8110 je chytrá jen trochu

Nokia 8110 4G

Retro model Nokia 8110 4G je možná jedním z nejočekávanějších mobilů letošního roku. V Česku se začal prodávat počátkem...

Další z rubriky

Na aplikace alternativních taxi útočí virus. Pase po údajích ke kartám

Virus pro Android

Uživatelé mobilních aplikací alternativních taxi včetně aplikace Uber by měli být obezřetní. Ohrožuje je totiž nový...

Na dovolené se můžete seznámit i nespálit

Ilustrační snímek

Na dovolenou si bereme kde co, ovšem počítač/notebook často zůstává doma. Ten je na jedné straně prostředkem k...

Bez reklamy ani ránu. Bude už i na Facebook Messengeru v mobilu

Mobilní Messenger projde změnou, k nelibosti uživatelů v něm budou cílené...

Oblíbený mobilní kecálek se brzy promění. Facebook totiž do Messengeru po úspěšném testování implementuje cílené...

Najdete na iDNES.cz