SlideShare uma empresa Scribd logo
1 de 26
Baixar para ler offline
23 Ottobre 2010 LinuxDay Torino
Sviluppo su Android
Linux Day Torino 2010
Francesco Ronchi
francesco.ronchi@gmail.com - www.synesthesia.it
23 Ottobre 2010 LinuxDay Torino
Cos'è Android
● Sistema operativo dedicato ai device
mobili:
● cellulari,
● palmari,
● tablet,
● navigatori...
23 Ottobre 2010 LinuxDay Torino
Perchè sviluppare su Android
● Creato da Google: Open source e basato su
Linux (garanzia di apertura)
● Sviluppo in Java e XML
(ci si sente a casa...)
● SDK Multipiataforma (Lin/Mac/Win)
● Successo crescente
● Android Market
23 Ottobre 2010 LinuxDay Torino
Una chicca...
● Andy Rubin
● the defnition of open:
"mkdir android ; cd android ; repo init
-u
git://android.git.kernel.org/platform/
manifest.git ; repo sync ; make"
23 Ottobre 2010 LinuxDay Torino
Architettura di Android
23 Ottobre 2010 LinuxDay Torino
Architettura in breve...
● Applicazioni (base e di terze parti)
● Application Framework
● Virtual Machine “Java” (Dalvik)
● Librerie native (Multimedia, Database,
WebKit, ecc...)
● Linux Kernek & Drivers
23 Ottobre 2010 LinuxDay Torino
Dalvik
● Java?
● Virtual Machine otimizzata
● Formato .dex
● Da Android 2.2 include JIT
● java > class > jar > dex > apk
23 Ottobre 2010 LinuxDay Torino
Versioni di Android
● Android 1.5 Cupcake
● Android 1.6 Donut
● Android 2.1 Eclair
● Android 2.2 Froyo
futuro: 3.0 Gingerbread... (fne 2010?)
con maggiore supporto ai tablet
23 Ottobre 2010 LinuxDay Torino
Versioni e marketshare
23 Ottobre 2010 LinuxDay Torino
Android Market
● 25$ per la registrazione (una tantum)
● Pubblicazione immediata app
● Applicazioni free e a pagamento
● 30% di commissione
23 Ottobre 2010 LinuxDay Torino
Size Matters (?)
Setembre 2010: Android 80.000 Apple 250.000
23 Ottobre 2010 LinuxDay Torino
Prerequisiti per iniziare
● Programmazione a oggeti
● Java
● XML
● Problematiche dello sviluppo mobile...
23 Ottobre 2010 LinuxDay Torino
Strumenti per lavorare
● Android API
● Development tools
● Emulatore Android
● DDMS (Dalvik Debug Monitor Service)
● Documentazione, Esempi
→ htp://developer.android.com/
23 Ottobre 2010 LinuxDay Torino
Passi iniziali 1
● scaricare sdk da
htp://developer.android.com/
● impostare il path per l'sdk
● lanciare "android"
● scaricare gli sdk e le api necessarie
23 Ottobre 2010 LinuxDay Torino
Passi iniziali 2
● scaricare eclipse 3.5 (NB no 3.6!)
● installare plugin su eclipse
● confgurare il path dell'sdk in eclipse
(preferences)
● creare un device virtuale (avd)
23 Ottobre 2010 LinuxDay Torino
Tools
● Android
● Adb (android debug bridge)
● Draw 9 Patches
● Monkey
● Emulator
● Aapt, zipalign, ecc.. per creare paccheti
apk e frmarli digitalmente
23 Ottobre 2010 LinuxDay Torino
Al lavoro...
● Creiamo una applicazione (fnalmente!)
● App vuota (hello world)
● Skeleton App
● Esempi...
23 Ottobre 2010 LinuxDay Torino
Anatomia di una App
● Src – sorgenti
● Gen – fle generati
● Assets – fle vari (non risorse)
● Res - risorse
● Android Manifest xml
23 Ottobre 2010 LinuxDay Torino
Le Risorse
● Drawables (immagini...)
● Layouts (xml di defnizione UI)
● Values (stringhe, colori, ecc)
● Menu (menu...)
● Anim (animazioni)
● Raw (tuto il resto)
Tute codifcate in R.java mediante id!
23 Ottobre 2010 LinuxDay Torino
Manifest
● Contiene le informazioni base
dell'applicazione e dei suoi componenti
● nome, package, activities, intents,
permessi
23 Ottobre 2010 LinuxDay Torino
Componenti base
● Activities → equivalgono alle view
● Services → lavorano in background
● Intents → permetono di chiamare le
activities
● Bundles → salvano lo “stato” di una
activity
● Application → raggruppa più activities
23 Ottobre 2010 LinuxDay Torino
Ciclo vitale di
una Activity
23 Ottobre 2010 LinuxDay Torino
Gestione della memoria
● Le activities in determinati momenti
possono essere killate se è richiesta
maggiore ram.
● Dopo onPause, onStop, onRestore
● onSaveInstanceState e
onRestoreInstanceState
23 Ottobre 2010 LinuxDay Torino
Intent
● Richiamano una activity
● Espliciti o impliciti
● È possibile specifcare dei dati
● È possibile ricevere valori di ritorno
● Asincroni
23 Ottobre 2010 LinuxDay Torino
E' solo l'inizio...
● … ma ci fermiamo qui
● Q&A?
23 Ottobre 2010 LinuxDay Torino
● Grazie a tuti!
francesco.ronchi@gmail.com
www.synesthesia.it

