Android. Project, Activity, Layout e Toast

Documenti analoghi
Sistemi Mobili e Wireless Android Interfacce utente: Widget e Layout (2)

Introduzione alla programmazione Android. Emanuel Di Nardo

@ ITT M. BUONARROTI, TRENTO ANDROID DEVELOPMENT ELEMENTI BASE. RAMAN KAZHAMIAKIN OSCAR GIOVANNI DE

Capitolo 18 - Progetto DWG Creazione del layout di stampa

SISTEMA GESTIONE TOMBINI

Corso Corso di di programmazione di di sistemi mobile 1 1. Android Laboratorio. Primo Progetto, Toast

La Back Office Console consente di costruire lo scheletro degli schema.

Android. Layout.

Sistemi Mobili e Wireless Android - Risorse

Android. Android01: Introduzione alle Activity.

Mobile Programming. Prova scritta del 07/04/2016. Prof. De Prisco. Corso di laurea in Informatica

Manuale Utente Webbiobank

Fondamenti di sviluppo mobile su Android

Guida per l utilizzo della WEB COMMUNITY

Capitolo 19: Creazione del layout di stampa

LA FORMATTAZIONE Impostare la pagina, i paragrafi e il corpo del testo

Inoltrare un messaggio.

Aule. La classe in questo caso è composta solamente dal nome. Inserire quindi tale attributo all'interno della casella di testo indicata.

Sistemi Mobili e Wireless Android Interfacce utente: Widget e Layout (1)

Video Scrittura (MS Word) Lezione 3 Formattazione e Stampa documenti

Gestione Formulario. Il Formulario è una raccolta organizzata di formule e modelli finalizzati all amministrazione e gestione del personale.

Opzioni contenitore Prodotti

IMMAGINI INTRODUZIONE

ISCRIZIONI. Impostazioni form ECDL

Grafici. 1 Generazione di grafici a partire da un foglio elettronico

Mobile Programming. Prova scritta del 10/02/2017. Prof. De Prisco. Corso di laurea in Informatica

Servizio Conservazione No Problem

Windows. La prima realizzazione di un ambiente grafico si deve alla Apple (1984) per il suo Macintosh. La gestione dei file conserva la logica del DOS

Un sito con Wordpress

MagiCum S.r.l. Progetto Inno-School

Guida per l'utente. Funzione Trovami/Seguimi di Nortel Business Communications Manager. Introduzione

Modulo o Form in Html

Android. Android. Sviluppo di applicazioni. Dalvik 19/03/2011. A. Ferrari

ProgettAzione tecnologie in movimento - V anno Unità 4 - Applicazioni per i sistemi mobili

AiM Manuale Utente. Race Studio 3 Track Manager. Versione 1.00

Schermata principale

Il sistema operativo Android

Video Scrittura (MS Word) Prima Parte

CORSO DI FORMAZIONE DOCENTI DELLE SCUOLE PUBBLICHE A GESTIONE PRIVATA ECDL, LA PATENTE EUROPEA PER L USO DEL COMPUTER GUIDA SINTETICA

Jamio openwork data source connector for QlikView

INCOMUNE.NET 4.0 Powered by Contao CMS Open Source

Fondamenti di Informatica T-1

Guida di Brother ScanViewer per ios/os X

Cosa sono le maschere

FlexCMP La piattaforma accessibile per il web 2.0

La tua prima app su Android

Portale Fornitori Italgas

Indice generale. Prefazione...xiii. Introduzione...xv. Android e Java per Android...1

Guida all'utilizzo dei Gruppi. Università degli Studi di Genova

Manuale Stampe Registro elettronico SOGI

IMU 2013 dalla A (Aliquote IMU) alla V (Versamenti F24).

Manuale Piattaforma Spending Review

LINEE GUIDA PER GLI ENTI ADERENTI. Raccolta Fabbisogni: Referente

Formazione a Supporto dell Inserimento Lavorativo. Elementi di Word avanzato. Docente Franchini Gloria

Produzione di un clip video promozionale per un azienda di catering

Applicazione Android (v )

Corso sul PACCHETTO OFFICE. Modulo Access

Archiviazione Elettronica e Conservazione sostitutiva

Programmazione in ambiente

