ITIS Max Planck di Lancenigo di Villorba (TV) A.S. 2013-2014 Prof. PAOLO TOSATO Quest' opera è distribuita con licenza Creative Commons Attribuzione - Non commerciale - Condividi allo stesso modo 3.0 Unported . Programmazione mobile: ANDROID Seconda lezione: attività e layout
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
ITIS Max Planck di Lancenigo di Villorba (TV) A.S. 2013-2014
Prof. PAOLO TOSATO
Quest' opera è distribuita con licenza Creative Commons Attribuzione - Non commerciale - Condividi allo stesso modo 3.0 Unported.
Programmazione mobile: ANDROID Seconda lezione: attività e layout
Intent: descrizione di un’operazione che deve essere eseguita. Le attività, attraverso un intent-filter, possono essere attivate in risposta ad uno specifico evento. Gli intent-filter accettano figli di tre tipi: action, category, data.
23/04/2014 9 Quest' opera è distribuita con licenza Creative Commons Attribuzione - Non commerciale - Condividi allo stesso modo 3.0 Unported.
Valore di ritorno di una sotto-attività: attività principale
protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == 10) { if (resultCode == 0) { Log.i("Sotto-attività","Interruzione prima di setResult"); } else if (resultCode == 1) { Log.i("Sotto-attività","Risultato ottenuto correttamente"); Log.i("Sotto-attività", "Messaggio: " + data.getStringExtra("messaggio")); Log.i("Sotto-attività", "Cliccato: " + data.getBooleanExtra("cliccato", false));
SimpleDateFormat f = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss", Locale.ITALY); Date d = new Date(data.getLongExtra("timestamp", 0)); Log.i("Sotto-attività", "Timestamp: " + f.format(d)); } } } }
23/04/2014 11 Quest' opera è distribuita con licenza Creative Commons Attribuzione - Non commerciale - Condividi allo stesso modo 3.0 Unported.
Le attività
Valore di ritorno di una sotto-attività: attività secondaria
public void onClick(View v) { Intent data = new Intent(); data.putExtra("messaggio", "Tutto ok!"); data.putExtra("cliccato", true); data.putExtra("timestamp", System.currentTimeMillis()); // Il primo parametro è un intero che rappresenta // l'identificativo del risultato (0 se non viene chiamato setResult). // Il secondo parametro può mancare ed è un Intent, il quale // contiene un dizionario chiave-valore (null se assente). setResult(1, data); finish(); } }
23/04/2014 12 Quest' opera è distribuita con licenza Creative Commons Attribuzione - Non commerciale - Condividi allo stesso modo 3.0 Unported.
Layout - Java
I componenti View estendono tutti la classe base android.view.View.
Per mostrare sullo schermo l’oggetto View specificato: setContentView(View view).
Tutti i widget richiedono, nei loro costruttori, un oggetto che estenda la classe astratta android.content.Context (Activity estende indirettamente Context).
23/04/2014 13 Quest' opera è distribuita con licenza Creative Commons Attribuzione - Non commerciale - Condividi allo stesso modo 3.0 Unported.
Layout: ViewGroup utilizzabili per posizionare i widget sullo schermo Pacchetto android.widget
• FrameLayout: allinea il widget in alto a sinistra e lo estende per tutta la dimensione disponibile al layout stesso.
• RelativeLayout: per default, il componente aggiunto viene allineato in alto a sinistra (dimensioni reali). E' possibile controllare l’allineamento attraverso setGravity().
• LinearLayout: il suo orientamento può essere stabilito chiamando il metodo setOrientation(), con argomento pari a LinearLayout.HORIZONTAL o LinearLayout.VERTICAL. Se si va di poco oltre la dimensione della riga, il sistema tenta un aggiustamento restringendo i componenti al di sotto delle loro dimensioni ideali.
• TableLayout: permette di sistemare i componenti secondo uno schema a tabella. I TableLayout vanno costruiti aggiungendo al loro interno degli oggetti TableRow.