Mais conteúdo relacionado

Semelhante a Sviluppo Android (LinuxDay TO 2010)

My life with Android @ JUG Torino 2012
My life with Android @ JUG Torino 2012My life with Android @ JUG Torino 2012
My life with Android @ JUG Torino 2012Francesco Ronchi
 
Android, panoramica e sviluppo
Android, panoramica e sviluppoAndroid, panoramica e sviluppo
Android, panoramica e sviluppoLorenzo Braghetto
 
Android Code Camp for Beginners - Ecosistema Android (IT)
Android Code Camp for Beginners - Ecosistema Android (IT)Android Code Camp for Beginners - Ecosistema Android (IT)
Android Code Camp for Beginners - Ecosistema Android (IT)Alessandro Bogliolo
 
Android: Introduzione all'architettura, alla programmazione e alla sicurezza
Android: Introduzione all'architettura, alla programmazione e alla sicurezzaAndroid: Introduzione all'architettura, alla programmazione e alla sicurezza
Android: Introduzione all'architettura, alla programmazione e alla sicurezzajekil
 
Webkit presentazione ufficiale
Webkit presentazione ufficialeWebkit presentazione ufficiale
Webkit presentazione ufficialeintoinside
 
Lo sbarco di Google nel pianeta Mobile Internet: primo impatto ed esempi pra...
Lo sbarco di Google nel pianeta Mobile Internet:  primo impatto ed esempi pra...Lo sbarco di Google nel pianeta Mobile Internet:  primo impatto ed esempi pra...
Lo sbarco di Google nel pianeta Mobile Internet: primo impatto ed esempi pra...Riccardo Solimena
 
Android base day1
Android base day1Android base day1
Android base day1Andrea Zaza
 
Ubuntu Phone: the community smartphone
Ubuntu Phone: the community smartphoneUbuntu Phone: the community smartphone
Ubuntu Phone: the community smartphoneGiulio Collura
 
Alan tacchinelli
Alan tacchinelliAlan tacchinelli
Alan tacchinelliSMAU
 
Confronto tra tecnologie per lo sviluppo mobile multipiattaforma: un caso di ...
Confronto tra tecnologie per lo sviluppo mobile multipiattaforma: un caso di ...Confronto tra tecnologie per lo sviluppo mobile multipiattaforma: un caso di ...
Confronto tra tecnologie per lo sviluppo mobile multipiattaforma: un caso di ...Francesco Benincasa
 
Presentazione+Android
Presentazione+AndroidPresentazione+Android
Presentazione+AndroidNicola Pedot
 
Iced tea, la macchina virtuale Java libera
Iced tea, la macchina virtuale Java liberaIced tea, la macchina virtuale Java libera
Iced tea, la macchina virtuale Java liberaVitalij Zadneprovskij
 

