ePrometeusCorsoJavaJava
testi articoli
Testi Articoli  Download
Home | Eshop | Java | Tools | Web | 
CorsoJava è ora Video! Free for all!
Clicca Qui!

WABA UN MINI JAVA PER PALMARI
Waba: un mini-Java per palmari
Cos'è Waba
Hello World
La libreria di Waba
Un esempio più complesso
Bibliografia
L'Autore

<<< Hello World >>>

Vediamo con maggior dovizia di particolari le fasi sopra descritte vedendo passo passo come scrivere il classico programma HelloWorld. Innanzitutto procuriamoci la libreria di Waba, compresa nel WabaSDK scaricato da www.wabasoft.com. Il kit comprende la versione Java delle classi Waba. Creiamo dunque un progetto utilizzando per con il nostro ambiente di lavoro preferito. Nel mio caso mi sono limitato ad utilizzare il JDK e il notepad per lo sviluppo dell'applicazione. Per applicazioni un po' più complesse un IDE vero e un debugger migliore del JDB sono sicuramente più appropriati. Il testo del programmino è semplicemente questo:

import waba.ui.*;
import waba.fx.*;
public class Hello extends MainWindow
{
   public void onPaint(Graphics g) {
     g.setColor(0, 0, 0);
     g.drawText("Hello World", 0, 0);
   }
}


In dettaglio: abbiamo importato il package waba.ui per usare la classe MainWindow, e il package waba.fx per usare il contesto grafico Graphics. La classe principale di un programma Waba deve essere derivata da waba.ui.MainWindow , come le applet devono essere derivate da java.applet.Applet. Sempre in analogia alle applet, che richiedono la ridefinizione del metodo paint, per disegnare in Waba occorre ridefinire il metodo onPaint. La libreria di Waba segue la convenzione che i metodi chiamati onXxx devono essere ridefiniti, mentre gli altri metodi possono essere chiamati. Quindi per scrivere Hello World dobbiamo soltanto ridefinire onPaint e disegnare utilizzando il contesto grafico Graphics. In molti casi le classi di Waba hanno nomi e metodi simili a classi omonime di Java. Il Graphics rappresenta l'area di disegno, che è come una bitmap fornita dal sistema dove possiamo disegnare; una volta che abbiamo svolto il nostro lavoro è compito del sistema visualizzare quanto disegnato. Preparato il nostro sorgente, possiamo compilare la nostra applicazione usando il JDK, con un comando come:

C:\waba\disk> javac -classpath waba10b7.jar Hello.java

Notare che abbiamo usato solo le librerie di Waba (specificandole con -classpath) per compilare, così se per errore inseriamo nel sorgente qualche elemento non incluso nella libreria di Waba, saremo avvertiti da un errore di compilazione. Una volta compilata la classe Hello.class, questa può essere mandata in esecuzione come applet utilizzando una pagina HTML come quella che segue:

<applet code=waba.applet.Applet
archive=waba10b7.jar
width=160 height=160>
<param name=appClass value="Hello">
</applet>

Abbiamo quindi incluso l'archivio delle classi waba, specificando come applet la classe waba.applet.Applet. Poiché la classe Hello non è derivata da java.applet.Applet non può essere usata come applet, per cui la classe effettiva da caricare viene specificata dal parametro appClass.

Hello World come si vede con Netscape

Figura 1

Hello World su Windows CE

Figura 2

In figura 1 possiamo vedere il risultato con Netscape. Noterete che finora non c'è niente di speciale. La parte interessante viene ora. Eseguendo

C:\waba\disk> warp c /q Hello Hello.class

viene trasformata la classe Hello.class in Hello.wrp e creato un link Hello.lnk necessario per lanciare l'applicazione in esecuzione su Windows CE. Adesso possiamo caricare il programma su un palmare WindowsCE; i passi da eseguire sono:

  1. aprire l'H/PC explorer di Window CE,
  2. installare la WabaVM per Windows CE in \Program Files (copiare con un drag and drop)
  3. installare l'Hello.wrp sempre in \Program Files
  4. copiare il link sul desktop (o dove lo ritenete opportuno)
  5. cliccare sul link sul desktop

Viene mandata così mandata in esecuzione la WabaVM, usando come argomento il file del programma Waba sviluppato; e in figura 2 potete vedere il risultato. Adesso passiamo al PalmOS. Per generare un programma per PalmPilot occorre usare l'Hello.wrp appena generato, e trasformarlo in una coppia di file (Hello.prc e Hello.pdb) eseguendo:

C:\waba\disk> exegen /q /w 160 /h 160 /i satori.bmp Hello Hello Hello

I parametri specificano la dimensione del display e la bitmap che rappresenta

  1. l'icona del programma. I passi per mandare il programma in esecuzione sono:
  2. Installare la Waba VM: doppio click su waba.prc e waba.pdb
  3. Installare l'applicazione: doppio click su hello.prc e hello.pdb
  4. Eseguire HotSync per sincronizzare il Palmare con il computer
  5. Lanciare Hello dal menù principale

Il programma viene così lanciato e in figura 3 potete vedere il risultato in esecuzione.
Notare che i passi di installazione della WabaVM devono essere eseguiti una volta sola, in quanto una sola WabaVM è sufficiente per l'esecuzione di diversi programmi.

Hello World su PalmOS

Figura 3

ePrometeus s.r.l. - Web Software House & Open Source System Integrator
MILANO - SAN BENEDETTO DEL TRONTO(AP)
Contatti: info@eprometeus.com