sviluppo di applicazioni mobile Tecniche di progettazione ......Caratteristica fondamentale è...

14
Tecniche di progettazione e sviluppo di applicazioni mobile AREA Science Park Padriciano - Trieste - Italy [email protected] Slide del corso FSE svolto presso

Transcript of sviluppo di applicazioni mobile Tecniche di progettazione ......Caratteristica fondamentale è...

Page 1: sviluppo di applicazioni mobile Tecniche di progettazione ......Caratteristica fondamentale è l'utilizzo di tecnologie open source a partire dal sistema operativo (Linux) sino alla

Tecniche di progettazione e sviluppo di applicazioni mobile

AREA Science ParkPadriciano - Trieste - Italy

[email protected]

Slide del corso FSE

svolto presso

Page 2: sviluppo di applicazioni mobile Tecniche di progettazione ......Caratteristica fondamentale è l'utilizzo di tecnologie open source a partire dal sistema operativo (Linux) sino alla

Android

Introduzione

[email protected]

Page 3: sviluppo di applicazioni mobile Tecniche di progettazione ......Caratteristica fondamentale è l'utilizzo di tecnologie open source a partire dal sistema operativo (Linux) sino alla

Cos’è Android?Insieme di componenti che vanno dal sistema operativo, librerie, fino a una virtual machine (Dalvik).

Caratteristica fondamentale è l'utilizzo di tecnologie open source a partire dal sistema operativo (Linux) sino alla virtual machine.

Il tutto guidato dalla Open Handset Alliance (OHA), gruppo di una cinquantina di aziende che studia un ambiente evoluto per la realizzazione di applicazioni mobili.

Page 4: sviluppo di applicazioni mobile Tecniche di progettazione ......Caratteristica fondamentale è l'utilizzo di tecnologie open source a partire dal sistema operativo (Linux) sino alla

Android: componenti principaliActivity

Schermata di una applicazione android. Una applicazione è fatta di diverse activity, con delle view apposite.

Uno sviluppatore crea le activity descrivendo le view che dovranno comparire e i modi in cui si passeranno le informazioni.

Importante è il ciclo di vita delle attività, gestiti da metodi di callback.

Page 5: sviluppo di applicazioni mobile Tecniche di progettazione ......Caratteristica fondamentale è l'utilizzo di tecnologie open source a partire dal sistema operativo (Linux) sino alla

Android: componenti principaliIntent e intent filter (comunicazione tra activity)

Diverse applicazioni possono svolgere operazioni comuni (selezionare un contatto, effettuare una chiamata, inviare un sms). Un utente che utilizza un dispositivo si aspetta di effettuare operazioni uguali in maniera uguale.

Attraverso un intent si specifica una "intenzione" di compiere una determinata azione, senza preoccuparsi di come verrà effettivamente eseguita.

Ogni activity può di chiarare l'insieme di intent che la stessa è ingrado di esaudire attraverso gli intent filter. Se una activity tra i propri intent filter ha quello relativo al ritornare un contatto in rubrica, quando tale intent viene richiesto, essa verrà visualizzata per permettere all'utente di effettuare l'operazione voluta.

Page 6: sviluppo di applicazioni mobile Tecniche di progettazione ......Caratteristica fondamentale è l'utilizzo di tecnologie open source a partire dal sistema operativo (Linux) sino alla

Android: componenti principaliBroadcast intent receiver

Componenti che sono in grado di attivarsi al seguito di determinati eventi generati da una applicazione o dal dispositivo stesso.

Tali eventi sono dei particolari intent definiti di broadcast: es. ricezione di una telefonata, di un sms, del segnale di batteria scarica, della disponibilità della rete, ecc.

Page 7: sviluppo di applicazioni mobile Tecniche di progettazione ......Caratteristica fondamentale è l'utilizzo di tecnologie open source a partire dal sistema operativo (Linux) sino alla

Android: componenti principaliService

Componenti in grado di eseguire dei task in background in modo indipendente da ciò che è visualizzato nel display, quindi con ciò con cui l'utente sta interagendo in quel momento.

Page 8: sviluppo di applicazioni mobile Tecniche di progettazione ......Caratteristica fondamentale è l'utilizzo di tecnologie open source a partire dal sistema operativo (Linux) sino alla

Android: componenti principaliContent provider

Componente che offre a diversi client un'interfaccia per eseguire operazaioni di creazione, recupero, modifica e cancellazione di particolari entità (dati).

Consentono la gestione di insiemi di dati tra diverse applicazioni.

Page 9: sviluppo di applicazioni mobile Tecniche di progettazione ......Caratteristica fondamentale è l'utilizzo di tecnologie open source a partire dal sistema operativo (Linux) sino alla

Android

Installazione

Page 10: sviluppo di applicazioni mobile Tecniche di progettazione ......Caratteristica fondamentale è l'utilizzo di tecnologie open source a partire dal sistema operativo (Linux) sino alla

Componenti necessari

1. Java SE JDK2. Eclipse3. Android SDK4. Android Development Tools per Eclipse (ADT)

Page 11: sviluppo di applicazioni mobile Tecniche di progettazione ......Caratteristica fondamentale è l'utilizzo di tecnologie open source a partire dal sistema operativo (Linux) sino alla

Java SE JDK 1. Scaricare il JDK (google: jdk)2. Installare il JDK

Eclipse1. Scaricare Eclipse (google: eclipse)2. Estrarre Eclipse in program files o altro posto3. Creare un collegamento4. Eseguire e impostare la cartella di workspace5. Testare un programma java (Hello Java)

Page 12: sviluppo di applicazioni mobile Tecniche di progettazione ......Caratteristica fondamentale è l'utilizzo di tecnologie open source a partire dal sistema operativo (Linux) sino alla

Android SDK

1. Scaricare l’Android SDK (google: Android SDK)2. Installare l’Android SDK3. Parte in automatico l’Android SDK Manager4. Confermare le installazioni (Android 2.2)

Se necessario:5. Aggiungere la cartella tools di Android alla PATH

(Proprietà su computer e impostazioni di sistema avanzate. Testare con cmd e path)

Page 13: sviluppo di applicazioni mobile Tecniche di progettazione ......Caratteristica fondamentale è l'utilizzo di tecnologie open source a partire dal sistema operativo (Linux) sino alla

Android Development Tool per Eclipse

1. Installare l’ADT○ help -> install new software○ Add -> ADT Plugin (https://dl-ssl.google.com/android/eclipse/)

○ installare e accettare la licenza, ripartire○ Indicare il percorso del ADK

2. Creare un Android Virtual Device (AVD)

Page 14: sviluppo di applicazioni mobile Tecniche di progettazione ......Caratteristica fondamentale è l'utilizzo di tecnologie open source a partire dal sistema operativo (Linux) sino alla

Esercizio: HelloAndroid1. Nuovo progetto > Android > Android Application Project2. Definire:

a. nome dell'applicazione (utile per il play store)b. nome del progetto (valido per eclipse)c. nome del package (nome assoluto dell’app)

3. Impostare gli SDK adatti alla applicazione:a. SDK minimo (la versione più bassa supportata)b. SDK target (la versione più alta con la quale l’app funziona)c. SDK di compilazione (consigliata uguale a SDK minimo)

4. Impostare l'icona dell'applicazione5. Creare la prima activity definendo il nome e il modello6. Mandare in esecuzione