Tesina esame Programmazione di Sistemi Mobile realizzata da Roberto Giuliani matricola Sicurezza e Permission in Android

C3 IL DBMS MICROSOFT ACCESS

GUIDA ALLA COMPILAZIONE DELLA CERTIFICAZIONE UNICA 2015

Utilizzo delle Maschere in Microsoft Access

Procedura Recupero Carenze per Alunni con Giudizio Sospeso

Aggiornamento del firmware della fotocamera

(b) - Creazione del layout delle pagine nella vista Layout

Capitolo 23: Modulo di offertistica - modifica sconti

Indice. Ricerca richiesta d offerta. Risultati della ricerca Navigazione Stati

Creare e ripristinare immagine di sistema con Windows 7

INSTALLAZIONE DEL SOFTWARE DESKTOP TELEMATICO E APPLICAZIONE ENTRATEL

Ogni PC, per iniziare a lavorare, ha bisogno di un sistema operativo. Infatti questo è il primo programma che viene eseguito e che permette

Nuove pagine e collegamenti

Cultura Tecnologica di Progetto

Mon Ami 3000 Spesometro Comunicazione delle fatture emesse e ricevute

14Ex-Cap11.qxd :20 Pagina Le macro

Sommario. Capitolo I Introduzione 1. Capitolo II Esempi 1. Capitolo III Avvio del programma 2. Capitolo IV Barra degli strumenti 4

Android Material. Toolbar, FAB buttons, Dailogs

Capitolo Tavola e grafico

Fondamenti di Informatica T-1

Modulo 6. Strumenti di Presentazione

Database Modulo 4 RELAZIONI TRA TABELLE

Guida introduttiva. Introduzione a Impress Presentazioni con OpenOffice.org

Funzioni Principali dell APP ENTR

COME CONSULTARE I MANUALI USO E MANUTENZIONE E IL CATALOGO RICAMBI ON-LINE

LE MASCHERE. Maschera standard. Maschera semplice. Questa maschera però non consente di nascondere alcuni campi e visualizza i record uno ad uno.

Scuola Secondaria di I grado Anagrafe Nazionale degli Studenti Avvio a.s. 2017/2018

Sistemi Mobili e Wireless Android Action bar e menu

Disconnessione Utente

Manuale LiveBox APPLICAZIONE ANDROID (V )

WebDisk. TeamPortal - WebDisk

AWN. Manuale utente Web Mail. Rev AWN ArchiWorld Network. Pag. 1 / 49. v Manuale utente della Web Mail

CREAZIONE INVIO TELEMATICO

3.5.1 PREPARAZ1ONE I documenti che si possono creare con la stampa unione sono: lettere, messaggi di posta elettronica, o etichette.

Programmazione Android. Luca Morettoni

GALLERY. Album immagini

Corso di programmazione di sistemi mobile 1. Android. Architettura, ambiente di sviluppo e struttura di un progetto

Avviate Specifi dall icona presente sul vostro Desktop.

Perché il linguaggio C?

Indice generale. Capitolo 1 Introduzione ad Android... 1

Mobile Programming. Prova scritta del 28/01/2015. Prof. De Prisco. Corso di laurea in Informatica

Transcript:

Android Project, Activity, Layout e Toast

ANDROID PROJET Un progetto android è composto da diverse cartelle, ogni cartella può contenere uno o più file. Android_20150310 : cartella principale, contiene le varie applicazioni e librerie che si vogliono sviluppare (workspace) app : applicazione gradle : contiene i file necessari per compilare il progetto Applicazione (app) androidtest : cartella dove vengono riposti i vari file di testing main : cartella principale dell applicazione, si suddivide in altri sottocartelle java : file.java, codice scritto in JAVA che verrà interpretato dal compilatore res : risorse grafiche per creare l UI dell applicazione AndroidManifest.xml : contiene tutte le informazioni necessarie per l utilizzo dell applicazione 2

ANDROID MANIFEST L Android Manifest è il file più importante dell applicazione. In esso vengono specificate tutte le informazioni che l applicazione a bisogno per funzionare. Al suo interno vengono dichiarate: Le activity, i service e altri componenti che costituisco l applicazione I permessi che l applicazione utilizza, in modo che l app a runtime possa accedere alle varie API del dispositivo L hardware che necessita l applicazione per funzionare (Fotocamera, GPS, Bluetooth ) Il package di appartenenza (id universale dell app) La versione di SDK minima da utilizzare (*) La versione dell applicazione (*) * Con Android Studio alcune dichiarazioni sono state spostante nel file build.gradle 3

