Android Development Introduzione a sviluppo @ ITT M. Buonarroti, Trento Android Development Introduzione a sviluppo Raman Kazhamiakin Oscar Zambotti Giovanni De Francesco @jibbolus
Sommario Struttura del progetto Le activity Il file di Manifest (parziale) Gli Intent (accenni) Le View
Creiamo un progetto!
) ) ) ) Codice sorgente Risorse Manifest: definizione del progetto Immagini (es. icone) ) Interfaccia (“finestre” e menu) ) Valori (stringhe, stili, colori, costante) Manifest: definizione del progetto )
Una “finestra” singola, Activity Una “finestra” singola, per un solo compito.
Activity Lifecycle
Activity Lifecycle Ciclo di visualizzazione: started-stopped creare / distruggere tutto quello che serve per la visualizzazione Ciclo di foreground: resumed-paused evitare caricamenti eccessivi Ciclo intero di vita: created-destroyed creare / distruggere risorse
Salvare lo stato di una activity Obiettivo: mantenere lavoro dell’utente Activity rimane in memoria ed il suo stato viene mantenuto Activity cancellata dalla memoria, lo stato e’ da recuperare
Il BackStack
Logica delle activity
Il File Manifest
Start activity: gli intent Modo esplicito Modo implicito Intent i = new Intent(android.content.Intent.ACTION_SEND); i.setType(“text/plain”); startActivity(i);
Le sub Activity che restituiscono un risultato Activity chiamante: Intent i = new Intent(this, ActivityTwo.class); i.putExtra("Value1", "This value one for ActivityTwo "); startActivityForResult(i, REQUEST_CODE); Activity chiamata: ... // Preparare risultato Intent data = new Intent(); data.putExtra("returnKey1", "value1"); setResult(RESULT_OK, data); finish(); Gestione del risultato: @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { ... } esempio preso da http://www.vogella.com/
Le View Ogni mattoncino dentro una Activity
I Layout
Referenziare una View
Progetto di riferimento Ciclo di vita di un activity Chiamare activity - startActivity - startActivityForResult - passare contenuti Elementi di UI - layout - TextView - Button - EditText