SlideShare a Scribd company logo
ANDROID
PROGRAMMAZIONE AVANZATA
                Emanuele Di Saverio - Stefano Sanna




Presentazione
  dell’opera
SOMMARIO
• Activitye Service
• Grafica e Interfaccia Utente
• Honeycomb e Tablet
• Networking
• NFC
• Push Notification
• Bluetooth
• Qualità del software
• Ice Cream Sandwich: la riconciliazione
ACTIVITY E SERVICE
• Questo  capitolo analizza in dettaglio il ciclo di vita di Activity e
 Service, esponendo pratiche virtuose ed errori comuni che si
 possono commettere adoperando questi componenti nelle
 applicazioni Android

• Outline
 • Ciclo di vita
 • Interoperabilità
 • UI Thread e concorrenza
 • Applicazioni persistenti
 • Service
GRAFICA E INTERFACCIA UTENTE
• Inquesto capitolo verranno esposti consigli e best practice per lo
 sviluppo di interfacce utente efficaci, flessibili e ottimizzate,
 approfondendo il supporto che Android fornisce alla grafica 2D

• Outline
  •    Creare bottoni con gli stili
  •    Lavorare con le immagini
  •    Filtri e composizioni
  •    Animazioni avanzate
  •    Migliorare le prestazioni
  •    Strumenti
  •    Interfacce fluide
HONEYCOMB E TABLET
•   Questo capitolo è dedicato alla release di Android più importante dopo la seminale 1.0:
    Honeycomb, la versione 3. La lista di feature introdotte da questa release, capitanata dal
    supporto ai tablet, è estensiva sia per numerosità sia per profondità delle funzionalità introdotte


•   Outline
    •   Applicazione di esempio: RomaSki per Honeycomb         •   Animazioni in Honeycomb
    •   Un cambio di paradigma: i Fragment                     •   Animazioni senza catene: gli Animator
    •   Fragment: strategie di posizionamento                  •   Animazioni complesse in Honeycomb
    •   La Fragment API                                        •   Coordinate polari e Keyframe
    •   Un utile design pattern: ActionBar                     •   ActionMode
    •   Programmare l’ActionBar                                •   Nuovi selettori per risorse
    •   Navigare tra i fragment: Transizione d Back Stack      •   Rendering ad alte prestazioni
    •   Supportare l’asincronia con i Loader                   •   Renderscript: un invito alla
    •   Fragments per tutti: il compatibility package              programmazione 3D
                                                               •   ForuWayNavigation: un esempio
                                                                   “intermedio”
NETWORKING
• In questo capitolo saranno illustrate alcune tecniche per
 l’implementazione efficace di funzionalità di networking, dal
 semplice download di file alla gestione di complesse code di
 richieste concorrenti e decodifica di documenti XML e JSON

• Outline
  •    Sempre connessi
  •    Introduzione all’Apache HttpClient
  •    Il caso sporadico: l’AsyncTask
  •    Recupero di file: il DownloadManager
  •    Un approccio strutturato: il Task Pattern
NFC
• Inquesto capitolo sarà introdotta la tecnologia NFC, che consente
 la realizzazione di applicazioni in grado di interagire con il mondo
 fisico attraverso il riconoscimento di tag e la lettura di dati a essi
 associati

• Outline
  •    Near Field Communication
  •    NFC su Android
  •    Hello Tag!
  •    Leggere e scrivere i tag
  •    BookNote
  •    Android Beam
PUSH NOTIFICATION
• Inquesto capitolo saranno illustrate le tecniche di notifi- ca push
 via SMS e mediante il servizio Android Cloud to Device Messaging
 di Google

• Outline
  • In
     attesa di dati...
  • Notifiche via SMS
  • Notifiche via C2DM
BLUETOOTH
• Inquesto capitolo saranno illustrate le caratteristiche del
 protocollo Bluetooth, l’implementazione dell’API Android e alcune
 tecniche avanzate che permettono di superare le limitazioni della
 libreria standard

• Outline
  •    Una vecchia conoscenza
  •    Panoramica del protocollo Bluetooth
  •    Setup per sperimentazione
  •    L’API Bluetooth di Android
  •    Le novità introdotte in Honeycomb
  •    Le novità introdotte in Ice Cream Sandwich
QUALITÀ DEL SOFTWARE
• Controllare il livello di qualità del software prodotto è un problema
 intrinseco alla professione, che ci accompa- gna anche nello
 sviluppo Android. In questo capitolo ver- ranno esposti paradigmi,
 tools, procedure e semplici tips mirati a risolverlo, nel contesto
 dello sviluppo profes- sionale di applicazioni Android

