Corso di programmazione di sistemi mobile 1 1 Android Activity, View e Layout.

Slides:



Advertisements
Presentazioni simili
Come si fa a visualizzare una query? Attivato lelenco delle query, si fa doppio clic sullopzione Attivato lelenco delle query, si fa doppio clic sullopzione.
Advertisements

UNO STRUMENTO PER INTERAGIRE CON GLI UTENTI DELLE PAGINE WEB
Come si crea un Sito Web a cura del Prof. Sampognaro Giuseppe
Funzioni e procedure Ogni linguaggio di programmazione ad alto livello mette a disposizione del programmatore questi strumenti, ed il C non è da meno!
Microsoft PowerPoint: appunti di base OPERAZIONI DI BASE
Android A. Ferrari.
Recupero debito quarto anno Primo incontro
Informatica Recupero debito quarto anno Terzo incontro.
Power Point Lezione breve.
Visual C# 4TC a.s. 2010/11 Appunti da M.De Benedittis – C# -ed. Hoepli
PHP.
Comunicare con la posta elettronica (7.4)
Università degli Studi di Modena e Reggio Emilia
GLUT & OpenGL Ing. Tommaso Coviello Politecnico di Bari
STRUMENTI DI PRESENTAZIONE
Modulo o Form in Html.
Indirizzi delle variabili A ogni variabile sono associati tre concetti fondamentali: il valore memorizzato; il tipo dati di appartenenza; lindirizzo. Il.
JavaScript Laboratorio di Applicazioni Informatiche II mod. A.
Grafica Dott. Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione Università di Siena Via Roma 56 – – SIENA Uff
Corso di Informatica A.A
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea in Scienze dellInformazione Applicazione.
Il linguaggio ASP Lezione 4 Manipolare i database con ASP Lutilizzo dei FORM per laggiunta dei dati.
Ciclo di vita di una activity. Stati di una activity StatoDescrizione RUNNINGL'activity e' in cima allo stack, e' visibile ed ha il focus. E' quella che.
Progettare siti con ASP.net
DBMS ( Database Management System)
Meteo Service Corso di Reti di Calcolatori LS Casarini Stefano matr
Android questo sconosciuto … Cosa sapere per poter cominciare a sviluppare Apps Cosa sapere per poter cominciare a sviluppare Apps. Alessandro Franceschetti.
POWERPOINT Breve guida all’uso di uno strumento utile per le presentazioni Fare un ipertesto, per alunni e docenti, può essere una grande ambizione,
Un report è in grado di personalizzare la stampa delle informazioni rispetto alla stampa di una tabella, di un recordset o di una maschera. I report possono.
Prof. Salvatore Riegler
Lavagna interattiva Smart Board Installazione Presentazione
SY-MAP tools Guida allutilizzo. SY-MAP tools I SY-MAP tools permettono di collegare informazioni memorizzate su un database e elementi grafici dei file.dgn.
Applicativo Power Point
Strumenti di Presentazione (Microsoft PowerPoint 2000)
Le Toolbar di default Quando avviamo Writer vengono visualizzate di default due toolbar o barre degli strumenti La toolbar superiore è definita Standard.
“LIM un'innovazione per l'insegnamento”
SAS® OnDemand for Academics SAS Studio
Tag TABLE. Oltre ad avere la funzione di rappresentare dati di ogni genere allineati in righe e colonne, le tabelle in HTML si utilizzano per costruire.
Internet e HTML Diffusione di informazioni mediante la rete Internet.
Introduzione a Javascript
HTML 4.01 Apogeo. I tag di base Capitolo 1 I tag SintassiEsempi:
Eprogram informatica V anno. ASP.NET Introduzione ASP.NET (Active Server Page) è il linguaggio che, sfruttando la tecnologia.NET, permette di: -scrivere.
Lezione 19 Riccardo Sama' Copyright  Riccardo Sama' Access.
Tag FRAMESET. I frame sono un particolare tipo di struttura HTML, che consente di suddividere la finestra del browser in diversi riquadri distinti. Un'insieme.
Esercizio ODBC. Configurare il driver ODBC Start  Control Panel  Administrative Tools Aprire: Data Source(ODBC) User DSN  Add…. Selezionare il driver.
ESPANSIONE Personalizzare l’interfaccia utente 2010.
Microsoft Access Chiavi, struttura delle tabelle.
ELABORAZIONE TESTI MICROSOFT WORD EM 09.
Microsoft Access (parte 3) Introduzione alle basi di dati Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:
Manuale Utente – i-Sisen Questionario dei Consumi
Manuale Utente – i-Sisen Questionario del Gas Naturale
MICROSOFT POWERPOINT.
Un sito con Wordpress Includere Digital-mente – Corso livello 4 docente: prof.ssa MANUELA MARSILI.
SISTEMA GESTIONE TOMBINI
* R AMAN K AZHAMIAKIN O SCAR Z G IOVANNI D E ITT M. B UONARROTI, T RENTO A NDROID D EVELOPMENT E LEMENTI BASE.
Corso di programmazione di sistemi mobile 1 1 Android Architettura, ambiente di sviluppo e struttura di un progetto.
Corso di programmazione di sistemi mobile 1 1 Android Laboratorio Primo Progetto, Toast.
Planet HT – Genova - Elisa Delvai
+ Geolocalizzazione Nicolò Sordoni. + Servizi di localizzazione In Windows Phone, la posizione dell’utente può essere rilevata in 3 differenti modi: GPS:
Gestire i dati: download e salvataggio. L’importanza dei dati La quasi totalità delle applicazioni hala necessità di gestire varie funzionalità relative.
SQLite. Introduzione a SQLite Oltre alla possibilità di memorizzare informazioni persistenti attraverso Preferences e files, Android mette a disposizione.
Microsoft Word Idoneità Informatica. Inserire simboli Clic su Inserisci, nella Barra dei menu. Clic su Simbolo. Nella finestra Simbolo, vengono visualizzati.
Autoresizing e autolayout. Posizionare gli elementi All’interno dello storyboard, gli elementi possono essere posizionati trascinandoli nella posizione.
* R AMAN K AZHAMIAKIN O SCAR Z G IOVANNI D E ITT M. B UONARROTI, T RENTO A NDROID D EVELOPMENT UI PERSONALIZZATE.
Progetto WELL-FIR Manuale Utente del Web GIS Versione 0.1.
Gestire la navigazione. Creare un’app multi Controller La quasi totalità delle app è suddivisa in più ViewControllers, ognuno con specifiche funzionalità.
Controlli. Storyboard L’assistant editor consente una visualizzazione contestuale in cui sono affiancati verticalmente il ViewController nello storyboard.
Android Intent, AlertDialog, SharedPreferences. Intents.
Controlli. ActionSheet e Alert Selezionare un’azione In molte situazioni è necessario fornire all’utente una scelta fra varie azioni disponibili. per.
Transcript della presentazione:

