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

<<< La libreria di Waba >>>

La libreria di Java è composta, al momento in cui scrivo (Waba 1.0 beta7) da sole 37 classi suddivise in 6 package. Molte classi sono modellate su omonime classi del JDK e nella maggior parte dei casi rappresentano sostanzialmente un subset dei loro "fratelli maggiori". Come si può intuire la dotazione è ridotta allo stretto necessario. Tanto per fare un esempio abbiamo un waba.util.Vector ma non una Hashtable. I package forniti con Waba sono:

waba.fx
waba.ui
waba.io
waba.lang
waba.sys
waba.util
 

Il package waba.fx fornisce il framework grafico di base, ovvero le classi necessarie per disegnare testo e grafica: contesto grafico (Graphics), font (Font e FontMetrics), rettangoli (Rect) e immagini (Image). Questo framework è usato per costruire i componenti di interfaccia utente, disponibili nel package waba.ui. La dotazione di compontenti GUI non è eccelsa ma nemmeno poverissima: abbiamo i consueti bottoni, label, radio button e checkbox, i campi di testo e le tab bar utilizzate per costruire dialoghi simili a quelli tabbed di Windows. Oserei dire che questi ultimi sono quasi essenziali date le limitazioni del display. Sempre per quanto riguarda l'interfaccia, in Java AWT abbiamo Component e Container, mentre in Waba abbiamo Control e Container che svolgono le stesse funzioni. È importante notare che i Container come in Java possono contenere altri componenti di interfaccia, ma a differenza di Java, in Waba non sono supportati i LayoutManager. Quando un Control viene inserito in un container si devono anche specificare le coordinate assolute del componente. Un altro aspetto importante è l'input-output gestito dal package waba.io. Sui palmari l'unità di I/O generalmente non è il file ma il database, ovvero una collezione di record ad accesso diretto: infatti i palmari hanno solo RAM e quindi non ha senso imporre la lettura sequenziale di un file quando è possibile senza problemi l'accesso diretto.

Quindi si usano principalmente i database, che in Waba sono chiamati Catalog. Per la verità un Catalog assomiglia abbastanza ad un file di testo, dove i record sono simili a linee di testo (ovvero sequenze di byte a lunghezza variabile) con i metodi che consentono di andare avanti e indietro tra questi record, e di leggerli o scriverli. Nulla di più. Waba ha anche una classe File che rappresenta un file, ma non è utilizzabile sul PalmOS (che non ha niente del genere) ma solo con Windows CE. Altre classi di I/O supportate sono rappresentate da SerialPort, che consente l'accesso alla porta seriale (presente in tutti i palmari), e da Socket che consente di stabilire connessioni di rete quando il palmare è collegato ad Internet o ad una Intranet TCP/IP.
Oltre a quanto detto finora rimane poco altro. In waba.util abbiamo solo il Vector di cui abbiamo già detto. In waba.lang abbiamo l'Object che ha il solo metodo toString(), e due classi per gestire stringhe: la String e la StringBuffer. Infine in waba.sys abbiamo una classe Convert per le conversioni di tipi, la classe Time per gestire data e ora, ed infine la classe Vm che raccoglie svariati metodi vari come copyArray() o getPlatform() che possono essere considerati "di sistema".

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