Semelhante a Sviluppo Android (LinuxDay TO 2010) (20)

My life with Android @ JUG Torino 2012
My life with Android @ JUG Torino 2012My life with Android @ JUG Torino 2012
My life with Android @ JUG Torino 2012
 
Android, panoramica e sviluppo
Android, panoramica e sviluppoAndroid, panoramica e sviluppo
Android, panoramica e sviluppo
 
Android Code Camp for Beginners - Ecosistema Android (IT)
Android Code Camp for Beginners - Ecosistema Android (IT)Android Code Camp for Beginners - Ecosistema Android (IT)
Android Code Camp for Beginners - Ecosistema Android (IT)
 
Android: Introduzione all'architettura, alla programmazione e alla sicurezza
Android: Introduzione all'architettura, alla programmazione e alla sicurezzaAndroid: Introduzione all'architettura, alla programmazione e alla sicurezza
Android: Introduzione all'architettura, alla programmazione e alla sicurezza
 
Webkit presentazione ufficiale
Webkit presentazione ufficialeWebkit presentazione ufficiale
Webkit presentazione ufficiale
 
Lo sbarco di Google nel pianeta Mobile Internet: primo impatto ed esempi pra...
Lo sbarco di Google nel pianeta Mobile Internet:  primo impatto ed esempi pra...Lo sbarco di Google nel pianeta Mobile Internet:  primo impatto ed esempi pra...
Lo sbarco di Google nel pianeta Mobile Internet: primo impatto ed esempi pra...
 
Android base day1
Android base day1Android base day1
Android base day1
 
Introduzione ad Android
Introduzione ad AndroidIntroduzione ad Android
Introduzione ad Android
 
MonoTouch, un anno dopo
MonoTouch, un anno dopoMonoTouch, un anno dopo
MonoTouch, un anno dopo
 
KDE @ Corsi Linux 2011
KDE @ Corsi Linux 2011KDE @ Corsi Linux 2011
KDE @ Corsi Linux 2011
 
Io, Android
Io, AndroidIo, Android
Io, Android
 
Flutter
FlutterFlutter
Flutter
 
Ubuntu Phone: the community smartphone
Ubuntu Phone: the community smartphoneUbuntu Phone: the community smartphone
Ubuntu Phone: the community smartphone
 
Android vs iOS
Android vs iOSAndroid vs iOS
Android vs iOS
 
Alan tacchinelli
Alan tacchinelliAlan tacchinelli
Alan tacchinelli
 
Confronto tra tecnologie per lo sviluppo mobile multipiattaforma: un caso di ...
Confronto tra tecnologie per lo sviluppo mobile multipiattaforma: un caso di ...Confronto tra tecnologie per lo sviluppo mobile multipiattaforma: un caso di ...
Confronto tra tecnologie per lo sviluppo mobile multipiattaforma: un caso di ...
 
Presentazione+Android
Presentazione+AndroidPresentazione+Android
Presentazione+Android
 
Cultural heritage, dalla digitalizzazione al web: nuovi strumenti e possibili...
Cultural heritage, dalla digitalizzazione al web: nuovi strumenti e possibili...Cultural heritage, dalla digitalizzazione al web: nuovi strumenti e possibili...
Cultural heritage, dalla digitalizzazione al web: nuovi strumenti e possibili...
 
Android Workshop
Android WorkshopAndroid Workshop
Android Workshop
 
Iced tea, la macchina virtuale Java libera
Iced tea, la macchina virtuale Java liberaIced tea, la macchina virtuale Java libera
Iced tea, la macchina virtuale Java libera
 

Mais de Francesco Ronchi

Chi ha paura dell'AI? - @reelations
Chi ha paura dell'AI? - @reelationsChi ha paura dell'AI? - @reelations
Chi ha paura dell'AI? - @reelationsFrancesco Ronchi
 
AI Work Revolution - #TDD2023
AI Work Revolution - #TDD2023 AI Work Revolution - #TDD2023
AI Work Revolution - #TDD2023 Francesco Ronchi
 
