Per approfondimenti sullo sviluppo applicazioni Android: http://www.synesthesia.it/sviluppo-mobile-applicazioni-android-iphone-ipad-ios-web http://www.synesthesia.it/sviluppo-mobile-applicazioni-android-iphone-ipad-ios-web
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"
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