helyoWAP |
|
TUTORIAL
WML |
Autor: Helio Fonseca Rosa
Esta página contém muitas figuras. Aguarde a carga se a conexão estiver lenta
Programa phone5.wml
Objetivo:
Modificar os programas phone3.wml e
phone4.wml para que as diversas telas ( que eram acessadas de modo
seqüencial) possam ser exibidas diretamente a partir de um menu como da
primeira figura abaixo .
O nome do programa será phone5.wml. Conterá
um deck com quatro cards (correspondentes às telas com a lista de links e as já
conhecidas "HOJE", "QUARTA" e "QUINTA").
As telas abaixo dão uma idéia da operação. A primeira é exibida na abertura
do programa e a seta indica a primeira opção, por "defaut" (definida
pelo próprio simulador); a segunda tela já apresenta uma nova seleção
("QUINTA"). As demais telas são obtidas ao se pressionar a "softkey"
de label "Link1", "Link2" e "Link3" da tela
inicial. É possível retornar à tela inicial a partir destas telas
pressionado-se a "softkey" de label "Lista".
O programa que exibe a tela do eclipse receberá o nome de phone6.wml
e terá mais uma figura da lua. E também permite o retorno direto à primeira
tela do phone5.wml.
----->
[Telas exemplificando o funcionamento do phone5.wml]
[Tela referente ao programa phone6.wml]
Inicialmente, vamos exibir os dois
programas que produzem as telas solicitadas. Em seguida, vamos testar
separadamente o trecho referente à primeira tela.
Um bom exercício preliminar é estudar e tentar entender estas listagens antes
de ler os comentários.
phone5.wml (código):
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<template>
<do type="options" label="Lua">
<go href="phone6.wml"/>
</do>
<do type="accept" label="Lista">
<go href="#primeiro"/>
</do>
</template>
<card id="primeiro">
<p align="center">
<b>**helyoMobile**</b><br/>
Lista de links:<br/>
<anchor title="Link1">
<go href="#hoje"/>HOJE</anchor><br/>
<anchor title="Link2"><go
href="#quarta"/>QUARTA</anchor><br/>
<anchor title="Link3"><go
href="#quinta"/>QUINTA</anchor><br/>
</p>
</card>
<card id="hoje">
<p align="center">
<b> ** helyoMOBILE
**</b><br/>
</p>
<p align="center">
HOJE <br/>
Max: 40 <br/>
Min: 37
</p>
</card >
<card id="quarta">
<p align="center">
<b>** helyoMOBILE **<br/></b>
</p>
<p align="center">
QUARTA <br/>
Max: 41 <br/>
Min: 38
</p>
</card>
<card id="quinta">
<p align="center">
<b>** helyoMOBILE **<br/></b>
</p>
<p align="center">
QUINTA <br/>
Max: 29 <br/>
Min: 28
</p>
</card>
</wml>
Para conferência, o autor
copiou/colou a listagem acima no "Bloco de Notas" do Windows, o que
cancela qualquer tipo de formatação anterior. Em seguida, alinhou todas as
linhas à esquerda (o processo de copiar/colar pode trazer algum código espúrio,
não visível). Após, gravou o programa como phone5.wml.
Neste processo, o "Bloco de Notas" , automaticamente, mudou a extensão
para phone5.wml.txt!!! . Utilizando o Windows
Explorer (recomendado nestes casos) o arquivo foi renomeado para phone5.wml.
Em seguida foi testado com êxito no OWG1 Simulator.
O leitor pode utilizar um simulador ou um celular WAP para acessar este programa
no seguinte endereço da WEB:
http://sites.uol.com.br/helyomobile/wml/phone5.wml
. As telas poderão ter uma aparência diferente, dependo das características técnicas
do simulador ou celular utilizado.
phone6.wml (código)
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
" http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card>
<do type="accept" label="Lista">
<go href="phone5.wml"/>
</do>
<p align="center">
<b> ** helyoMOBILE
**</b><br/><br/>
<img alt="[lua1]"
localsrc="moon2" src=""/>
<img alt="[lua2]"
localsrc="moon1" src=""/><br/>
</p>
<p align="center">
Proximo eclipse lunar:
15/mai/2001
</p>
</card>
</wml>
Do mesmo modo, para conferência,
o autor copiou/colou a listagem acima no "Bloco de Notas" do Windows,
o que cancela qualquer tipo de formatação anterior. Em seguida, alinhou todas
as linhas à esquerda (o processo de copiar/colar pode trazer algum código espúrio,
não visível). Após, gravou o programa como phone6.wml.
Neste processo, o "Bloco de Notas" , automaticamente, mudou a extensão
para phone6.wml.txt!!! . Utilizando o Windows
Explorer (recomendado nestes casos) o arquivo foi renomeado para phone6.wml.
Em seguida foi testado com êxito no OWG1 Simulator.
O leitor pode utilizar um simulador ou um celular WAP para acessar este programa
no seguinte endereço da WEB:
http://sites.uol.com.br/helyomobile/wml/phone5.wml
. As telas poderão ter uma aparência diferente, dependo das características técnicas
do simulador ou celular utilizado
Vejamos o trecho de programa que produz a primeira tela (como anteriormente, foi acrescentada a tag </wml> para que possa ser testado individualmente):
phone5a.wml
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<template>
<do type="options" label="Lua">
<go href="phone6.wml"/>
</do>
<do type="accept" label="Lista">
<go href="#primeiro"/>
</do>
</template>
<card id="primeiro">
<p align="center">
<b>**helyoMobile**</b><br/>
Lista de links:<br/>
<anchor title="Link1">
<go
href="#hoje"/>HOJE
</anchor><br/>
<anchor title="Link2">
<go
href="#quarta"/>QUARTA
</anchor><br/>
<anchor title="Link3">
<go
href="#quinta"/>QUINTA
</anchor><br/>
</p>
</card>
</wml>
Para teste, o autor gravou este
programa em seu micro como phone5a.wml. Fica a
sugestão.
Este programa também está disponível na WEB em http://sites.uol.com.br/helyomobile/wml/phone5a.wml.
Comentários:
No programa phone3.wml
vimos um exemplo do elemento "template" usado para programar a tecla
"OPTIONS". Agora estamos programando as duas teclas, "ACCEPT"
e "OPTIONS" , programação esta válida para todos os cards;
vamos novamente chamar a atenção para os códigos de desvio: a tecla "ACCEPT"
produz um desvio para um card e a tecla "OPTIONS" produz um
desvio para um deck.
O label da tecla "ACCEPT" será "Lista" e o da tecla
"OPTIONS" será "Lua".
Importante: já havíamos
alertado que esta programação "geral" propiciada pelo elemento
"template" pode ser alterada (ou ou redefinida ou sobrepujada) dentro
de qualquer card ; é o que acontece com o <card
id="primeiro"> : o comando "anchor" redefine
automaticamente o label e o destino do salto produzido pela tecla "ACCEPT>.
Para os demais cards, as duas "softkeys" obedescem à programação
imposta pelo "template".
O elemento "anchor" então faz o seguinte: transforma uma palavra ou
frase num hiperlink para possibilitar um desvio quando a tecla "ACCEPT"
é acionada e atribuindo um label à mesma.
Quando observamos detidamente um hiperlink podemos identificar duas partes : o
inicio (ou cabeça ("head") ou ponto de partida) do desvio e o destino
ou cauda ("tail").
Neste caso, os pontos de partida são as palavras HOJE, QUARTA e QUINTA; e os
destinos são especificados pelos atributos "id" dos diversos cards.
Um link ancorado ("anchored link") tem sempre uma tarefa ("task")
associado a ele. Estas tarefas associadas podem ser executadas pelos elementos
<go>, <prev> e <refresh> .
Eis a estrutura do primeiro
"anchor" :
<anchor title="Link1">
<go href="#hoje"/>HOJE
</anchor>.
Os colchetes [ ] que aparecem na tela envolvendo a palavra HOJE
são colocados automaticamente pelo programa.
( Confira em outros simuladores e celulars WAP as diferentes maneiras de exibição
dos links ancorados.)
A ação é a seguinte: posicionada a seta ou cursor na palavra HOJE e
pressionada a tecla correspondente ao label Link1, haverá um desvio para a tela
correspondente ao card identificado por "#hoje".
Resumindo:
Ponto de partida: indicado pela palavra HOJE;
Ponto de destino: indicado por" #hoje", referente ao <card
id="hoje">;
Label da softkey "ACCEPT" : palavra "Link1"
O elemento "anchor" tem
uma forma abreviada que é o elemento <a></a> .
A sintaxe seria <a href="#hoje" title="link1">HOJE</a>.
Diz-se neste caso que uma tarefa é realizada por um "go"
implícito.
Vejamos como ficaria a listagem utilizando o "go implícito" para produzir a mesma tela inicial:
phone5b.wml
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<template>
<do type="options" label="Lua">
<go href="phone6.wml"/>
</do>
<do type="accept" label="Lista">
<go href="#primeiro"/>
</do>
</template>
<card id="primeiro">
<p align="center">
<b>**helyoMobile**</b><br/>
Lista de links:<br/>
<a href="#hoje" title="link1">HOJE</a>
<a href="#quarta" title="link2">QUARTA</a>
<a href="#quinta" title="link3">QUINTA</a>
</p>
</card>
</wml>
Para teste, o autor gravou este
programa em seu micro como phone5b.wml. Fica a
sugestão.
Este programa também está disponível na WEB em http://sites.uol.com.br/helyomobile/wml/phone5b.wml.
Programa phone6.wml
Objetivo:
Adaptar o programa phone4.wml para se ajustar ao
programa phone5.wml, ou seja, reprogramar a tecla "ACCEPT" com o novo
label "Lista" e desvio para Phone5.wml.
Eis a tela desejada:
phone6.wml (código):
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
" http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card>
<do type="accept" label="Lista">
<go href="phone5.wml"/>
</do>
<p align="center">
<b> ** helyoMOBILE
**</b><br/><br/>
<img alt="[lua1]"
localsrc="moon2" src=""/>
<img alt="[lua2]"
localsrc="moon1" src=""/><br/>
</p>
<p align="center">
Proximo eclipse lunar:
15/mai/2001
</p>
</card>
</wml>
Para teste, o autor gravou este
programa em seu micro como phone6.wml. Fica a
sugestão.
Este programa também está disponível na WEB em http://sites.uol.com.br/helyomobile/wml/phone6.wml.
Comentário:
Foi acrescentada mais uma figura de lua na tela, retirada da lista de ícones da
documentação da Phone.com.
Como exercício, novamente retire as figuras da listagem acima e veja o
resultado num simulador.