elenco     
        corso     

Sviluppo di applicazioni mobili

Codice: 530AACrediti: 6Semestre: 1Sigla: SAM 
 
Settore disciplinare: INF/01 - Informatica

Docente

Vincenzo Gervasi   gervasi@di.unipi.it  Stanza 305  Tel. 0502212773

Prerequisiti

Programmazione in Java (indispensabile) e in C (utile). Basi di Sistemi Operativi. Alcuni elementi del corso richiederanno una conoscenza dei fondamenti di Basi di dati e del linguaggio SQL, nonché di alcuni meccanismi di controllo della concorrenza.

Obiettivi di apprendimento

Il corso esaminerà il funzionamento del sistema operativo Android, e si concentrerà sulle competenze necessarie a scrivere applicazioni per tale sistema.
Conoscenze. Al termine del corso, lo studente conoscerà i principali meccanismi di funzionamento del sistema operativo Android (con cenni ad altri sistemi destinati a dispositivi mobili), e in che modo le applicazioni interagiscano col sistema per realizzare l'esperienza d'uso offerta all'utente.
Capacità. Lo studente che abbia seguito con profitto il corso sarà in grado di progettare, implementare e distribuire "app" per il sistema Android.

Descrizione

Il corso esaminerà il funzionamento del sistema operativo Android, e si concentrerà sulle competenze necessarie a scrivere applicazioni per tale sistema.

English Description

The course will investigate the inner workings of the Android operating system, and will focus on the skills needed to develop applications for it.

Indicazioni metodologiche

Il corso si baserà su una serie di lezioni frontali, di carattere sia teorico che pratico, e su un piccolo numero di sessioni in laboratorio, durante le quali gli studenti potranno applicare le competenze acquisiti nello sviluppo di semplici applicazioni.

Programma

  1. Introduzione, storia del mercato mobile, storia di Android.
  2. Architettura di Android; rapporto con Linux, visione a strati
  3. Dalvik VM, ambiente di sviluppo, deploy di applicazioni e Market
  4. Il sistema delle risorse e degli asset; dispatching a runtime
  5. Activity e ciclo di vita; il dispatching degli Intent; Layout e View; scrivere una custom View
  6. Listview e DataAdapter; dialog, notifiche e alert
  7. Drawable e sue sottoclassi; approfondimenti su 9patch
  8. Tematiche di storage: Bundle e Parcelable; preferenze; file system; caching; SQLlite e classi helper; ContentProvider e ContentResolver
  9. Services
  10. Broadcast receiver e servizi di sistema (telefonia, sensori, ecc.)
  11. Esecuzione asincrona e in background
  12. Programmazione nativa in C
Ore lezione: 36Ore esercitazione: 4Ore laboratorio: 8Ore seminari: 0 

Bibliografia

Reto Meier, Professional Android Application Development.

Modalità di esame

L'esame sarà di natura progettuale, con dettagli da stabilire in base alla numerosità del corso.

home


email