Droidcon Italy 2020 report
Droidcon Italy 2020 report Droidcon Italy 2020 report
Droidcon Italy 2020 report Francesco Ronchi
 
Swift heroes digital 2020 - post event report
Swift heroes digital 2020 - post event reportSwift heroes digital 2020 - post event report
Swift heroes digital 2020 - post event reportFrancesco Ronchi
 
Presentazione Linkedin All Star - Autocrocetta 13 Giugno 2019
Presentazione Linkedin All Star - Autocrocetta 13 Giugno 2019Presentazione Linkedin All Star - Autocrocetta 13 Giugno 2019
Presentazione Linkedin All Star - Autocrocetta 13 Giugno 2019Francesco Ronchi
 
Presentazione Linkedin - Torino Digital Days
Presentazione Linkedin - Torino Digital DaysPresentazione Linkedin - Torino Digital Days
Presentazione Linkedin - Torino Digital DaysFrancesco Ronchi
 
Presentazione GrowItApp (v1.0)
Presentazione GrowItApp (v1.0)Presentazione GrowItApp (v1.0)
Presentazione GrowItApp (v1.0)Francesco Ronchi
 
Lo Zen e l'arte dello UX Design Mobile - festival ICT 2015 - Synesthesia
Lo Zen e l'arte dello UX Design Mobile -  festival ICT 2015 - SynesthesiaLo Zen e l'arte dello UX Design Mobile -  festival ICT 2015 - Synesthesia
Lo Zen e l'arte dello UX Design Mobile - festival ICT 2015 - SynesthesiaFrancesco Ronchi
 
Report Droidcon Italy 2014
Report Droidcon Italy 2014Report Droidcon Italy 2014
Report Droidcon Italy 2014Francesco Ronchi
 
Droidcon 2014 Italy - Opening Welcome
Droidcon 2014 Italy - Opening WelcomeDroidcon 2014 Italy - Opening Welcome
Droidcon 2014 Italy - Opening WelcomeFrancesco Ronchi
 
Mobile App o Mobile Web? Quale scelta per il mio business?
Mobile App o Mobile Web? Quale scelta per il mio business?Mobile App o Mobile Web? Quale scelta per il mio business?
Mobile App o Mobile Web? Quale scelta per il mio business?Francesco Ronchi
 
Mobile Marketing & Apps @ Digital festival 2013
Mobile Marketing & Apps @ Digital festival 2013Mobile Marketing & Apps @ Digital festival 2013
Mobile Marketing & Apps @ Digital festival 2013Francesco Ronchi
 
Mobile marketing - Italia 2013
Mobile marketing - Italia 2013Mobile marketing - Italia 2013
Mobile marketing - Italia 2013Francesco Ronchi
 
Realtà Aumentata - Techno Pitch
Realtà Aumentata - Techno PitchRealtà Aumentata - Techno Pitch
Realtà Aumentata - Techno PitchFrancesco Ronchi
 
Google Play (Android Market) visto da sviluppatore
Google Play (Android Market) visto da sviluppatoreGoogle Play (Android Market) visto da sviluppatore
Google Play (Android Market) visto da sviluppatoreFrancesco Ronchi
 

Mais de Francesco Ronchi (16)

Chi ha paura dell'AI? - @reelations
Chi ha paura dell'AI? - @reelationsChi ha paura dell'AI? - @reelations
Chi ha paura dell'AI? - @reelations
 
AI Work Revolution - #TDD2023
AI Work Revolution - #TDD2023 AI Work Revolution - #TDD2023
AI Work Revolution - #TDD2023
 
Marketing&Privacy
Marketing&PrivacyMarketing&Privacy
Marketing&Privacy
 
Droidcon Italy 2020 report
Droidcon Italy 2020 report Droidcon Italy 2020 report
Droidcon Italy 2020 report
 
Swift heroes digital 2020 - post event report
Swift heroes digital 2020 - post event reportSwift heroes digital 2020 - post event report
Swift heroes digital 2020 - post event report
 
