5

Nov

Demo 1 – Hello World in Windows Mobile

Cercherò di ripercorrere le demo fatte nei miei interventi, partendo ovviamente dalla prima: la più semplice. Intanto scarichiamo Visual Studio dal nostro portale MSDNAA di facoltà (http://msdnaa.academicclub.org) se non l’avessimo già fatto.

Quando si installa Visual Studio io consiglio sempre due cose:

  • Installarlo da immagine montata (ha talmente tanti piccoli files, che scrivere un cd è controproducente, oltre che anti Green IT).
  • Installare anche l’SP1 (operazione che impiegherà circa 2-3 volte il tempo dell’installazione di VS stesso, ma che sarà essenziale qualora decideste di sviluppare anche per Windows e Web.

Ok, una volta installato procediamo per gradi:

Nuovo Progetto

image

Notare che il progetto precedente a questa demo era un Xbox 360 project!!! Questo perchè, nella follia serale, avevo deciso di provare a deployare il mio primo gioco sulla Xbox (ovviamente un semilavorato già pronto, solo per il gusto di dire “Yatta” (I did it). Ok, torniamo a noi.

Quando si fa un nuovo progetto per Windows Mobile, in realtà lo si fa per uno Smart Device (secondo Visual Studio), il che ci porta a questa seconda schermata,

image

che altro non è che il preludio di questa terza ed ultima schermata per creare un progetto

image

Windows Mobile vuoto.
Soffermiamoci un attimo: qui dobbiamo scegliere quale sarà la target platform (ovvero l’SDK di destinazione della nostra applicazione) e poi la versione del framework .NET. Come dico continuamente nei miei interventi, scegliete una versione RECENTE del target platform SOLO SE state sviluppando qualcosa interagente con il SO. Questo perchè se delegate tutte le funzioni della vostra logica applicativa al .NET Compact FW, allora che sia un 5, 6, 6.1 o 6.5 non vi interessa più di tanto (e direi anzi: “meglio sviluppare su target più vecchi così si assicura maggiore compatibilità”).
Per il .NET Compact Framework invece le cose cambiano, per esempio volete usare LINQ? Ecco allora il 2.0 è fuori. Ci sono molte altre limitazioni (non certo bloccanti), ma siccome è molto più evidente cosa si lasci e cosa si guadagni con versioni di FW diverse, lascio a voi la complicata scelta di che versione utilizzare (sapendo che questo INCIDERA’ sulla diffusione dell’applicazione: non tutti sono disposti a scaricare il framework 3.5 e/o perdere troppo tempo).

Contrariamente a ciò che vi ho appena consigliato, per la resa grafica migliore della demo, io scelgo Windows Mobile 6 Professional SDK, con l’intento poi di deployare su WM 6.5.

Interfaccia Grafica

image

Questo è ciò che si vede subito nel Solution Explorer. Io di solito cancello il form di default e ne ricreo un altro con un nome decente. NB: facendo questo, nel file Program.cs dovete cambiare il nome della classe form di avvio.

 

 

In questo caso siccome io ho creato un form “MainForm”, Solution Explorer e Program. cs appariranno così:

image

image

Ora scriviamo qualche riga di codice, dopo aver trascinato il tipico bottone sulla interfaccia grafica della nostra form.

Form e Codice

image

Come dico sempre, il mio personale obiettivo è scrivere meno codice possibile: quindi a discapito di quello che si può pensare, arrivando magari da uno stile di programmazione più low-level, dove in componenti vengono instanziati, posizionati e gestiti via codice, io ci tengo a spronare l’utilizzo del dragNdrop al massimo (almeno per “progettare” graficamente la nostra form e i nostri controlli, e per settarne le proprietà iniziali).

In questo caso si è trascinato un Button sul form, gli si è dato un valore alla proprietà Text (Click Me) e lo si è ridimensionato per sembrare più centrato.

NB: ricordiamoci che stiamo sviluppando su un dispositivo Touch, quindi tutto ciò che è minuscolo e intoccabile con un dito, è quasi senza senso (dico “quasi” perchè c’è sempre il pennino, anche se lo sviluppatore non deve, IMHO, adagiarsi su questa convinzione).

image Ogni controllo che il creatore ci ha concesso (Form, Button, Textbox e così via) è ovviamente dotato di proprietà di base comuni, ed eventi comuni (grazie all’ereditarietà). Tuttavia è bellissimo navigare le prorietà dei controlli per vedere quante cose carine possiamo fare già così, gratis, senza inventarci la ruota. Insieme alle numerose proprietà (a destra) che possiamo cambiare con la GUI già in fase di progettazione (notate che ho lasciato il nome del controllo bottone a “button1”, pratica che sconsiglio) abbiamo anche gli eventi, che altro non sono che dei particolari handler a cui ci possiamo “aggangiare” per inserire codice custom che eseguirà al verificarsi di determinate condizioni, durante l’esecuzione (ovvero allo scattare dell’evento).

Quindi, per farla breve, se volessimo scrivere codice in relazione all’evento Click del b
ottone:

  • Selezioniamo il bottone button1
  • Nella finestra proprietà clicchiamo il bottoncino in alto con questa icona image
  • Apparirà una lista di eventi: noi facciamo double-click sull’evento Click
  • Ci si aprirà la finestra codice relativa al code-behind della nostra form

image

 image

Finito!!! Ah no, il codice:

image

Ora abbiamo finito l’esempio Hello World e lo dobbiamo deployare. Per fare ciò scegliamo in alto a SX il target device su cui andare a caricare l’eseguibile e su cui fare il debug remoto:

image   Io, come vi dicevo, scelgo WM 6.5 perchè è più figo da vedere. Voi scegliete pure ciò che volete tenendo a mente che ogni device ha peculiarità diverse (come le dimensioni dello schermo, la risoluzione, etc).

 

 

Scelto? Bene, allora F5.

Risultato

image

image

by Roberto Freato on 11/5/2009
Post archive