Obiettivi formativi
Introduzione allo sviluppo su piattoforme mobili.
Architettura delle piattaforme mobili e componenti chiave.
Introduzione alla piattaforma Android, Android SDK e tool di sviluppo.
Prerequisiti
Prerequisiti:
- Programmazione di base (algoritmi e strutture dati)
Le seguenti voci sono fortemente consigliate:
- Esperienza con la programmazione orientata agli oggetti
- Design pattern
Contenuti dell'insegnamento
La finalità del corso è quella di affrontare i principi di base per lo sviluppo su piattaforme mobili di ultima generazione.
In particolare verrà fornita allo studente la capacità di comprendere:
- i principi e gli aspetti chiave della programmazione in ambiente mobile
- le caratteristiche delle due principali piattaforme principali per smartphone e tablet: Android e iOS.
Lo studente imparerà ad applicare tali competenze e sarà capace di programmare semplici applicazioni su smartphone in ambiente iOS ed Android.
Programma esteso
- La piattaforma Android
Introduzione ad activity, service, intent, MVC e interfacce utente
- Interfaccia utente grafica Android 1
Linear Layout, Relative Layout, Table Layout, Grid View, Tab Layout, List View, Custom List View
Element, Fragments
- utente grafico Android Interfaccia 2
Application Menu, ActionBar, Handling Actions with the ActionBar, Navigation with the ActionBar, ActionBar & Tabs, View Pager, Action Bar & View Pager
- Interfaccia utente grafica Android 3
Toast Notifications, Dialogs, WebView, Web Client / Web Chrome Client, Load Local Web Content,
WebView Javascript Interface, Supporting Multiple Screens
- Posizione e mappe
Introduzione a GPS, Servizi basati sulla posizione, Android e location service, Location service, Modello di applicazione LBS, API Android v2 di Google Maps, Configurazione, MapFragment, Marker, Eventi, Geocoder, applicazione mappa e navigatore
- Data Persistence
Shared Preferences, Internal Storage, External Storage, JSON Appendix, SQLite Database
- Concorrenza
Concorrenza in Java, concorrenza e interfaccia utente, concorrenza e Android, Handler, AsyncTask, Status Bar Notification
- Background Services
Android Service, Service Life Cycle, Unbound Service, Bound Service, Intent & Intent Filter ,
Broadcast Receiver
- Networking
Android e Networking, HTTP,Connectivity Manager,WifiManager,TelephonyManager, Bluetooth
- Sensori e sensori di gestione dei media
Sensors: Introduzione,Framework,Android; Multimedia:Framework,Fotocamera
Bibliografia
"Learning Android" by Marko Gargenta, Masumi Nakamura
O'Reilly Media.
"Programming Android: Java Programming for the New Generation of Mobile Devices"
by Zigurd Mednieks, Laird Dornin, G. Blake Meike, and Masumi Nakamura
O'Reilly Media.
"Android Wireless Application Development", Second Edition
by Lauren Darcey and Shane Conder
Addison Wesley.
Metodi didattici
Didattica frontale ed esercitazioni.
Modalità verifica apprendimento
Progetti individuali di fine corso per piattaforme Android ed iOS.