RES FOLDER La cartella res contiene tutte le risorse grafiche come immagini, file di layout, menu, definizione di temi e stile. drawable<density> : contiene file come immagini o.xml che permettono di definire forme o figure composte da utilizzare nei file di layout. Esistono diverse cartelle drawable che si differenziano in base alla densità degli schermi. layout : contiene i file.xml che definisco la UI (User Interface), un file layout può fare utilizzo dei file definiti nella cartella drawable, mipmap, values. menu : contiene file xml che costituiscono i menu delle varie activity o dei fragment. mipmap : come per i drawable contengono le immagini da utilizzare nell applicazione. values : contiene file come string.xml, style.xml dove vengono dichiarate le stringhe, i colori e altre constati per creare un UI dinamica, multilingua e personalizzata. I values come per i drawable si posso suddividere in base alla densità, all sdk ed a altre caratteristiche. 4

FILE R Il file R è un file generato automaticamente dal sistema quando si compila il progetto. Contiene un id numerico (Integer) per ogni file presente all interno della cartella res dell applicazione. Il file R è suddiviso in classi statiche create dinamicamente in base alle cartelle del file res: R.drawable. R.layout. R.menu. R.mipmap. R.values. Vi è, infine, un ulteriore classe statica: R.id. dove ID è un identificativo che viene assegnato automaticamente o manualmente ad un elemento all interno di un file di layout. Esiste un file R di sistema e un file R per ogni applicazione o libreria sviluppata per Android. Esempio, recuperare l id di una stringa: R.string.app_name; 5

ACTIVITY: COSA SONO? Le activities sono uno dei componenti fondamentali di un app Android; ogni applicazione è costituita da un insieme di activities correlate tra loro. Ogni activity svolge il proprio lavoro sul main thread non potendo interagire direttamente con altre activity. Un Activity può essere vista come una schermata contenente delle informazioni da visualizzare e con la quale l utente può interagire per svolgere determinate azioni (effettuare una chiamata, inviare un messaggio, modificare le impostazioni di sistema ecc). Nel manifest di ogni applicazione esiste un activity con un intent-filter impostato a main, tale intent definisce l activity principale che deve essere lanciata dal sistema all avvio dell applicazione. Ogni volta che viene lanciata una nuova activity, l activity uscente, cioè l acitivity che al momento si trova in primo piano viene inserita in un apposita pila, denominata back stack. Tale pila tiene traccia, per ogni applicazione, dell ordine con cui sono state invocate le activity. In tal modo, se l utente premerà il tasto back, sarà possibile ripercorrere a ritroso la sequenza di activities avviate. 6

ACTIVITY: CICLO DI VITA Ogni activity non è altro che una sottoclasse di Activity. Tale classe possiede dei metodi che è necessario ridefinire per poter gestire al meglio il ciclo di vita delle nostre activities. Per poter comprendere al meglio come utilizzarli è necessario innanzitutto capire il ciclo di vita di ogni activity. oncreate(): Invocato ogni volta che l activity viene creata. All interno di questo metodo è consigliabile effettuare tutte quelle operazioni che dovranno essere eseguite una sola volta, come ad esempio l impostazione del layout e l assegnamento dei riferimenti alle variabili. onstart(): viene invocato ogni volta che l activity viene portata in prima piano e quindi visualizzata sullo schermo. Al suo interno è buona norma impostare tutte le componenti relative alla visualizzazione delle informazioni. onresume(): tale metodo è richiamato ogni volta che l activity diventa interattiva, cioè quando l utente può interagire con essa. Pertanto al suo interno vanno gestite tutte quelle funzioni relative all uso da parte dell utente (suoni, animazioni, ecc.) 7

