SlideShare ist ein Scribd-Unternehmen logo
1 von 13
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.

Weitere ähnliche Inhalte

Was ist angesagt?

Android App Development, Creare la nostra prima app
Android App Development, Creare la nostra prima appAndroid App Development, Creare la nostra prima app
Android App Development, Creare la nostra prima appNicola Corti
 
Italian C++ MeetUp - 24/10/2015
Italian C++ MeetUp - 24/10/2015Italian C++ MeetUp - 24/10/2015
Italian C++ MeetUp - 24/10/2015Gaetano Paternò
 
Code Generation con i templates T4 in visual studio
Code Generation con i templates T4 in visual studioCode Generation con i templates T4 in visual studio
Code Generation con i templates T4 in visual studioMarco Parenzan
 
Sviluppo di applicazioni mobile con PhoneGap
Sviluppo di applicazioni mobile con PhoneGapSviluppo di applicazioni mobile con PhoneGap
Sviluppo di applicazioni mobile con PhoneGapDotNetMarche
 
Model-View-ViewModel con Windows Store Apps
Model-View-ViewModel con Windows Store AppsModel-View-ViewModel con Windows Store Apps
Model-View-ViewModel con Windows Store Appscodeblock
 
Tech Webinar: Firefox Developer Tool
Tech Webinar: Firefox Developer ToolTech Webinar: Firefox Developer Tool
Tech Webinar: Firefox Developer ToolCodemotion
 
L'EVOLUZIONE E LE NOVITÀ DI WINDOWS PHONE 8.1
L'EVOLUZIONE E LE NOVITÀ DI WINDOWS PHONE 8.1L'EVOLUZIONE E LE NOVITÀ DI WINDOWS PHONE 8.1
L'EVOLUZIONE E LE NOVITÀ DI WINDOWS PHONE 8.1codeblock
 
EtnaDev 2015 - Windows Bridge
EtnaDev 2015 - Windows BridgeEtnaDev 2015 - Windows Bridge
EtnaDev 2015 - Windows BridgeGaetano Paternò
 
MOBILE APPS con ANDROID - Lo Stretto Digitale
MOBILE APPS con ANDROID  - Lo Stretto DigitaleMOBILE APPS con ANDROID  - Lo Stretto Digitale
MOBILE APPS con ANDROID - Lo Stretto Digitalelostrettodigitale
 
01 Android - Introduction
01   Android - Introduction01   Android - Introduction
01 Android - Introductionspawn150
 

Was ist angesagt? (16)

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

Ähnlich wie Android - Programmazione Avanzata

Sviluppare una app mobile net oriented
Sviluppare una app mobile net orientedSviluppare una app mobile net oriented
Sviluppare una app mobile net orientedAlessandro Morvillo
 
Workshop AngularJs, Cordova, Ionic - Politecnico di Milano
Workshop AngularJs, Cordova, Ionic - Politecnico di MilanoWorkshop AngularJs, Cordova, Ionic - Politecnico di Milano
Workshop AngularJs, Cordova, Ionic - Politecnico di MilanoGabriele Gaggi
 
Smau milano 2012 arena social media davide-senatore
Smau milano 2012   arena social media davide-senatoreSmau milano 2012   arena social media davide-senatore
Smau milano 2012 arena social media davide-senatoreSMAU
 
Generazione automatica diagrammi di rete con template pptx
Generazione automatica diagrammi di rete con template pptxGenerazione automatica diagrammi di rete con template pptx
Generazione automatica diagrammi di rete con template pptxGiacomoZorzin
 
Android base day1
Android base day1Android base day1
Android base day1Andrea Zaza
 
AngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platform
AngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platformAngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platform
AngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platformGabriele Gaggi
 
v2 Presentazione Lelli
v2 Presentazione Lelliv2 Presentazione Lelli
v2 Presentazione LelliMatteo Lelli
 