• Outline
  •   Build professionali
  •   Test Driven Development
  •   Test automatico
  •   Eseguire i test
  •   Continuous Integration
  •   La cassetta degli attrezzi
  •   Strategia di test
ICE CREAM SANDWICH
•   La versione 4.0 è l’ultima e più recente incarnazione della piattaforma Android,
    nome in codice: Ice Cream Sandwich. Questo capitolo fornisce al lettore una visione
    d’insieme della piattaforma dal punto di vista tecnico. Successivamente si
    approfondiranno le nuove tematiche e caratteristiche di Android che possono
    essere, nel parere di chi scrive, più interessanti per lo sviluppo di applicazioni
    innovative su questa piattaforma


• Outline
    • Android   4.0: Ice Cream Sandwich
    • Riconoscimento facciale
    • La Calendar API
    • Easters: un calendario per la Pasqua
    • Wi-Fi Direct
RISORSE
• Sito ufficiale di Edizioni FAG (dove è possibile ordinare il libro)
  • http://www.fag.it/scheda.aspx?ID=38913
• Website di supporto al libro:
  • http://www.androidavanzato.it
• Codice d’esempio
  • http://code.google.com/p/androidavanzato
• e-mail
  • androidavanzato@gmail.com
• Twitter
  • @androidavanzato
AUTORI
• Emanuele            Di Saverio
 •   è Ingegnere Informatico classe ‘82. È stato coinvolto in progetti Android per il mercato
     mondiale sin dal lancio della piattaforma e ha portato la sua passione per il mondo
     mobile e i metodi agili a industrie del settore finanziario, medicale e telco. È Senior
     Design Technologist presso lo studio di Milano della agenzia di innovazione globale frog.


• Stefano         Sanna
 •   si occupa di programmazione su dispositivi mobili da circa 10 anni, ha maturato
     esperienza in progetti industriali e di ricerca. Ha partecipato alla realizzazione di
     importanti prodotti su piattaforme Android e Java Micro Edition per i principali operatori
     di telefonia mobile europei. Ha scritto numerose pubblicazioni sul mobile computing.
     Attualmente è responsabile dell’Android Lab di Open Reply.

More Related Content

PDF
Ecco gli strumenti necessari per sviluppare la tua App Android
PDF
Alla scoperta del codice sorgente di Android
PDF
I package Android
PDF
Conoscere Android per poterlo Programmare
PDF
Android 6.0 Marshmallow: tutte le novità in poche slide
PDF
Android programming (ita)
PDF
La tua prima app per Ubuntu Touch
PDF
WordPress Facilissimo: guida alla sicurezza
Ecco gli strumenti necessari per sviluppare la tua App Android
Alla scoperta del codice sorgente di Android
I package Android
Conoscere Android per poterlo Programmare
Android 6.0 Marshmallow: tutte le novità in poche slide
Android programming (ita)
La tua prima app per Ubuntu Touch
WordPress Facilissimo: guida alla sicurezza

What's hot (16)

PDF
Corso Android
PDF
Android App Development, Creare la nostra prima app
PDF
Flutter
PPTX
Visual studio code
PDF
Italian C++ MeetUp - 24/10/2015
PPTX
Code Generation con i templates T4 in visual studio
PDF
Sviluppo di applicazioni mobile con PhoneGap
PPTX
Model-View-ViewModel con Windows Store Apps
PPTX
platforms
PPTX
Android vs iOS
PDF
Introduzione ad Android
PDF
Tech Webinar: Firefox Developer Tool
PPTX
L'EVOLUZIONE E LE NOVITÀ DI WINDOWS PHONE 8.1
PDF
EtnaDev 2015 - Windows Bridge
ODP
MOBILE APPS con ANDROID - Lo Stretto Digitale
PPTX
01 Android - Introduction
Corso Android
Android App Development, Creare la nostra prima app
Flutter
Visual studio code
Italian C++ MeetUp - 24/10/2015
Code Generation con i templates T4 in visual studio
Sviluppo di applicazioni mobile con PhoneGap
Model-View-ViewModel con Windows Store Apps
platforms
Android vs iOS
Introduzione ad Android
Tech Webinar: Firefox Developer Tool
L'EVOLUZIONE E LE NOVITÀ DI WINDOWS PHONE 8.1
EtnaDev 2015 - Windows Bridge
MOBILE APPS con ANDROID - Lo Stretto Digitale
01 Android - Introduction
Ad

Similar to Android - Programmazione Avanzata (20)

