29/09/14 Università di Salerno -­‐ a.a. 2013-­‐2014 Android Mobile Programming – Prof. R. De Prisco Prof. Roberto De Prisco 2 per favore … Android Mobile Programming – Prof. R. De Prisco … o almeno
Slide 3 Università di Salerno -­‐ a.a. 2013-­‐2014 … e … NON RISPONDERE!!!!
Scrivere un app che meHe la vibrazione il lun e gio dalle 16:00 alle 18:00 1 29/09/14 Dress Code Android Mobile Programming – Prof. R. De Prisco Slide 4 Università di Salerno -­‐ a.a. 2013-­‐2014 •  Lui
–  Vestito scuro, cravatta, camicia chiara, calze
scure, scarpe scure.
•  Lei
–  Tailleur, gonna di lunghezza adeguata,
pantaloni, giacca o simile, camicetta, maglieria
in tinta.
Ovviamente sto scherzando, ma sappiate che nel mondo del lavoro troverete anche questo! Info corso Android Mobile Programming – Prof. R. De Prisco Slide 5 Università di Salerno -­‐ a.a. 2013-­‐2014 •  Prof. Roberto De Prisco –  studio: 4° piano, studio 58 •  numerazione Dip. di InformaUca –  [email protected] •  Orario lezioni –  Lunedì 16:00-­‐18:00 Lab. Turing –  Giovedì 16:00-­‐18:00 Lab. Turing 2 29/09/14 SO per smartphone e tablet Android Mobile Programming – Prof. R. De Prisco Android Slide 6 Università di Salerno -­‐ a.a. 2013-­‐2014 Android (Google) 52,10% iOS (Apple) 41,00% Windows mobile (Microso`) 3,40% Blackberry 2,90% Symbian (Nokia) 0,20% ed altri … Altre moUvazioni Android Mobile Programming – Prof. R. De Prisco Slide 7 Università di Salerno -­‐ a.a. 2013-­‐2014 •  Ambiente di sviluppo –  facile da istallare –  molU tools per lo sviluppo di app •  Istallazioni delle app –  facile –  non richiede nessuna registrazione •  MolUssime risorse online 3 29/09/14 Slide Cosa faremo nel corso 8 Università di Salerno -­‐ a.a. 2013-­‐2014 Android Mobile Programming – Prof. R. De Prisco Impareremo a scrivere app per Android!!! Slide Cosa faremo nel corso 9 Università di Salerno -­‐ a.a. 2013-­‐2014 Android Mobile Programming – Prof. R. De Prisco ArchiteHura Android SDK Emulatore Vedremo tuHo ciò che serve per scrivere app … 4 29/09/14 Slide ArgomenU 10 Università di Salerno -­‐ a.a. 2013-­‐2014 Android Mobile Programming – Prof. R. De Prisco •  Layout –  costruzione dell’interfaccia grafica •  pulsanU, liste, immagini, etc. •  Listener –  funzioni da eseguire • 
• 
• 
• 
• 
• 
• 
• 
Intent Permessi Alarms FrammenU Networking Sensori MulUmedia Data storage CiaoMondo
Risorse didamche Android Mobile Programming – Prof. R. De Prisco Slide 11 Università di Salerno -­‐ a.a. 2013-­‐2014 •  Lezioni!!!! •  Google –  http://developer.android.com
–  http://developer.android.com/guide
–  http://developer.android.com/training •  Books –  BigNerd Ranch (in inglese) –  hHp://www.bignerdranch.com/ •  Cursera –  ommo video corso (in inglese) –  hHps://www.coursera.org/course/android •  Googling! 5 29/09/14 Slide Sito web 12 Università di Salerno -­‐ a.a. 2013-­‐2014 Android Mobile Programming – Prof. R. De Prisco hHp://www.di.unisa.it/~robdep/MP/ • 
• 
• 
• 
• 
Informazioni Annunci Codice app Esami RisultaU Contest Android Mobile Programming – Prof. R. De Prisco Slide 13 Università di Salerno -­‐ a.a. 2013-­‐2014 •  La migliore app sviluppata DURANTE il corso verrà premiata con un telefonino Android! –  Samsung S3 mini •  Dual core 1.2GHz, 4”, 5Mpixel, 8GB •  Per partecipare occorre –  frequentare il corso –  sviluppare in gruppi di 2 persone max –  consegnare l’app una semmana prima dell’ulUma lezione del corso •  Il premio verrà assegnato con giudizio insindacabile del docente –  che include la non assegnazione (solo se non ci sarà nessuna app di una certa complessità). 6 29/09/14 Esame Android Mobile Programming – Prof. R. De Prisco Slide 14 Università di Salerno -­‐ a.a. 2013-­‐2014 •  L’app contest NON è l’esame!!!!! •  Esame –  ScriHo –  Laboratorio •  vengono ammessi gli studenU che superano lo scriHo –  Orale •  vengono ammessi gli studenU che superano il laboratorio Come contaHare il docente Android Mobile Programming – Prof. R. De Prisco Slide 15 Università di Salerno -­‐ a.a. 2013-­‐2014 •  Fine lezione (o nella pausa) •  Orario di ricevimento studenU –  Mer 11:00-­‐13:00 –  Gio 12:00-­‐13:00 •  Email –  Risposta non garanUta, dipende dalla domanda! –  Condizione necessaria: il messaggio deve contenere il nome del miHente –  Appuntamento •  NON telefonare 7 29/09/14 Domande? Slide 16 Android Mobile Programming – Prof. R. De Prisco Università di Salerno -­‐ a.a. 2013-­‐2014 Android Mobile Programming – Prof. R. De Prisco Università di Salerno -­‐ a.a. 2013-­‐2014 La pia7aforma Android 17 8 29/09/14 La piaHaforma Android Android Mobile Programming – Prof. R. De Prisco Slide 18 Università di Salerno -­‐ a.a. 2013-­‐2014 •  Sistema so`ware per telefonini e tablet –  OS kernel –  Librerie di sistema –  Framework per le applicazioni –  Applicazioni di base •  SDK per lo sviluppo di nuove applicazioni –  librerie –  tool di sviluppo –  documentazione •  manuali •  esempi http://developer.android.com/training
L’architeHura Android Android Mobile Programming – Prof. R. De Prisco Slide 19 Università di Salerno -­‐ a.a. 2013-­‐2014 9 29/09/14 Linux kernel layer Android Mobile Programming – Prof. R. De Prisco Slide 20 Università di Salerno -­‐ a.a. 2013-­‐2014 •  Fornisce i servizi di base del sistema operaUvo –  filesystem –  gesUone della memoria e dei processsi –  gesUone dell’interfaccia di rete –  drivers per le periferiche •  Servizi specifici per Android –  gesUone della baHeria –  gesUone della memoria condivisa –  low memory killer –  interprocess communicaUon e altre Librerie Android Mobile Programming – Prof. R. De Prisco Slide 21 Università di Salerno -­‐ a.a. 2013-­‐2014 •  Funzioni –  Libreria di sistema (bionic libc) –  Surface manager (update del display) –  Media manager (playback audio/video file) –  Webkit (motore browser) –  OpenGL (motore per la grafica) –  SQLite (database) •  Android RunUme –  app (Dalvik Virtual Machine) 10 29/09/14 Android RunUme: Libreria Core Android Mobile Programming – Prof. R. De Prisco Slide 22 Università di Salerno -­‐ a.a. 2013-­‐2014 •  App Android sono scriHe in Java •  La libreria fornisce molte classi pronte per l’uso: –  classi di base: java.*, javax.* –  classi per le app: android.* –  Internet/web services: org.* –  Unit tesUng: junit.* Android runUme: Dalvik VM Android Mobile Programming – Prof. R. De Prisco Slide 23 Università di Salerno -­‐ a.a. 2013-­‐2014 •  App: –  ScriHe in Java –  Compilate in file Java Bytecode –  Un tool, DX, trasforma i file bytecode in un singolo file Dex Bytecode (classes.dex) –  Il file classes.dex conUene anche tuHe i file di daU necessari e viene istallato sulla target device –  Dalvik Virtual Machine esegue il file Dex •  Dalvik è una VM specifica per sistemi Android –  CPU meno veloci (rispeHo ad un PC) –  Meno RAM –  BaHeria con durata limitata 11 29/09/14 ApplicaUon framework Android Mobile Programming – Prof. R. De Prisco Slide 24 Università di Salerno -­‐ a.a. 2013-­‐2014 •  Moduli so`ware necessari per le app –  Package manager •  gesUsce l’istallazione delle app sul disposiUvo mobile –  AcUvity Manager •  gesUsce il ciclo di vita delle applicazioni •  permeHe di passare da un’applicazione all’altra –  View System •  fornisce gli elemenU di base per le interfacce utente –  icone, testo, boHoni, ecc. ApplicaUon framework Android Mobile Programming – Prof. R. De Prisco Slide 25 Università di Salerno -­‐ a.a. 2013-­‐2014 –  Resource manager •  elemenU non compilaU (es. stringhe, immagini) –  Content Provider •  gesUsce la condivisione di daU fra applicazioni –  LocaUon manager •  fornisce informazioni sulla posizione geografica •  usa il GPS –  NoUficaUon Manager •  permeHe la noUfica di evenU –  Es. se sUamo facendo una chiamata telefonica ed arriva un messaggio 12 29/09/14 Slide Applicazioni (app) 26 Università di Salerno -­‐ a.a. 2013-­‐2014 Android Mobile Programming – Prof. R. De Prisco •  Applicazioni già presenU nel sistema –  Home: Main screen –  Contam –  Telefono –  Browser –  Email client –  Media player –  … altre •  Si possono sosUture con nuove app Slide Versioni 27 Università di Salerno -­‐ a.a. 2013-­‐2014 Android Mobile Programming – Prof. R. De Prisco Release date # versione nome diffusione (lug 2014) mar 2014 19 4.4 Kit Kat 17.9% Jelly Bean 9.0% 31 oH 2013 18 4.3 13 nov 2012 17 4.2.x 9 lug 2012 16 4.1.x 16 dic 2011 15 4.0.3 -­‐ 4.0.4 19 oH 2011 14 4.0 – 4.0.2 feb 2011 – lug 2011 11-­‐13 3.0-­‐3.2 feb – set 2011 10 2.3.3 – 2.3.7 19.7% 27.8% Ice Cream Sandwich Honeycomb Gingerbread 11.4% <0.1% <0.1% 13.5% 6 dic 2010 9 2.3 – 2.3.2 20 mag 2010 8 2.2 Froyo 0.7% nov 2009-­‐ gen 2010 5-­‐7 2.0 – 2.1 Eclair <0.1% 15 set 2009 4 1.6 Donut <0.1% 30 apr 2009 3 1.5 Cupcake <0.1% 9 feb 2009 2 1.1 Android 1.1 <0.1% 23 set 2008 1 1.0 Android 1.0 <0.1% <0.1% 13 29/09/14 Slide Versioni 28 Android Mobile Programming – Prof. R. De Prisco Università di Salerno -­‐ a.a. 2013-­‐2014 Android Mobile Programming – Prof. R. De Prisco Università di Salerno -­‐ a.a. 2013-­‐2014 Android Developer Tools 29 14 29/09/14 Slide ADT 30 Android Mobile Programming – Prof. R. De Prisco Università di Salerno -­‐ a.a. 2013-­‐2014 •  Istallare l’ADT •  L’interfaccia Eclipse •  L’emulatore Android •  StrumenU per il debug •  Altri strumenU Istallazione ADT Android Mobile Programming – Prof. R. De Prisco Slide 31 Università di Salerno -­‐ a.a. 2013-­‐2014 hHp://developer.android.com/sdk è necessario avere Java istallato (meglio JDK6) 15 29/09/14 ADT Android Mobile Programming – Prof. R. De Prisco Slide 32 Università di Salerno -­‐ a.a. 2013-­‐2014 •  Nell’ADT sono inclusi: –  Eclipse + plugin ADT –  Android SDK Tools –  PiaHaforma Android –  Emulatore Android Prima app: CiaoMondo Android Mobile Programming – Prof. R. De Prisco Slide 33 Università di Salerno -­‐ a.a. 2013-­‐2014 •  Visualizza un saluto al mondo! CiaoMondo
•  Vediamo –  il codice •  Scriviamo l’app! –  Tour dell’SDK 16 29/09/14 CiaoMondo Android Mobile Programming – Prof. R. De Prisco Slide 34 Università di Salerno -­‐ a.a. 2013-­‐2014 •  src –  file sorgenU •  gen –  file generaU automaUcamente •  Android 4.4.2 e Private Libraries –  Librerie Android •  assets –  Assets, es. assets/fonts/… –  NON vengono generaU ID •  bin –  file da istallare sul target device •  libs –  altre librerie •  res –  resources (file di layout, immagini, suoni, ecc.) –  vengono idenUficaU con degli ID CiaoMondo Android Mobile Programming – Prof. R. De Prisco Slide 35 Università di Salerno -­‐ a.a. 2013-­‐2014 •  AndroidManifest.xml –  informazioni sull’app •  permessi •  amvità •  icona •  proguard-­‐project.text –  per il tool ProGuard: compaHa, ommizza e offusca il codice sorgente (protezione) •  project.properUes –  specifica alcune proprietà dell’app 17 29/09/14 Emulatore Android Android Mobile Programming – Prof. R. De Prisco Slide 36 Università di Salerno -­‐ a.a. 2013-­‐2014 •  Android Virtual Device Manager Emulatore vs. real device Android Mobile Programming – Prof. R. De Prisco Slide 37 Università di Salerno -­‐ a.a. 2013-­‐2014 •  Real device " veloce, facile gesUre l’input (es. rotazioni display) " l’esecuzione è reale •  Emulatore "   lento (a volte molto), alcune operazioni sono difficoltose " è comunque un “simulatore” "   ci sono dei bug "   Facile creare situazioni parUcolari: •  baHeria scarica •  arrivo di un messaggio 18 29/09/14 Slide Emulatore 38 Università di Salerno -­‐ a.a. 2013-­‐2014 Android Mobile Programming – Prof. R. De Prisco •  Rotazione dello schermo hHp://code.google.com/p/android/issues/detail?id=61671 Emulatore Android Mobile Programming – Prof. R. De Prisco Slide 39 Università di Salerno -­‐ a.a. 2013-­‐2014 •  telnet 19 29/09/14 Slide Emulatore 40 Università di Salerno -­‐ a.a. 2013-­‐2014 Android Mobile Programming – Prof. R. De Prisco •  Comunicazione fra due emulatori “numero di telefono”: 5556 “numero di telefono”: 5554 Slide Debugger 41 Università di Salerno -­‐ a.a. 2013-­‐2014 Android Mobile Programming – Prof. R. De Prisco •  Eclipse debugger •  breakpoints –  controllo del valore delle variabili –  esecuzione step-­‐by-­‐step •  Molto uUle per trovare errori nei programmi DebugTrovaErrore
20 
Scarica

Blocco n.1