Corso di programmazione di sistemi mobile 1 1 Android Activity, View e Layout

Corso di programmazione di sistemi mobile 2 2 Activity In qualsiasi programma è sicuramente richiesta un interfaccia grafica che permetta all’utente di visualizzare e interagire con essa secondo i principi previsti dallo sviluppatore. In Android questa interfaccia viene solitamente gestita tramite le activity. Possiamo immaginare un activity come una schermata, un contenitore di componenti grafici e oggetti messi a disposizione all’utente. È facile intuire come in un applicazione possano esservi diverse schermate che comunichino, si richiamino e si susseguano anche più volte. E’ questo il motivo per cui solitamente un programma consiste in più activity connesse tra loro, la principale delle quali è solitamente definita main activity. Android organizza le activity secondo un principio di stack, in base al quale l’activity attualmente in uso è quella in cima. Il richiamo di una specifica activity porterà questa in cima allo stack, ponendo quindi le altre in uno stato di pausa. Ogni applicazione aperta mantiene uno stack delle Activity che permette di tornare all’activity precedente tramite la pressione del tasto back o all’invocazione di un metodo predefinito. In termini di programmazione, una activity è intesa come un estensione della classe android.app.Activity del framework di Android.

Corso di programmazione di sistemi mobile 3 3 Ogni activity definita nel nostro progetto deve estendere laclasse di Activity o una sua sottoclasse. Per poter comprendereal meglio le activity e come utilizzarle è necessario innanzituttocapire il suo ciclo di vita. I principali metodi sono: o onCreate() : Invocato ogni volta che l’activity viene creata. All’interno di questo metodo è consigliabile effettuare tuttequelle operazioni che dovranno essere eseguite una sola volta,come ad esempio l’impostazione del layout e l’assegnamentodei riferimenti alle variabili. o onStart() : viene invocato ogni volta che l’activity viene portata in prima piano e quindi visualizzata sullo schermo. Alsuo interno è buona norma impostare tutte le componentirelative alla visualizzazione delle informazioni. Ciclo Di Vita

