Introduzione al sistema operativo Android durante il Workshop tenuto il 12 maggio 2012 dal Google Technology User Group di Perugia presso Evonove s.r.l.
Il workshop si è concluso con la creazione di un browser mobile.
Meego Italian Day 2011 - Francesco Baldassarri (1)
Android Workshop
1. Android Workshop
Relatori
Michele Lepri Emanuele Palazzetti
(http://michelelepri.blogspot.com) (http://www.emanuelepalazzetti.eu)
19 Maggio 2012
Questa opera è distribuita con licenza Creative Commons
2. Perchè sviluppare su piattaforma mobile
● I dispositivi telefonici non sono più semplici "telefoni"
● Quasi tutti i nuovi "telefoni" hanno almeno wifi, sistemi di
geolocalizzazione, browser, fotocamera, lettore multimediale, etc...
● Il numero dei dispositivi attualmente attivi è calcolabile usando 9 "0"
(zeri)... e cresce in continuazione...
● Si stima che molte persone preferiranno usare uno smartphone piuttosto
che un fisso o un portatile: per certi usi va più che bene
● Il concetto che si ha di telefono è drasticamente cambiato in quanto le
sue funzioni hanno cambiato le "abitudini" delle persone
● Mercato a dir poco ampio...
3. Perchè sviluppare su Android
● Offre un framework mobile molto potente
● SDK open source
● Nessun costo di licenza, nessuna certificazione, nessuna registrazione
● Ottima documentazione
● Community fiorente
● Volendo diffondere le nostre App nel Google Play Store, dobbiamo pagare
25$ una tantum per un numero illimitato di App
● Non c'è alcun complesso meccanismo di validazione della vostra App:
molto è lasciato alla community
NOTA: E' possibile usare le Google API per integrare i servizi Google: Google
Maps, etc..
4. Cosa è Android?
● kernel Linux 2.6 ed attualmente 3.x con la versione Ice Cream Sandwich
● le API usate per realizzare “Android” sono le stesse che usa uno
sviluppatore
● quasi tutti i componenti sono rimpiazzabili (Skype, Viber, WhatsApp,
etc..)
Le eccezioni sono legate ad aspetti di sicurezza (Esempio: alcune
funzionalità del telefono)
● il suo codice è open source, con Apache License 2.0 (non limita l’utilizzo
dei vendor con estensioni proprietarie) => non si pagano royalty
5. La storia di Android
● Google ha acquistato nel 2005 la Android Inc.
● Nel 2007 nasce la Open Handest Alliance (OHA): da Motorola a Samsung, da Vodafone a T-
Mobile, da intel a Texas Instruments
● Obiettivo: piattaforma open senza freni e limiti (royalty!)
● Proprio nel 2007 esce il primo SDK (una sorta di beta)
● Nel 2008 il primo dispositivo “reale”: HTC G1 della T-Mobile
● Fine 2008 google vende a 400 $ il Dev Phone 1, per sperimentare lo sviluppo e l’uso di app
senza limiti dati dagli operatori
● Curiosità: con la 1.1 obbligava i dispositivi ad avere una tastiera fisica!
● Tastiera virtuale nella 1.5 (Aprile 2009)
● 2.0 nel 10/2009
● 2.3 nel 12/2010: aggiunto supporto agli schermi XL (WXGA e superiori)
● 3.0 nel 02/2011: versione ottimizzata per i tablet, nuova UI, accelerazione hardware e
supporto processori multi-core
● 4.0 nel 10/2011: UI completamente riprogettata per integrare smartphone e tablet ed un
mare di migliorie di sistema
● Curiosità: 5.0 (aka Jelly Bean) a breve questa estate
6. Android e Java
● Un SDK ha bisogno di un linguaggio e di un IDE...
● ... Java ed Eclipse!
● Non c'è stato bisogno di riscrivere tutto da zero (specifiche del
linguaggio, compilatori, debbugger, etc..)
● Gli sviluppatori hanno già buona parte delle skill
● La folosofia Java si sposa perfettamente con il mondo eterogeneo
mobile (write one run everywhere)
● Non si usa J2ME: royalty, performance (ha 10 anni) => Dalvik VM!
● Ci sono diverse lib standard Java (non AWT e Swing)
● Disputa Oracle vs Google sui brevetti e copyright delle API Java