Meetup Fluent Design e Progressive Web App
Meetup Fluent Design e Progressive Web AppMeetup Fluent Design e Progressive Web App
Meetup Fluent Design e Progressive Web Appdotnetcode
 
Meetup Progressive Web App
Meetup Progressive Web AppMeetup Progressive Web App
Meetup Progressive Web Appdotnetcode
 
HCIM08 - Mobile Applications
HCIM08 - Mobile ApplicationsHCIM08 - Mobile Applications
HCIM08 - Mobile ApplicationsStefano Sanna
 
Cert04 70-484 - essentials of developing windows store apps
Cert04   70-484 - essentials of developing windows store appsCert04   70-484 - essentials of developing windows store apps
Cert04 70-484 - essentials of developing windows store appsDotNetCampus
 
App Mobile Powerapps
App Mobile PowerappsApp Mobile Powerapps
App Mobile PowerappsGiuneco S.r.l
 
Ardelean phone gap_wp4.
Ardelean phone gap_wp4.Ardelean phone gap_wp4.
Ardelean phone gap_wp4.Dan Ardelean
 
Docker_vs_Rancher_chi_dominerà_i_Desktop_dei_developers.pptx
Docker_vs_Rancher_chi_dominerà_i_Desktop_dei_developers.pptxDocker_vs_Rancher_chi_dominerà_i_Desktop_dei_developers.pptx
Docker_vs_Rancher_chi_dominerà_i_Desktop_dei_developers.pptxGiuliano Latini
 
Praticamente... AWS - Amazon Web Services
Praticamente... AWS - Amazon Web ServicesPraticamente... AWS - Amazon Web Services
Praticamente... AWS - Amazon Web ServicesSpeck&Tech
 
GWT Development for Handheld Devices
GWT Development for Handheld DevicesGWT Development for Handheld Devices
GWT Development for Handheld DevicesGWTcon
 
Progettazione e sviluppo di un software applicativo su un single board computer
Progettazione e sviluppo di un software applicativo su un single board computerProgettazione e sviluppo di un software applicativo su un single board computer
Progettazione e sviluppo di un software applicativo su un single board computerAlessandro Mascherin
 

Ähnlich wie Android - Programmazione Avanzata (20)

Sviluppare una app mobile net oriented
Sviluppare una app mobile net orientedSviluppare una app mobile net oriented
Sviluppare una app mobile net oriented
 
Workshop AngularJs, Cordova, Ionic - Politecnico di Milano
Workshop AngularJs, Cordova, Ionic - Politecnico di MilanoWorkshop AngularJs, Cordova, Ionic - Politecnico di Milano
Workshop AngularJs, Cordova, Ionic - Politecnico di Milano
 
Smau milano 2012 arena social media davide-senatore
Smau milano 2012   arena social media davide-senatoreSmau milano 2012   arena social media davide-senatore
Smau milano 2012 arena social media davide-senatore
 
Generazione automatica diagrammi di rete con template pptx
Generazione automatica diagrammi di rete con template pptxGenerazione automatica diagrammi di rete con template pptx
Generazione automatica diagrammi di rete con template pptx
 
Android base day1
Android base day1Android base day1
Android base day1
 
AngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platform
AngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platformAngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platform
AngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platform
 
Sviluppare applicazioni Domino Web per dispositivi Mobili
Sviluppare applicazioni Domino Web per dispositivi MobiliSviluppare applicazioni Domino Web per dispositivi Mobili
Sviluppare applicazioni Domino Web per dispositivi Mobili
 
v2 Presentazione Lelli
v2 Presentazione Lelliv2 Presentazione Lelli
v2 Presentazione Lelli
 
Meetup Fluent Design e Progressive Web App
Meetup Fluent Design e Progressive Web AppMeetup Fluent Design e Progressive Web App
Meetup Fluent Design e Progressive Web App
 
Meetup Progressive Web App
Meetup Progressive Web AppMeetup Progressive Web App
Meetup Progressive Web App
 