PDF
Android Code Camp for Beginners - Ecosistema Android (IT)
PDF
Tesi Forcolin Fabio
PPTX
MobileDevCamp2012 - Android
PDF
Introduzione ad Android
KEY
Whymca Dive into Android [ITA]
PPT
Android programming
PDF
Android Workshop
PPT
Introduzione ad Android jug marche meeting 2011_04_30
PDF
Introduzione al sistema operativo mobile Android
PDF
follow-app BOOTCAMP 3: Android
PDF
Programmiamo iPhone e iPad (e non solo!) con MonoTouch
PDF
MonoTouch, un anno dopo
PDF
HCIM08 - Mobile Applications
PDF
Smau milano 2012 arena social media davide-senatore
PPTX
Android Mobile Apps , visione d'insieme
PDF
Programmazione mobile: ANDROID
PPTX
Alessandro Forte - Piattaforma Android
PPTX
Writing apps for android with .net
ODP
Non Conventional Android Programming (Italiano)
PDF
Scontro tra UI -aka- cosa dovremmo imparare da Android, iOS e WP7
Android Code Camp for Beginners - Ecosistema Android (IT)
Tesi Forcolin Fabio
MobileDevCamp2012 - Android
Introduzione ad Android
Whymca Dive into Android [ITA]
Android programming
Android Workshop
Introduzione ad Android jug marche meeting 2011_04_30
Introduzione al sistema operativo mobile Android
follow-app BOOTCAMP 3: Android
Programmiamo iPhone e iPad (e non solo!) con MonoTouch
MonoTouch, un anno dopo
HCIM08 - Mobile Applications
Smau milano 2012 arena social media davide-senatore
Android Mobile Apps , visione d'insieme
Programmazione mobile: ANDROID
Alessandro Forte - Piattaforma Android
Writing apps for android with .net
Non Conventional Android Programming (Italiano)
Scontro tra UI -aka- cosa dovremmo imparare da Android, iOS e WP7
Ad

More from Stefano Sanna (20)

PDF
Mobile Security su Android - LinuxDay 2018
PDF
Android Things, from mobile apps to physical world
PDF
Android Things Linux Day 2017
PDF
Android Things in action
PDF
Introduzione alla tecnologia iBeacon
PDF
Augmented Smartphone
PDF
Bluetooth Low Energy
PDF
Google TV: la nuova frontiera Android
PDF
Enlarge your screen: introducing the Google TV
PDF
Introduzione ad NFC
PDF
NFC: tecnologia e applicazioni
PDF
Android & Bluetooth: hacking e applicazioni
PDF
Application Store: opportunita' e trappole
PDF
Android Bluetooth Hacking
PDF
Android
PDF
Free Software e Open Hardware
PDF
Playing with Mobile 2.0
PDF
Sun SPOT
PDF
Comunicazione Pervasiva
PDF
Introduzione alla tecnologia Sun SPOT
Mobile Security su Android - LinuxDay 2018
Android Things, from mobile apps to physical world
Android Things Linux Day 2017
Android Things in action
Introduzione alla tecnologia iBeacon
Augmented Smartphone
Bluetooth Low Energy
Google TV: la nuova frontiera Android
Enlarge your screen: introducing the Google TV
Introduzione ad NFC
NFC: tecnologia e applicazioni
Android & Bluetooth: hacking e applicazioni
Application Store: opportunita' e trappole
Android Bluetooth Hacking
Android
Free Software e Open Hardware
Playing with Mobile 2.0
Sun SPOT
Comunicazione Pervasiva
Introduzione alla tecnologia Sun SPOT

