lunedì 12 aprile 2010

Comunicare tra activity android

Questa mini guida serve per vedere il funzionamento delle activity e di come "comunicano" tra loro.

Quindi iniziamo a creare un nuovo progetto android con eclipse.
Dopo aver impostato tutti i campi siamo pronti a scrivere la nostra prima activity.
Un'activity puo' essere vista come la rappresentazione di una schermata (screen).
Quindi possiamo iniziare ad aggiungere cosa voler visualizzare in questo screen.
Nel nostro caso abbiamo bisogno di un button, editText e una textView.
Essendo widget di android,vengono solitamente definiti nel file xml che codifica il layout, e anche questi hanno attributi particolari. Vediamo l'esempio:



Come si può vedere è un linear layout dove sono presenti un button, un editText e una textview con i loro attributi.

Ora passiamo alle classi java. Vediamo la nostra prima classe:



Come possiamo vedere creiamo gli oggetti che ci servono nel metodo OnCreate e implementiamo l'interfaccia OnClickListener, che ci servirà per definire il metodo OnClick che gestira l'azione che dovrà fare il nostro bottone.
Infatti possiamo vedere che al bottone invochiamo il metodo:
bn.setOnClickListener(this);

il quale chiama il metodo onClick.
In questo metodo salviamo in una stringa il contenuto dell'editText e attraverso il metodo:
i.putExtra("nome", nome);
salviamo dentro una variabile il contenuto di questa stringa e la spediamo alla SecondActivity.

La SecondActivity si presenterà cosi:



Dopo aver impostato il suo layout tramite un altro file xml, in questo caso si è inserito un editText grande tutto lo schermo, il quale visualizzerà la stringa scritta nell'activity precedente.
Nel metodo Oncreate viene ricevuto l'intet di prima e dopo attraverso un oggetto di tipo bundle, prendiamo tutti i dati che sono stati spediti, e infine salviamo in una stringa il valore. Dopodichè possiamo settare il testo dell'editText.

Cosa molto importante!
ogni volta che si inserisce una nuova activity bisogna comunicarlo al manifest aggiungendo una stringa come segue:
< activity android:name = "SecondActivity" > < /activity>

Infine il risultato di questo esempio è il seguente:




Da qua potrete scaricare direttamente il progetto per provarlo e modificarlo sul vostro pc!
http://www.megaupload.com/?d=X6N6W8U0