HCIM08 - Mobile Applications
HCIM08 - Mobile ApplicationsHCIM08 - Mobile Applications
HCIM08 - Mobile Applications
 
Cert04 70-484 - essentials of developing windows store apps
Cert04   70-484 - essentials of developing windows store appsCert04   70-484 - essentials of developing windows store apps
Cert04 70-484 - essentials of developing windows store apps
 
OpenDevSecOps 2019 - Open devsecops un caso di studio
OpenDevSecOps 2019 - Open devsecops un caso di studioOpenDevSecOps 2019 - Open devsecops un caso di studio
OpenDevSecOps 2019 - Open devsecops un caso di studio
 
Web dynpro for abap 02
Web dynpro for abap 02Web dynpro for abap 02
Web dynpro for abap 02
 
App Mobile Powerapps
App Mobile PowerappsApp Mobile Powerapps
App Mobile Powerapps
 
Ardelean phone gap_wp4.
Ardelean phone gap_wp4.Ardelean phone gap_wp4.
Ardelean phone gap_wp4.
 
Docker_vs_Rancher_chi_dominerà_i_Desktop_dei_developers.pptx
Docker_vs_Rancher_chi_dominerà_i_Desktop_dei_developers.pptxDocker_vs_Rancher_chi_dominerà_i_Desktop_dei_developers.pptx
Docker_vs_Rancher_chi_dominerà_i_Desktop_dei_developers.pptx
 
Praticamente... AWS - Amazon Web Services
Praticamente... AWS - Amazon Web ServicesPraticamente... AWS - Amazon Web Services
Praticamente... AWS - Amazon Web Services
 
GWT Development for Handheld Devices
GWT Development for Handheld DevicesGWT Development for Handheld Devices
GWT Development for Handheld Devices
 
Progettazione e sviluppo di un software applicativo su un single board computer
Progettazione e sviluppo di un software applicativo su un single board computerProgettazione e sviluppo di un software applicativo su un single board computer
Progettazione e sviluppo di un software applicativo su un single board computer
 

Mehr von Stefano Sanna

Mobile Security su Android - LinuxDay 2018
Mobile Security su Android - LinuxDay 2018Mobile Security su Android - LinuxDay 2018
Mobile Security su Android - LinuxDay 2018Stefano Sanna
 
Android Things, from mobile apps to physical world
Android Things, from mobile apps to physical worldAndroid Things, from mobile apps to physical world
Android Things, from mobile apps to physical worldStefano Sanna
 
Android Things Linux Day 2017
Android Things Linux Day 2017 Android Things Linux Day 2017
Android Things Linux Day 2017 Stefano Sanna
 
Android Things in action
Android Things in actionAndroid Things in action
Android Things in actionStefano Sanna
 
Introduzione alla tecnologia iBeacon
Introduzione alla tecnologia iBeaconIntroduzione alla tecnologia iBeacon
Introduzione alla tecnologia iBeaconStefano Sanna
 
Augmented Smartphone
Augmented SmartphoneAugmented Smartphone
Augmented SmartphoneStefano Sanna
 
Bluetooth Low Energy
Bluetooth Low EnergyBluetooth Low Energy
Bluetooth Low EnergyStefano Sanna
 
Google TV: la nuova frontiera Android
Google TV: la nuova frontiera AndroidGoogle TV: la nuova frontiera Android
Google TV: la nuova frontiera AndroidStefano Sanna
 
Enlarge your screen: introducing the Google TV
Enlarge your screen: introducing the Google TVEnlarge your screen: introducing the Google TV
Enlarge your screen: introducing the Google TVStefano Sanna
 
NFC: tecnologia e applicazioni
NFC: tecnologia e applicazioniNFC: tecnologia e applicazioni
NFC: tecnologia e applicazioniStefano Sanna
 
Android & Bluetooth: hacking e applicazioni
Android & Bluetooth: hacking e applicazioniAndroid & Bluetooth: hacking e applicazioni
Android & Bluetooth: hacking e applicazioniStefano Sanna
 