ACTIVITY: CICLO DI VITA Per ognuno dei metodi appena citati esiste un metodo complementare: onpause(): eseguito nel momento in cui l activity smette di essere interattiva. Essendo simmetrico a onresume() è necessario eliminare le eventuali risorse allocate al suo interno (ad esempio interrompere un eventuale canzone in riproduzione). onstop(): complementare a onstart() è eseguito nel momento in cui l activity non è più visibile sullo schermo. ondestroy(): invocato nel momento in cui l activity viene eliminata, ad esempio a seguito della pressione del tasto Back. Si aggiunge un ulteriore metodo, onrestart(), che viene eseguito nel caso in cui un activity precedentemente messa in pausa ritorna attiva. Esso è stato introdotto come alternativa a oncreate(), per tutte quelle situazioni in cui devono essere ripristinati oggetti inizializzati all interno di oncreate() e disabilitati nel metodo onstop(). 8

LAYOUTS Ogni activity ha bisogno di un proprio layout per definire come saranne visualizzate le informazioni da mostrare all utente ed i vari componenti per poter gestire l interazione con esso. Android ci mette a disposizione, oltre che una gran quantità di View, anche vari layouts per determinare la disposizione delle View. Tali layout, che ereditano tutti la superclasse comune ViewGroup, si differenziano per il modo in cui permettono di disporre la View in essi contenute. Essendo ViewGroup una sottoclasse di View, nulla vieta ai vari layout di contenersi vicendevolmente, per creare strutture anche molto complesse, partendo da alcuni semplici componenti. Sebbene ne esistano molti altri, i più comunemente utilizzati sono i seguenti: LinearLayout RelativeLayout FrameLayout 9

LAYOUTS: LINEARLAYOUT Il LinearLayout è uno dei layout più utilizzati. Si tratta di un componente molto semplice, che consente di mostrare le posizionare le View in riga o in colonna, a seconda del valore della proprietà orientation. Tale proprietà può essere impostata da XML, come mostra il frammento a lato, oppure da codice Java, ottenendo il riferimento all oggetto ed invocando su di esso il metodo setorientation(..) al quale va passata una delle seguenti costanti: LinearLayout.HORIZONTAL LinearLayout.VERTICAL Sempre osservando il frammento di codice XML, si nota come aggiungere View al layout, cioè inserendole all interno ai tag di apertura e chiusura del componente. Un alternativa è quella di utilizzare, da Java, il metodo addview(view v), ereditato dalla classe ViewGroup. 10

LAYOUTS: LINEARLAYOUT 11

LAYOUTS: RELATIVELAYOUT Il RelativeLayout richiede una gestione più complessa rispetto al LinearLayout, ma fra tutti i componenti messi a disposizione dalla piattaforma è probabilmente il più flessibile da utilizzare. Tale componente consente di definire il posizionamento di una delle View in termini relativi indicando, come deve posizionarsi rispetto ad una o più altre View presenti all interno del contenitore oppure rispetto ai margini laterali del relative layout. Ad esempio, nel frammento di codice XML a lato, il bottone con id button1 viene posizionato in alto a sinistra all interno del proprio contenitore. Dopodichè il button2 viene posizionato al di sotto e a destra del button1 ed il margine destro allineato con quello del proprio contenitore. Infine il button3 viene posizionato al di sotto del button2 allineando i margini sinistro e destro con quelli del RelativeLayout. il risultato è mostrato nella prossima slide 12

LAYOUTS: RELATIVELAYOUT 13

TOAST Un toast è un semplice messaggio utilizzato principalmente per fornire un feedback all utente su un azione compiuta da quest ultimo. Il toast viene mostrato per un determinato tempo e con un messaggio specifico. Toast.makeText(Context context, CharSequence text, int duration); Toast.makeText(Context context, int textresid, int duration); Si può anche personalizzare il toast utilizzando i metodi presenti all interno della classe Toast 14

ESERCIZIO Creare un applicazione che presenta un layout di tipo Relative. Aggiungere un campo di testo con allineamento in alto, a sinistra e a destra rispetto al padre (RelativeLayout) e un pulsante centrato verticalmente e orizzontalmente rispetto al padre (RelativeLayout). Alla pressione del pulsante (xml:onclick o java:setonclicklistener) si deve recuperare il testo inserito dall utente e visualizzarlo tramite un toast. Versione avanzata: Aggiungere un RadioGroup e due RadioButton per indicare il tempo di visualizzazione del toast (short o long) 15