Android - Programmazione Avanzata

  • 1. ANDROID PROGRAMMAZIONE AVANZATA Emanuele Di Saverio - Stefano Sanna Presentazione dell’opera
  • 2. SOMMARIO • Activitye Service • Grafica e Interfaccia Utente • Honeycomb e Tablet • Networking • NFC • Push Notification • Bluetooth • Qualità del software • Ice Cream Sandwich: la riconciliazione
  • 3. ACTIVITY E SERVICE • Questo capitolo analizza in dettaglio il ciclo di vita di Activity e Service, esponendo pratiche virtuose ed errori comuni che si possono commettere adoperando questi componenti nelle applicazioni Android • Outline • Ciclo di vita • Interoperabilità • UI Thread e concorrenza • Applicazioni persistenti • Service
  • 4. GRAFICA E INTERFACCIA UTENTE • Inquesto capitolo verranno esposti consigli e best practice per lo sviluppo di interfacce utente efficaci, flessibili e ottimizzate, approfondendo il supporto che Android fornisce alla grafica 2D • Outline • Creare bottoni con gli stili • Lavorare con le immagini • Filtri e composizioni • Animazioni avanzate • Migliorare le prestazioni • Strumenti • Interfacce fluide
  • 5. HONEYCOMB E TABLET • Questo capitolo è dedicato alla release di Android più importante dopo la seminale 1.0: Honeycomb, la versione 3. La lista di feature introdotte da questa release, capitanata dal supporto ai tablet, è estensiva sia per numerosità sia per profondità delle funzionalità introdotte • Outline • Applicazione di esempio: RomaSki per Honeycomb • Animazioni in Honeycomb • Un cambio di paradigma: i Fragment • Animazioni senza catene: gli Animator • Fragment: strategie di posizionamento • Animazioni complesse in Honeycomb • La Fragment API • Coordinate polari e Keyframe • Un utile design pattern: ActionBar • ActionMode • Programmare l’ActionBar • Nuovi selettori per risorse • Navigare tra i fragment: Transizione d Back Stack • Rendering ad alte prestazioni • Supportare l’asincronia con i Loader • Renderscript: un invito alla • Fragments per tutti: il compatibility package programmazione 3D • ForuWayNavigation: un esempio “intermedio”
  • 6. NETWORKING • In questo capitolo saranno illustrate alcune tecniche per l’implementazione efficace di funzionalità di networking, dal semplice download di file alla gestione di complesse code di richieste concorrenti e decodifica di documenti XML e JSON • Outline • Sempre connessi • Introduzione all’Apache HttpClient • Il caso sporadico: l’AsyncTask • Recupero di file: il DownloadManager • Un approccio strutturato: il Task Pattern
  • 7. NFC • Inquesto capitolo sarà introdotta la tecnologia NFC, che consente la realizzazione di applicazioni in grado di interagire con il mondo fisico attraverso il riconoscimento di tag e la lettura di dati a essi associati • Outline • Near Field Communication • NFC su Android • Hello Tag! • Leggere e scrivere i tag • BookNote • Android Beam
  • 8. PUSH NOTIFICATION • Inquesto capitolo saranno illustrate le tecniche di notifi- ca push via SMS e mediante il servizio Android Cloud to Device Messaging di Google • Outline • In attesa di dati... • Notifiche via SMS • Notifiche via C2DM
  • 9. BLUETOOTH • Inquesto capitolo saranno illustrate le caratteristiche del protocollo Bluetooth, l’implementazione dell’API Android e alcune tecniche avanzate che permettono di superare le limitazioni della libreria standard • Outline • Una vecchia conoscenza • Panoramica del protocollo Bluetooth • Setup per sperimentazione • L’API Bluetooth di Android • Le novità introdotte in Honeycomb • Le novità introdotte in Ice Cream Sandwich
  • 10. QUALITÀ DEL SOFTWARE • Controllare il livello di qualità del software prodotto è un problema intrinseco alla professione, che ci accompa- gna anche nello sviluppo Android. In questo capitolo ver- ranno esposti paradigmi, tools, procedure e semplici tips mirati a risolverlo, nel contesto dello sviluppo profes- sionale di applicazioni Android • Outline • Build professionali • Test Driven Development • Test automatico • Eseguire i test • Continuous Integration • La cassetta degli attrezzi • Strategia di test
  • 11. ICE CREAM SANDWICH • La versione 4.0 è l’ultima e più recente incarnazione della piattaforma Android, nome in codice: Ice Cream Sandwich. Questo capitolo fornisce al lettore una visione d’insieme della piattaforma dal punto di vista tecnico. Successivamente si approfondiranno le nuove tematiche e caratteristiche di Android che possono essere, nel parere di chi scrive, più interessanti per lo sviluppo di applicazioni innovative su questa piattaforma • Outline • Android 4.0: Ice Cream Sandwich • Riconoscimento facciale • La Calendar API • Easters: un calendario per la Pasqua • Wi-Fi Direct
  • 12. RISORSE • Sito ufficiale di Edizioni FAG (dove è possibile ordinare il libro) • http://www.fag.it/scheda.aspx?ID=38913 • Website di supporto al libro: • http://www.androidavanzato.it • Codice d’esempio • http://code.google.com/p/androidavanzato • e-mail • androidavanzato@gmail.com • Twitter • @androidavanzato
  • 13. AUTORI • Emanuele Di Saverio • è Ingegnere Informatico classe ‘82. È stato coinvolto in progetti Android per il mercato mondiale sin dal lancio della piattaforma e ha portato la sua passione per il mondo mobile e i metodi agili a industrie del settore finanziario, medicale e telco. È Senior Design Technologist presso lo studio di Milano della agenzia di innovazione globale frog. • Stefano Sanna • si occupa di programmazione su dispositivi mobili da circa 10 anni, ha maturato esperienza in progetti industriali e di ricerca. Ha partecipato alla realizzazione di importanti prodotti su piattaforme Android e Java Micro Edition per i principali operatori di telefonia mobile europei. Ha scritto numerose pubblicazioni sul mobile computing. Attualmente è responsabile dell’Android Lab di Open Reply.