• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
My life with Android @ JUG Torino 2012
 

My life with Android @ JUG Torino 2012

on

  • 762 views

Slides del talk "My life with Android" tenuto da Francesco Ronchi di Synesthesia srl al JUG Torino (29 febbraio 2012) sullo sviluppo applicazioni Android ...

Slides del talk "My life with Android" tenuto da Francesco Ronchi di Synesthesia srl al JUG Torino (29 febbraio 2012) sullo sviluppo applicazioni Android

http://presentz.org/jugtorino/201202_android
http://www.synesthesia.it/

Statistics

Views

Total Views
762
Views on SlideShare
758
Embed Views
4

Actions

Likes
0
Downloads
4
Comments
0

1 Embed 4

http://www.linkedin.com 4

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    My life with Android @ JUG Torino 2012 My life with Android @ JUG Torino 2012 Presentation Transcript

    • Sviluppo su Android JUG Torino 2011 Francesco Ronchi francesco.ronchi (at) synesthesia.it www.synesthesia.it29 Febbraio 2012 JUG Torino 1
    • Cosè Android ● Sistema operativo dedicato ai device mobili: ● smartphone, ● tablet, ● Set-top boxes ● TV ● Sistemi embedded...29 Febbraio 2012 JUG Torino 2
    • Perchè sviluppare su Android ● Creato da Google: Open source (lic. Apache 2.0) e basato su Linux (garanzia di apertura) ● Sviluppo in Java e XML (ci si sente a casa...) ● SDK Multipiattaforma (Lin/Mac/Win) ● Successo crescente (850k attivaz./g) ● Ecosistema Android29 Febbraio 2012 JUG Torino 3
    • Una chicca... ● Andy Rubin ● the definition of open: "mkdir android ; cd android ; repo init -u git://android.git.kernel.org/platform/m anifest.git ; repo sync ; make"29 Febbraio 2012 JUG Torino 4
    • Architettura di Android29 Febbraio 2012 JUG Torino 5
    • Architettura in breve... ● Applicazioni (base e di terze parti) ● Application Framework ● Virtual Machine “Java” (Dalvik) ● Librerie native (Multimedia, Database, WebKit, ecc...) ● Linux Kernek & Drivers29 Febbraio 2012 JUG Torino 6
    • Dalvik ● Java? ● Virtual Machine ottimizzata ● Formato .dex ● Da Android 2.2 include JIT ● java -> class -> jar -> dex -> apk29 Febbraio 2012 JUG Torino 7
    • Versioni di Android Storiche: ● Android 1.5 Cupcake (2009) ● Android 1.6 Donut (2009) ● Android 2.0/2.1 Eclair (2009) ● Android 2.2 Froyo (2010) Recenti: ● Android 2.3.x Gingerbread (2010/11) ● Android 3.x Honeycomb (2011) solo per tablet! ● Android 4.x Ice Cream Sandwich (2011/12)29 Febbraio 2012 JUG Torino 8
    • Versioni e marketshare29 Febbraio 2012 JUG Torino 9
    • Android Market● 25$ per la registrazione (una tantum)● Pubblicazione immediata app● Applicazioni free e a pagamento● 30% di commissione a Google● In-app billing29 Febbraio 2012 JUG Torino 10
    • Il market per gli sviluppatori● Gestione App ● Artwork, descrizioni, ecc. ● Commenti/valutazioni ● Errori ● Statistiche● Google Checkout ● Acquisti app ● Acquisti in-app29 Febbraio 2012 JUG Torino 11
    • Size Matters (?) ● 2012 ● Android 400k+ ● Apple 700k+29 Febbraio 2012 JUG Torino 12
    • Il market per gli sviluppatori● Gestione App ● Artwork, descrizioni, ecc. ● Commenti/valutazioni ● Errori ● Statistiche● Google Checkout ● Acquisti app ● Acquisti in-app29 Febbraio 2012 JUG Torino 13
    • Prerequisiti per iniziare ● Programmazione a oggetti ● Java ● XML ● C/C++ per NDK ● Problematiche dello sviluppo mobile...29 Febbraio 2012 JUG Torino 14
    • Strumenti per lavorare ● Android API ● Development tools ● Emulatore Android ● DDMS (Dalvik Debug Monitor Service) ● Documentazione, Esempi → http://developer.android.com/29 Febbraio 2012 JUG Torino 15
    • Passi iniziali 1● scaricare sdk da ● http://developer.android.com/● impostare il path per lsdk● Lanciare il comando ● Android (Mac, Linux) ● SDK Manager.exe (Windows)● scaricare gli sdk e le api necessarie29 Febbraio 2012 JUG Torino 16
    • Passi iniziali 2 ● scaricare Eclipse (classic, java o RCP) ● installare plugin (ADT) su Eclipse ● configurare il path dellsdk in Eclipse (preferences) ● creare un device virtuale (AVD)29 Febbraio 2012 JUG Torino 17
    • Tools ● Android ● Adb (android debug bridge) ● Draw 9 Patches (tutorial! http://goo.gl/lWMFv) ● Monkey ● Emulator ● Aapt, zipalign, ecc.. per creare pacchetti apk e firmarli digitalmente29 Febbraio 2012 JUG Torino 18
    • Firma dei pacchetti .apk ● Per poter caricare sul device un .apk deve essere firmato. ● La firma usa un certificato auto-generato ● Debug: lo genera la IDE ● Deploy: generato manualmente per il caricamento su marketkeytool -genkey -v -keystore NOME_KEYSTORE.keystore -aliasNOME_ALIAS -keyalg RSA -keysize 2048 -validity 10000 ● Mai perdere il keystore!! (e la password...)29 Febbraio 2012 JUG Torino 19
    • Librerire utili e 3rd parties ● Support Packages ●compatibilità con vecche versioni, sfruttando caratteristiche recenti (es fragment) ● Google Analytics ● ADMob ● Gson ●Gestione avanzata json ● Bugsense ● Gestione bugs remota ● Librerie vendor-specific (Samsung, LG, Motorola...)29 Febbraio 2012 JUG Torino 20
    • Al lavoro... ● Creiamo una applicazione (finalmente!) ● Esempi... ●29 Febbraio 2012 JUG Torino 21
    • Anatomia di una App ● src – sorgenti ● gen – file generati ● assets – file vari (non risorse) ● res - risorse ● Android Manifest xml – configurazione app29 Febbraio 2012 JUG Torino 22
    • Le Risorse ● drawables (immagini...) ● layouts (xml di definizione UI) ● values (stringhe, colori, ecc) ● menu (definizione menu) ● anim (animazioni) ● raw (tutto il resto) - Tutte codificate in R.java mediante id! – Gestibili con qualifier differenti!29 Febbraio 2012 JUG Torino 23
    • Qualifier risorse ● Lingua (it, en, en_rUS, ...) ● Dimensione schermo (swXXdp, wXXdp...) ● Categoria schermo (small, large, medium...) ● Aspect, Orientation ● DPI ● Versione OS ● Ecc... http://goo.gl/JAuu29 Febbraio 2012 JUG Torino 24
    • Manifest ● Contiene le informazioni base dellapplicazione e la configurazione dei suoi componenti ● Nome, version number, version name ● package, ● activities, servizi ecc.. ● intents, ● permessi richiesti dalla app29 Febbraio 2012 JUG Torino 25
    • Componenti base ● Activities → equivalgono alle“finestre” ● Services → lavorano in background ● Intents → permettono di chiamare le activities ● Bundles → salvano lo “stato” di una activity ● Application → raggruppa più activities29 Febbraio 2012 JUG Torino 26
    • Ciclo vitale di una Activity29 Febbraio 2012 JUG Torino 27
    • Gestione della memoria ● Le activities in determinati momenti possono essere killate se è richiesta maggiore ram. ● Dopo onPause, onStop, onRestore ● onSaveInstanceState e onRestoreInstanceState permettono di salvare lo stato29 Febbraio 2012 JUG Torino 28
    • Intent ● Richiamano una activity ● Espliciti o impliciti ● È possibile aggiungere dei dati/parametri ● È possibile ricevere valori di ritorno ● Asincroni ● Interni allapp, tra app, di sistema29 Febbraio 2012 JUG Torino 29
    • E solo linizio... ● … ma ci fermiamo qui ● Q&A?29 Febbraio 2012 JUG Torino 30
    • ● Grazie a tutti! francesco.ronchi (at) synesthesia.it - @qba75 www.synesthesia.it - @synesthesiait29 Febbraio 2012 JUG Torino 31