Presentazione Linkedin All Star - Autocrocetta 13 Giugno 2019
Presentazione Linkedin All Star - Autocrocetta 13 Giugno 2019Presentazione Linkedin All Star - Autocrocetta 13 Giugno 2019
Presentazione Linkedin All Star - Autocrocetta 13 Giugno 2019
 
Presentazione Linkedin - Torino Digital Days
Presentazione Linkedin - Torino Digital DaysPresentazione Linkedin - Torino Digital Days
Presentazione Linkedin - Torino Digital Days
 
Presentazione GrowItApp (v1.0)
Presentazione GrowItApp (v1.0)Presentazione GrowItApp (v1.0)
Presentazione GrowItApp (v1.0)
 
Lo Zen e l'arte dello UX Design Mobile - festival ICT 2015 - Synesthesia
Lo Zen e l'arte dello UX Design Mobile -  festival ICT 2015 - SynesthesiaLo Zen e l'arte dello UX Design Mobile -  festival ICT 2015 - Synesthesia
Lo Zen e l'arte dello UX Design Mobile - festival ICT 2015 - Synesthesia
 
Report Droidcon Italy 2014
Report Droidcon Italy 2014Report Droidcon Italy 2014
Report Droidcon Italy 2014
 
Droidcon 2014 Italy - Opening Welcome
Droidcon 2014 Italy - Opening WelcomeDroidcon 2014 Italy - Opening Welcome
Droidcon 2014 Italy - Opening Welcome
 
Mobile App o Mobile Web? Quale scelta per il mio business?
Mobile App o Mobile Web? Quale scelta per il mio business?Mobile App o Mobile Web? Quale scelta per il mio business?
Mobile App o Mobile Web? Quale scelta per il mio business?
 
Mobile Marketing & Apps @ Digital festival 2013
Mobile Marketing & Apps @ Digital festival 2013Mobile Marketing & Apps @ Digital festival 2013
Mobile Marketing & Apps @ Digital festival 2013
 
Mobile marketing - Italia 2013
Mobile marketing - Italia 2013Mobile marketing - Italia 2013
Mobile marketing - Italia 2013
 
Realtà Aumentata - Techno Pitch
Realtà Aumentata - Techno PitchRealtà Aumentata - Techno Pitch
Realtà Aumentata - Techno Pitch
 
Google Play (Android Market) visto da sviluppatore
Google Play (Android Market) visto da sviluppatoreGoogle Play (Android Market) visto da sviluppatore
Google Play (Android Market) visto da sviluppatore
 