Corso di programmazione di sistemi mobile 4 4 o 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 partedell’utente (suoni, animazioni, ecc.) 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(), pertutte quelle situazioni in cui devono essere ripristinati oggetti inizializzati all’interno di onCreate() edisabilitati nel metodo onStop().Per ognuno dei metodi appena citati esiste un metodo complementare: o 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 interrompereun’eventuale canzone in riproduzione). o onStop() : complementare a onStart() è eseguito nel momento in cui l’activity non è più visibile sullo schermo. o onDestroy() : invocato nel momento in cui l’activity viene eliminata, ad esempio a seguito della pressione del tasto Back.

Corso di programmazione di sistemi mobile 5 5 Layouts Ogni activity ha bisogno di un proprio layout per definire come saranno 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. Android quindi disegna i componenti di una schermata attraverso oggetti della classe View, raccolti all'interno di oggetti ViewGroup (che possono raccogliere, a loro volta, altri oggetti View e ViewGroup), per creare strutture anche molto complesse, partendo da alcuni semplici componenti. La presentazione di informazioni all'interno di un'activity, per alcune applicazioni, è spesso legata a una sorgente di dati. In tal caso è particolarmente importante collegare quest'ultima ai meccanismi che hanno il compito di presentare le informazioni all'interno degli oggetti ViewGroup dell'activity.

Corso di programmazione di sistemi mobile 6 6 La descrizione dell’interfaccia grafica di una applicazione può avvenire: Attraverso file xml Attraverso codice java Nel primo caso l'interfaccia grafica viene descritta in un file xml (res/layout) il cui nome è l'id che nepermette il riferimento. Il metodo findViewById(int ResourceId) della classe Activity ritorna un riferimento aun oggetto View presente all'interno delle risorse di progetto, attraverso il suo id.Nel secondo caso l’interfaccia grafica deve essere creata a runt-time andando a definire inoltre tutte leproprietà che si definiscono all’intero del file xml come il colore di sfondo, l’orientamento ecc.public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main);//file xml LinearLayout layout = new LinearLayout(this); setContentView(layout);//codice java}

Corso di programmazione di sistemi mobile 7 7 View e ViewGroup Esistono diverse specializzazioni degli oggetti View e ViewGroup. Alcune specializzazioni della classe View, definiti all’interno del package widget, sono: Button per rappresentare i bottoni TextView, EditText per visualizzare e inserire il testo ImageView per visualizzare le immagini Alcune specializzazioni della classe ViewGroup sono: LinearLayout per disporre le view in modo verticale o orizzontale RelativeLayout per disporre le view in base alla posizione relativa di un’altra view o del contenitore TableLayout per disporre le view come se stessimo lavorando con una tabella Le specializzazioni dette sopra ereditano dalle rispettive classi padre numerosi metodi e costanti pertanto, durante la scrittura del codice, è necessario avere sempre a portata di mano la documentazione. Normalmente il layout più utilizzato è il LinearLayout

