Obiettivo principale del corso è quello di mettere gli studenti nelle condizioni di progettare ed implementare un'applicazione nativa Android ottimizzata per dispositivi mobile, quindi, che tiene in considerazione le caratteristiche peculiari e i limiti hardware di tali dispositivi,
In particolare si cercherà di prepare gli studenti a sfruttare tutte le potenzialità che Android offre ed, utilizzando l'ambiente di sviluppo Android Studio, a costruire un app che sfrutti sia l'hardware del dispositivo che le potenzialità del framework/sistema operativo nel suo complesso
Il corso consisterà di una serie di lezioni frontali partecipate durante le quali verranno presentati gli argomenti; le stesse saranno supportate dalle presentazione di applicazioni ed esempi. Gli studenti saranno chiamati, inoltre, a svolgere delle esercitazioni di laboratorio individuali e/o di gruppo.
Conoscenza del linguaggio di programmazione Java e della programmazione orientata agli oggetti.
1. Reto Meier, Ian Lake - "Professional Android" 4th Edition - Wrox - ISBN: 978-1-118-94952-8
A supporto delle attività didattiche, di anno in anno, viene atti vata un corso su piattaforma e-learning moodle.
Argomenti | Riferimenti testi | |
1 | Hello Android | |
2 | Sviluppare per Dispositivi Mobili e per Android | |
3 | Creazione di applicazioni ed attività | |
4 | Creazione di una Interfaccia Utente | |
5 | Oltre le attività: Intents, Broadcast Receivers, Services | |
6 | Memorizzazione, gestione e condivisione di dati | |
7 | Servizi basati sulla “Location” | |
8 | Accesso all’hardware di Android | |
9 | Google Cloud Messaging | |
10 | Remote and local Notification |
L'esame finale consisterà nella progettazione e realizzazione di un'app Android a partire da una serie di specifiche assegnate/concordate. L'app dovrà utilizzare oltre a rete e sistema di persistenza almeno due "sensi" dello smartphone target.
L'app realizzata, accompagnata da una relazione finale, sarà argomento di colloquio orale che completerà l'esame.
Esempi di progetti assegnati:
- "Scaffometro": app che permette di monitorare e memorizzare lo stato delle strade geolocalizzando
- "Stream Annotation": possibilità di inserire durante le riprese video annotazioni di tipo testuale e/o di altra natura
- "Light chat": app di comunicazione tra 2 smartphone che sfrutta camera e flash per scambiare messaggi con codice morse