Sviluppo Android (LinuxDay TO 2010)

  • 1. 23 Ottobre 2010 LinuxDay Torino Sviluppo su Android Linux Day Torino 2010 Francesco Ronchi francesco.ronchi@gmail.com - www.synesthesia.it
  • 2. 23 Ottobre 2010 LinuxDay Torino Cos'è Android ● Sistema operativo dedicato ai device mobili: ● cellulari, ● palmari, ● tablet, ● navigatori...
  • 3. 23 Ottobre 2010 LinuxDay Torino Perchè sviluppare su Android ● Creato da Google: Open source e basato su Linux (garanzia di apertura) ● Sviluppo in Java e XML (ci si sente a casa...) ● SDK Multipiataforma (Lin/Mac/Win) ● Successo crescente ● Android Market
  • 4. 23 Ottobre 2010 LinuxDay Torino Una chicca... ● Andy Rubin ● the defnition of open: "mkdir android ; cd android ; repo init -u git://android.git.kernel.org/platform/ manifest.git ; repo sync ; make"
  • 5. 23 Ottobre 2010 LinuxDay Torino Architettura di Android
  • 6. 23 Ottobre 2010 LinuxDay Torino Architettura in breve... ● Applicazioni (base e di terze parti) ● Application Framework ● Virtual Machine “Java” (Dalvik) ● Librerie native (Multimedia, Database, WebKit, ecc...) ● Linux Kernek & Drivers
  • 7. 23 Ottobre 2010 LinuxDay Torino Dalvik ● Java? ● Virtual Machine otimizzata ● Formato .dex ● Da Android 2.2 include JIT ● java > class > jar > dex > apk
  • 8. 23 Ottobre 2010 LinuxDay Torino Versioni di Android ● Android 1.5 Cupcake ● Android 1.6 Donut ● Android 2.1 Eclair ● Android 2.2 Froyo futuro: 3.0 Gingerbread... (fne 2010?) con maggiore supporto ai tablet
  • 9. 23 Ottobre 2010 LinuxDay Torino Versioni e marketshare
  • 10. 23 Ottobre 2010 LinuxDay Torino Android Market ● 25$ per la registrazione (una tantum) ● Pubblicazione immediata app ● Applicazioni free e a pagamento ● 30% di commissione
  • 11. 23 Ottobre 2010 LinuxDay Torino Size Matters (?) Setembre 2010: Android 80.000 Apple 250.000
  • 12. 23 Ottobre 2010 LinuxDay Torino Prerequisiti per iniziare ● Programmazione a oggeti ● Java ● XML ● Problematiche dello sviluppo mobile...
  • 13. 23 Ottobre 2010 LinuxDay Torino Strumenti per lavorare ● Android API ● Development tools ● Emulatore Android ● DDMS (Dalvik Debug Monitor Service) ● Documentazione, Esempi → htp://developer.android.com/
  • 14. 23 Ottobre 2010 LinuxDay Torino Passi iniziali 1 ● scaricare sdk da htp://developer.android.com/ ● impostare il path per l'sdk ● lanciare "android" ● scaricare gli sdk e le api necessarie
  • 15. 23 Ottobre 2010 LinuxDay Torino Passi iniziali 2 ● scaricare eclipse 3.5 (NB no 3.6!) ● installare plugin su eclipse ● confgurare il path dell'sdk in eclipse (preferences) ● creare un device virtuale (avd)
  • 16. 23 Ottobre 2010 LinuxDay Torino Tools ● Android ● Adb (android debug bridge) ● Draw 9 Patches ● Monkey ● Emulator ● Aapt, zipalign, ecc.. per creare paccheti apk e frmarli digitalmente
  • 17. 23 Ottobre 2010 LinuxDay Torino Al lavoro... ● Creiamo una applicazione (fnalmente!) ● App vuota (hello world) ● Skeleton App ● Esempi...
  • 18. 23 Ottobre 2010 LinuxDay Torino Anatomia di una App ● Src – sorgenti ● Gen – fle generati ● Assets – fle vari (non risorse) ● Res - risorse ● Android Manifest xml
  • 19. 23 Ottobre 2010 LinuxDay Torino Le Risorse ● Drawables (immagini...) ● Layouts (xml di defnizione UI) ● Values (stringhe, colori, ecc) ● Menu (menu...) ● Anim (animazioni) ● Raw (tuto il resto) Tute codifcate in R.java mediante id!
  • 20. 23 Ottobre 2010 LinuxDay Torino Manifest ● Contiene le informazioni base dell'applicazione e dei suoi componenti ● nome, package, activities, intents, permessi
  • 21. 23 Ottobre 2010 LinuxDay Torino Componenti base ● Activities → equivalgono alle view ● Services → lavorano in background ● Intents → permetono di chiamare le activities ● Bundles → salvano lo “stato” di una activity ● Application → raggruppa più activities
  • 22. 23 Ottobre 2010 LinuxDay Torino Ciclo vitale di una Activity
  • 23. 23 Ottobre 2010 LinuxDay Torino Gestione della memoria ● Le activities in determinati momenti possono essere killate se è richiesta maggiore ram. ● Dopo onPause, onStop, onRestore ● onSaveInstanceState e onRestoreInstanceState
  • 24. 23 Ottobre 2010 LinuxDay Torino Intent ● Richiamano una activity ● Espliciti o impliciti ● È possibile specifcare dei dati ● È possibile ricevere valori di ritorno ● Asincroni
  • 25. 23 Ottobre 2010 LinuxDay Torino E' solo l'inizio... ● … ma ci fermiamo qui ● Q&A?
  • 26. 23 Ottobre 2010 LinuxDay Torino ● Grazie a tuti! francesco.ronchi@gmail.com www.synesthesia.it