All’inizio del codice si possono vedere i vari “import”, necessari per poter usare le varie classi di oggetti ed i relativi metodi che saranno necessari:
- “import android.app.Activity“: permette di creare la la prima finestra dell’applicazione, nella quale si potranno disegnare i vari contenuti;
- “import android.os.Bundle“: permette la gestione delle stringhe e dei tipi di dati;
- “import android.view.View“: permette la gestione e la manipolazione dello schermo mediante la creazione di UI e gestendone gli eventi;
- “import android.graphics.Canvas“: permette la creazione di elementi grafici che possono poi essere stampati a schermo;
- “import android.graphics.Paint“: permette di definire gli stili ed i colori desiderati per il disegno degli elementi grafici e testuali;
- “import android.graphics.Color“: permette la gestione e la conversione dei codici colori;
- “import android.content.Context“: permette la gestione del contesto relativo all’applicazione e l’interfacciamento dei vari componenti.
- Il costruttore “onCreate” inizializza l'”Activity”, crea l’ oggetto “_view” di tipo “View2” (in verita’ “View2” è una classe che estende “View”) e gli passa il contesto dell’applicazione corrente “this” (cioè se stessa);
- Viene instanziato l’oggetto “_view”, che crea l’oggetto “_paint” (instanza della classe “Paint”);
- La chiamata “setContentView(_view);” manda in esecuzione e visualizza i risultati dell’elaborazione effettuata dall’oggetto “_view”, instanza della classe View2 (che estende View). Qui di seguito potete vedere il codice della seconda classe;
[java]class View2 extends View {
private Paint _paint;
private String _string = “Hello, Android, in modalita’ grafica”;
public View2(Context context) {
super(context);
_paint = new Paint();
}
@Override
protected void onDraw(Canvas _canvas) {
_canvas.drawColor(Color.GREEN);
_paint.setColor(Color.YELLOW);
_canvas.drawCircle(160, 210, 159, _paint);
_paint.setColor(Color.BLACK);
_paint.setTextSize(16);
_paint.setAntiAlias(true);
_canvas.drawText(_string, 40, 213, _paint);
}
}[/java]
- A questo punto viene eseguito l’Override del metodo “onDraw” della classe “View2” (che estende la classe View) da parte dell’oggetto “_view” che crea il “Canvas” (lo sfondo) dove andremo a disegnare e vengono eseguite le istruzioni che serviranno al disegno dei vari elementi grafici e testuali a video. In particolare:
– “_paint.setColor(Color.YELLOW);” setta il colore giallo con il quale andremo a scrivere e disegnare sul “Canvas”;
-” _canvas.drawCircle(160, 210, 159, _paint);” disegna un cerchio pieno con il colore appena definito da “_paint”;
– “_paint.setColor(Color.BLACK);” setta il colore nero con il quale andremo a scrivere e disegnare sul “Canvas”;
– “_paint.setTextSize(16);” setta la dimensione del font di caratteri da utlizzare per scrivere sullo schermo;
– “_paint.setAntiAlias(true);” attiva l’antialiasing sui testi che verranno stampanti (ne smussa gli spigoli, rendendoli piu’ dolci);
– “_canvas.drawText(_string, 40, 213, _paint);” infine stampa a video il testo desiderato contenuto nella stringa “_string” definita all’inizio della classe “View2”.
Il risultato finale delle operazione e’ il seguente:
Ciao ed alla prossima!
P.S. Il Sorgente lo potete scaricare qui: helloandroid.zip