...

Android Laboratorio - programmazione mobile Corso di Laurea in

by user

on
Category: Documents
22

views

Report

Comments

Transcript

Android Laboratorio - programmazione mobile Corso di Laurea in
Android Laboratorio
Primo Progetto, Toast
Corso
di diprogrammazione
di di
sistemi
mobile
Corso
programmazione
sistemi
mobile 1 1
Android Studio
Per realizzare le nostre applicazioni utilizzeremo Android Studio, sviluppato da Google, che presenta un editor
grafico con anteprima per la realizzazione dei layout, include molti template, e utilizza il Gradle come strumento di
build automation.
Nel caso in cui Android Studio si apra direttamente
sull’ultimo progetto creato potete cambiare
l’impostazioni andando in Settings->System Settings
e spuntando l’opzione Reopen last project on startup
Corso
di diprogrammazione
di di
sistemi
mobile
Corso
programmazione
sistemi
mobile 2 2
Per creare un nuovo progetto bisogna selezionare la voce "Start a new Android Studio project", si dovranno
inserire i nomi dell’applicazione (Application Name), dell’azienda e il package name che identifica
universalmente la nostra applicazione.
Attenzione! Android Studio crea in automatico il nuovo progetto nella cartella "Project Location" dell’ultimo
progetto creato.
Una volta inseriti i dati si procede con la selezione della voce Phone and Tablet e nella schermata "Add an activity to
mobile" bisogna selezionare "Empty Activity" e continuare fino al termine del wizard di creazione.
Corso
di diprogrammazione
di di
sistemi
mobile
Corso
programmazione
sistemi
mobile 3 3
Avviare un’app
Per avviare un’applicazione basta selezione la voce Run App dal menu Run. Potete decidere se avviare
l’applicazione su un dispositivo mobile collegato al computer e con la modalità sviluppatore debug USB
attivo oppure tramite emulatore.
Corso
di diprogrammazione
di di
sistemi
mobile
Corso
programmazione
sistemi
mobile 4 4
Log
Quando si sviluppa un applicazione si ha spesso la necessità di effettuare del debug per verificare se
alcuni comportamenti sono come noi c’è li aspettiamo.
In android esiste la classe Log e i seguenti metodi statici
Log.v() => VERBOSE
Log.d() => DEBUG
Log.i() => INFO
Log.w() => WARN
Log.e() => ERROR
Ogni log viene rappresentato sul debug con un colore diverso in base al suo significato, un log di tipo
Error viene visualizzato con il colore rosso.
private static final String TAG = "MyActivity";
Log.i(TAG, "info");
Log.e(TAG, "error");
Corso
di diprogrammazione
di di
sistemi
mobile
Corso
programmazione
sistemi
mobile 5 5
Creazione della UI
Per poter creare l’user interface android studio mette a disposizione sia un editor grafico che un editor
testuale.
L’edito grafico consente di effettuare il drag & drop degli elementi direttamente sulla view che si sta
creando. Inoltre è possibile customizzare la view inserita tramite le proprietà che vengono elencante
nella parte destra in basso.
Corso
di diprogrammazione
di di
sistemi
mobile
Corso
programmazione
sistemi
mobile 6 6
L’editor testuale ci consente di visualizzare la gerarchia delle view e ci consente di visualizzare meglio le
proprietà impostate.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:layout_width="@dimen/text_view_width"
android:layout_height="90dp"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="Medium Text"
android:id="@+id/textView" />
</LinearLayout>
Corso
di diprogrammazione
di di
sistemi
mobile
Corso
programmazione
sistemi
mobile 7 7
Proprietà base delle View
Ogni View ha delle proprietà obbligatorie che sono layout_width e layout_height le quali definiscono la
lunghezza e l’altezza della View. Tali proprietà possono assumere i valori di:
o wrap_content indica che la dimensione dalla view è data dal suo contenuto
o match_parent indica che la dimensione è pari a quella della view padre
o dimension è un valore numerico seguito da dp (90dp o @dimen/text_view_width)
Altre proprietà utili per personalizzare e differenziare le view sono
o background dove è possibile inserire un colore di sfondo
o id identificativo con cui è possibile referenziare in altri file xml o recuperare da codice
o padding è utile per creare spazio all’interno della view
o margin è utile per creare dello spazio tra le view
Corso
di diprogrammazione
di di
sistemi
mobile
Corso
programmazione
sistemi
mobile 8 8
Linear Layout
Le proprietà tipiche del linear layout sono:
o orientation che assume i valori di "vertical" o "horizontal" e consente di indicare l’orientamento dei figli
o gravity="center" specifica la posizione dei figli, center indica che gli elementi vengono posizionati in modo
centrato rispetto all’asse verticale e orrizontale
Corso
di diprogrammazione
di di
sistemi
mobile
Corso
programmazione
sistemi
mobile 9 9
TextView
Le proprietà tipiche della TextView sono:
o text che ci permette di inserire il testo da visualizzare
o textStyle ci permette di modificare il testo in bold e italic
o textColor che modifica il colore del testo
o gravity specifica la posizione del testo in base alla grandezza della view
o textSize per impostare la dimensione del test in sp (es 10sp)
Corso
di diprogrammazione
di di
sistemi
mobile
Corso
programmazione
sistemi
mobile 1010
EditText
Le proprietà tipiche della EditText sono:
o hint per impostare il testo da visualizzare quando l’utente non ha inserito nessun valore
o inputType per impostare il tipo di valore di inserimento, esempio textPassword per utilizzare la EditText
come campo per inserire la password di accesso
Corso
di diprogrammazione
di di
sistemi
mobile
Corso
programmazione
sistemi
mobile 1111
Button
Le proprietà tipiche della EditText sono:
o text per impostare il testo del pulsante
o onClick se si vuole invocare un metodo dell’activity senza recuperare e impostare il listener sull’oggetto
Corso
di diprogrammazione
di di
sistemi
mobile
Corso
programmazione
sistemi
mobile 1212
Recupero di una view
Attraverso il metodo findViewById e l’identificatico del componente creato, si possono recuperare le
View corrispondenti e utilizzare gli oggetti ottenuti per eseguire azioni, registrare listener, ecc…
Button button=(Button)findViewById(R.id.button_vis);
Alcuni metodi sono:
• setText(String)che imposta il testo passato in ingresso
• getText() restituisce il testo inserito
•setOnClickListener(View.OnClickListener)per impostare un oggetto che resta in attesa
dell’evento di click sulla view.
Corso
di diprogrammazione
di di
sistemi
mobile
Corso
programmazione
sistemi
mobile 1313
Esercizio 1
Si vuole creare una applicazione che chieda all’utente Username e Password.
Una volta inseriti i dati richiesti in apposite aree ( per password utilizzare il corretto
type), l’utente potrà visualizzare quello che ha inserito attraverso altre TextView in
seguito alla pressione di un pulsante.
Corso
di diprogrammazione
di di
sistemi
mobile
Corso
programmazione
sistemi
mobile 1414
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(Contextcontext, Char Sequencetext, intduration);
Toast.makeText(Contextcontext, int textResId, intduration);
Si può anche personalizzare il toast utilizzando i metodi presenti all’interno della classe Toast.
Per visualizzarlo con la durata scelta e nel contesto specificato basta invocare il metodo show();
Toast.makeText(MainActivity.this,"Esempio Toast", Toast.LENGTH_SHORT).show();
Corso
di diprogrammazione
di di
sistemi
mobile
Corso
programmazione
sistemi
mobile 1515
Esercizio 2
Aggiungere alla precedente applicazione un controllo: se almeno una delle due aree di
testo è vuota, visualizzare un toast di errore, altrimenti un toast con un messaggio di
buona riuscita dell’inserimento.
Corso
di diprogrammazione
di di
sistemi
mobile
Corso
programmazione
sistemi
mobile 1616
Esercizio 3
Aggiungere un RadioGroup con due RadioButton al precedente esercizio per indicare il
tempo di visualizzazione del toast (short o long)
Corso
di diprogrammazione
di di
sistemi
mobile
Corso
programmazione
sistemi
mobile 1717
Fly UP