Migliore App Android

sabato 17 ottobre 2015

[Programmazione] Programmare Android: Lezione 1 - Basi

Salve a tutti cari lettori e benvenuti alla prima lezione di programmazione Android. Ogni settimana verrà pubblicata una lezione dedicata alla programmazione del famosissimo "robottino verde". Se siete interessanti, iniziamo insieme la nostra prima lezione.




Classi

Sono un elemento fondamentale del linguaggio Java. Ogni classe avrà il proprio file .java. La classe viene vista come un insieme di Variabili Metodi. La sintassi per definire di una classe è:
class MiaClasse{
}
La classe costituisce un blocco. Un blocco inizia con l’apertura della parentesi graffa e si chiude con la parentesi graffa corrispondente.

Variabili

Le variabili possono essere di qualsiasi tipo. Il tipo di una variabile è molto importante, perchè definisce l’uso della variabile e le sue caratteristiche. Esempi di tipo di una variabile: 
  • boolean (definisce una variabile booleana che può assumere solo il valore true false
  • int (definisce un numero intero, che può assumere quindi valore 0,1,2 ma anche -1,-2,…) 
  • String (definisce un insieme di caratteri, ad esempio “ciao” è una stringa di 4 caratteri)  
  • ImageView (la vedremo in futuro) 
Le variabili vanno sempre definite:
int a;
Il punto e virgola finale  segna la fine di ogni istruzione. Ogni variabile deve avere un nome. Possiamo anche inizializzare una variabile, cioè darle un valore iniziale:
int a = 10;
Dopo possiamo cambiare il valore della variabile:
a= 5;
a= a+ 10;
Dopo queste due istruzioni, la variabile a varrà 15, abbiamo prima sostituito il suo valore con 5, poi abbiamo aggiunto ad a 10, per cui alla fine avremo a uguale a 15.
Per semplicità possiamo vedere alcune variabili come “speciali”, poichè seguite da un punto possono richiamare metodi:
String s= "ciao";
a= s.length();
“length” restituirà il numero di caratteri contenuti nella stringa, in questo caso 4, quindi a sarà 4.

Metodi

Insieme di istruzioni, compiute su dei parametri, che restituiscono una variabile. Il metodo va definito:
public int moltiplicazione ( int a, int b){
int c= a*b;
return c;
}
Dopo “public”, bisogna definire il tipo restituito dal metodo, nel nostro caso “int” poichè la moltiplicazione darà come risultato un intero. Dopo, bisogna definire il nome del nostro metodo (anche questo a scelta), seguito da 2 parentesi tonde che racchiudono i tipi e i nomi dei parametri (possono anche non esserci). Potevamo inserire più di 2 parametri, anche di tipi diversi rispetto a int. Abbiamo definito cosa farà il metodo, per richiamarlo:
int prodotto;
prodotto = moltiplicazione (10,5);
Dopo queste 2 istruzioni, il prodotto varrà 50. Guardiamo questo esempio:
public int contaCaratteri (String s1, String s2){
int a;
a= s1.lenght() + s2.lenght();
return a;
}
Abbiamo definito il metodo “contaCaratteri”, richiamiamolo:


String stringa1= "ciao";
String stringa2= "hello";
int a = contaCaratteri( stringa1, stringa2);
Dopo la computazione a sarà 9.

Costrutti

Guardiamo alcuni costrutti fondamentali della programmazione, che useremo nella nostra lezione.

If – Else

Questo costrutto è uno dei più importanti:
String s;
int a = funzione();
if(a > 10){
s= "OK";
}
else{
s= "NO";
}
Quale sarà il valore di s dopo le istruzioni? Dipende. Se il metodo funzione ritornerà ad esempio 11, s varrà “OK”, altrimenti se a era 5 s varrà “NO”. Dobbiamo notare che dopo l’if e dopo l’else si aprono e chiudono le parentesi graffe, si hanno 2 blocchi. Il blocco dell’else è opzionale, quello dell’if no. Un altro esempio:
if(a==5){
a= 7
}
In questo caso solo se a è uguale a 5, si eseguirà il blocco dell’ if. I 2 segni “=” non sono un’ errore, in quanto a=5 significa “assegna il valore 5 ad a” mentre “==” significa “il valore di a è uguale a 5″. Altro simbolo da ricordare è questo, “!=” costituito da un punto esclamativo seguito da un uguale, che significa semplicemente diverso.

Switch – Case

Serve per far compiere azioni diverse a seconda del valore, si preferisce al primo costrutto se i casi da discriminare sono molti:
String s;
int a = funzione();
switch(a){
case 0:
s="ZERO";
break;
case 1:
s="UNO";
break;
case 2:
s="DUE";
break;
default:
s="SCONOSCIUTO";

}
A seconda del valore di a, la stringa assumerà una forma diversa. Prestate attenzione alle parole chiave break edefault. Su Eclipse vi sarà facile riconoscere tutte le parole chiave (class, if, else, … ) perché queste assumeranno una colorazione diversa.
Per comprendere meglio alcune parti del codice, c’è la possibilità di commentare. Per fare questo è inserire 2 slash, così:
//questo è un commento
Su Eclipse verranno colorati di verde, e non influenzeranno in alcun modo il codice, servono solo per comprendere meglio alcune parti ostiche del programma.