Corso di programmazione di sistemi mobile 8 8 Si tratta di un layout che dispone le view lungo la direzione stabilita dalla proprietàandroid:layout_orientation, che può assumere i valori horizontal (le view sono disposte su colonne) e vertical (le view sono disposte su righe). Qualora il numero di view sia tale da andare oltre le dimensioni delloschermo si possono utilizzare le View: ScrollView e HorizontalScrollView. Esempio di LinearLayout orizzontale: Linear Layout

Corso di programmazione di sistemi mobile 9 9 Esempio di LinearLayout orizzontale:

Corso di programmazione di sistemi mobile 10 Corso di programmazione di sistemi mobile 10 Il RelativeLayout richiede una gestione più complessa rispetto alLinearLayout, ma fra tutti i componenti messi a disposizione dallapiattaforma è probabilmente il più flessibile da utilizzare. Tale componente consente di definire il posizionamento di una delleView in termini relativi indicando, come deve posizionarsi rispetto ad unao più altre View presenti all’interno del contenitore oppure rispetto aimargini laterali del relative layout. Ad esempio, nell’immagine a fianco, il bottone con id button1 viene posizionato in alto a sinistra all’interno del proprio contenitore. Il button2 viene posizionato al di sotto e a destra del button1 e 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. Relative Layout

Corso di programmazione di sistemi mobile 11 Corso di programmazione di sistemi mobile 11

Corso di programmazione di sistemi mobile 12 Corso di programmazione di sistemi mobile 12 Widget I widget rappresentano le view che prevedono un interazione con l’utente. Android mette a disposizione diverse view base, le principali sono: TextView per visualizzare del testo EditText per inserire del testo Button per visualizzare un pulsante ImageView per visualizzare le immagini

Corso di programmazione di sistemi mobile 13 Corso di programmazione di sistemi mobile 13 È una etichetta, label e graficamente rappresenta un semplice testo fisso. Viene definita all’interno di un filexml tramite il tag TextView La proprietà xml che ci consente di impostare il testo è android :text dove è possibile scrivere direttamente il testo o inserire un riferimento ad un stringa TextView

Corso di programmazione di sistemi mobile 14 Corso di programmazione di sistemi mobile 14 Permette l’input di testo da parte dell’utente. Con l’attributo android:inputType si possono impostare i formati di input come password, testo, date, indirizzi ecc… La proprietà android:hint permette di inserire untesto di aiuto e viene visualizzato quando non è presente la parola inserita dall’utente EditText

Corso di programmazione di sistemi mobile 15 Corso di programmazione di sistemi mobile 15 È il classico pulsante la cui «pressione» comporta solitamente il verificarsi di un conseguente evento.L’azione da intraprendere alla pressione del pulsante può essere definita a livello di codice tramite il metodoOnClickListener dell’oggetto Button, oppure tramite la proprietà android:onClick. Se si utilizza la proprietà onClick dovrà essere definito un metodo con lo stesso nome all’interno dell’activitye dovrà avere come parametro la view.< Button android :layout_width= "wrap_content" android :layout_height= "wrap_content" android :text= "Visualizza« android :onClick= "visualizzaPass" android :id= /> Button //Metodo invocato con la pressione del Pulsante public void visualizzaPass(View view) { // … } //Alternativa usando OnClickListener Button button (Button)findViewById(R.id.button_vis); button.setOnClickListener(new View.OnClickListener() public void onClick(View v) { text.setText(password.getText()); } });

Corso di programmazione di sistemi mobile 16 Corso di programmazione di sistemi mobile 16 Risultato ottenuto avviando l’applicazione e cliccando il pulsante visualizza dopo aver inserito una parolanel campo password del widget editText

Corso di programmazione di sistemi mobile 17 Corso di programmazione di sistemi mobile 17 View che permette di visualizzare una immagine, piu precisamente una Bitmap che può essere caricata dalle risorse (R.drawable) oppure dinamicamente da file.XML < ImageView android :src= android :layout_width= "wrap_content" android :layout_height= "wrap_content" android :id= /> Java:ImageView image = (ImageView) findViewById(R.id.imageViewId);image.setImageResource(R.drawable.connected); ImageView