Sviluppo su piattaforma Android

Presentazione del corso

Le applicazioni su dispositivi mobili (smartphone, tablet) stanno assumendo una importanza crescente nella vita quotidiana di milioni di utenti. La richiesta per queste applicazioni (le “app”) è in continuo aumento, e Android di Google è il sistema operativo mobile che sta vedendo la crescita più rapida. Questo workshop si pone l'obiettivo di fornire le basi per lo sviluppo e la creazione di app su Android. Viene descritta l'architettura di sistema e confrontata con le piattaforme concorrenti, l'ambiente di sviluppo (Android SDK), l'integrazione con Eclipse, gli emulatori. Vengono introdotte le API principali messe a disposizione degli sviluppatori e vengono creati numerosi esempi pratici al fine di applicare i concetti teorici espressi durante il corso. Viene infine esposto come pubblicare le proprie applicazioni sull'Android Market.

Gli obiettivi al termine del workshop saranno:

  • Conoscenza della piattaforma Android e dei vantaggi o svantaggi rispetto alle concorrenti
  • Comprensione della struttura delle App Android, il ciclo di vita, manifest, Activity, Intents, l'utilizzo di risorse esterne.
  • Sviluppo di interfacce grafiche con Views, Layouts, Drawables e altri componenti.
  • Utilizzo le API di comunicazione per SMS, telefonia, HTTP.
  • Utilizzo Services, Threads e sistema di notifiche.
  • Utilizzo dei database, preferences, i meccanismi di storage.
  • Creazione, packaging, deploy e pubblicazione delle proprie applicazioni.

Destinatari

Il workshop è rivolto a sviluppatori software con una buona conoscenza del linguaggio Java, XML e familiarità con i concetti di programmazione ad oggetti.

Durata

Il corso ha durata di 40 ore.

Contenuti del corso:

La storia di Android, panoramica

  • Le origini di Android
  • Differenze dalle altre piattaforme

Lo Stack

  • Architettura
  • Linux kernel
  • Librerie native
  • Dalvik
  • Application Framework
  • Applicazioni finali

Overview SDK

  • Piattaforme
  • Tools
  • Versioni

Applicazione Hello World

  • Creazione primo progetto
  • Il file manifest
  • Layout Resource
  • Eseguire l'applicazione con un emulatore

Building block principali

  • Activities
  • Ciclo di vita delle Activities
  • Intents
  • Services
  • Content Providers
  • Broadcast Receivers

Sviluppo User Interfaces in Android

  • XML e/o codice Java
  • Views e Layouts
  • Principali componenti per lo sviluppo di una UI

SQL database

  • SQLite
  • SQLiteOpenHelper e creazione di un database
  • Apertura e chiusura di un database
  • Utilizzo dei cursori per Insert, Update e Delete

Networking

  • Utilizzo di web services
  • Best practices

Telefonia

  • Effettuare chiamate
  • Accesso a proprietà del telefono e suo stato
  • Controllo del telefono

Servizi di localizzazione

  • Utilizzo del Location Manager
  • Utilizzo delle estensioni di Google Map

Testing

  • Utilizzo di unit testing con Android