Application Store: opportunita' e trappole
Application Store: opportunita' e trappoleApplication Store: opportunita' e trappole
Application Store: opportunita' e trappoleStefano Sanna
 
Android Bluetooth Hacking
Android Bluetooth HackingAndroid Bluetooth Hacking
Android Bluetooth HackingStefano Sanna
 
Free Software e Open Hardware
Free Software e Open HardwareFree Software e Open Hardware
Free Software e Open HardwareStefano Sanna
 
Playing with Mobile 2.0
Playing with Mobile 2.0Playing with Mobile 2.0
Playing with Mobile 2.0Stefano Sanna
 
Comunicazione Pervasiva
Comunicazione PervasivaComunicazione Pervasiva
Comunicazione PervasivaStefano Sanna
 
Introduzione alla tecnologia Sun SPOT
Introduzione alla tecnologia Sun SPOTIntroduzione alla tecnologia Sun SPOT
Introduzione alla tecnologia Sun SPOTStefano Sanna
 

Mehr von Stefano Sanna (20)

Mobile Security su Android - LinuxDay 2018
Mobile Security su Android - LinuxDay 2018Mobile Security su Android - LinuxDay 2018
Mobile Security su Android - LinuxDay 2018
 
Android Things, from mobile apps to physical world
Android Things, from mobile apps to physical worldAndroid Things, from mobile apps to physical world
Android Things, from mobile apps to physical world
 
Android Things Linux Day 2017
Android Things Linux Day 2017 Android Things Linux Day 2017
Android Things Linux Day 2017
 
Android Things in action
Android Things in actionAndroid Things in action
Android Things in action
 
Introduzione alla tecnologia iBeacon
Introduzione alla tecnologia iBeaconIntroduzione alla tecnologia iBeacon
Introduzione alla tecnologia iBeacon
 
Augmented Smartphone
Augmented SmartphoneAugmented Smartphone
Augmented Smartphone
 
Bluetooth Low Energy
Bluetooth Low EnergyBluetooth Low Energy
Bluetooth Low Energy
 
Google TV: la nuova frontiera Android
Google TV: la nuova frontiera AndroidGoogle TV: la nuova frontiera Android
Google TV: la nuova frontiera Android
 
Enlarge your screen: introducing the Google TV
Enlarge your screen: introducing the Google TVEnlarge your screen: introducing the Google TV
Enlarge your screen: introducing the Google TV
 
Introduzione ad NFC
Introduzione ad NFCIntroduzione ad NFC
Introduzione ad NFC
 
NFC: tecnologia e applicazioni
NFC: tecnologia e applicazioniNFC: tecnologia e applicazioni
NFC: tecnologia e applicazioni
 
Android & Bluetooth: hacking e applicazioni
Android & Bluetooth: hacking e applicazioniAndroid & Bluetooth: hacking e applicazioni
Android & Bluetooth: hacking e applicazioni
 
Application Store: opportunita' e trappole
Application Store: opportunita' e trappoleApplication Store: opportunita' e trappole
Application Store: opportunita' e trappole
 
Android Bluetooth Hacking
Android Bluetooth HackingAndroid Bluetooth Hacking
Android Bluetooth Hacking
 
Android
AndroidAndroid
Android
 
Free Software e Open Hardware
Free Software e Open HardwareFree Software e Open Hardware
Free Software e Open Hardware
 
Playing with Mobile 2.0
Playing with Mobile 2.0Playing with Mobile 2.0
Playing with Mobile 2.0
 
Sun SPOT
Sun SPOTSun SPOT
Sun SPOT
 
Comunicazione Pervasiva
Comunicazione PervasivaComunicazione Pervasiva
Comunicazione Pervasiva
 
Introduzione alla tecnologia Sun SPOT
Introduzione alla tecnologia Sun SPOTIntroduzione alla tecnologia Sun SPOT
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.