Gioachino Del Prete, Napoli
Che cosè Android?       Android è uno stack software      per dispositivi mobili, che      comprede:         Il sistema op...
Storia Sviluppato inizialmente da Android Inc. una startup consede a Palo Alto, California, USA 2005, Google acquista Andr...
Open Handset Alliance Open Handset Alliance (OHA) è una formazionecommerciale composta da 78 imprese. Si occupa di svilupp...
Android/Linux  Android adotta la versione 2.6 diLinux  - Gestione della sicurezza  - Memory Management  - Process Manageme...
Architettura
Architettura/Linux Kernel Android adotta la versione 2.6di Linux:    Gestione della sicurezza    Memory Management    Netw...
Architettura/LibrariesAndroid comprende un vasto set di librerie C/C++ :    System C library- derivate BSD ottimizzata per...
Architettura/Android Runtime     Android include un set di librerie di base che fornisce lamaggior parte delle funzionalit...
Architettura/Application Framework 1/2   Android offre una piattaforma di programmazione che permetteagli sviluppatori di ...
Architettura/Application Framework 2/2   Alla base delle applicazioni cè un ricco insieme di servizi esistemi, che includo...
Android Features 1/5Set di Layout- VGA- 2D Graphics- 3D Graphics basate sulle specifiche OpenGL ES 2.0- Layout tradizional...
Android Features 2/5 Messaging - SMS - MMS Web browser - Utilizza WebKit come motore di rendering e V8 Chrome per ilmotore...
Android Features 3/5Media support- H.263, H.264- MPEG-4 SP- AMR, AMR-WB- AAC, HE-AAC- MP3- MIDI- Ogg Vorbis- WAV- JPEG,PNG...
Android Features 4/5 Multi-touch - Supporto nativo al Multi-touch. Bluetooth versione 2.2+ di Android - A2DP, AVRCP - Tras...
Android Features 5/5 Voice based features  - La ricerca Vocale su Google è supportato  - Altre funzionalità attivabile con...
Android e JavaDalvik Virtual Machine Esegue file .dex ottenuto da bytecode  Virtual Machine ottimizzata per dispositivi mo...
stack based vs register basedEsempio:                         c=a+bJVM:                  push a (load,store)              ...
Dalvik Virtual Machine
Android hardware/sensori opzionale         GPS             AccelerometroTermometro       Proximity sensor                 ...
Android oltre il mobile              People of Lava Sweden              has produced the first TV              adopting An...
Bibliografia  http://developer.android.com/index.html  Wikipedia  Internet  Android-Guida per lo sviluppatore di MassimoCa...
Upcoming SlideShare
Loading in …5
×

Android

2,675 views
2,597 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,675
On SlideShare
0
From Embeds
0
Number of Embeds
171
Actions
Shares
0
Downloads
53
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Android

  1. 1. Gioachino Del Prete, Napoli
  2. 2. Che cosè Android? Android è uno stack software per dispositivi mobili, che comprede: Il sistema operativo Middleware Key application Distribuisce un SDK per programmare le applicazioni in linguaggio Java
  3. 3. Storia Sviluppato inizialmente da Android Inc. una startup consede a Palo Alto, California, USA 2005, Google acquista Android Inc. Nel Novembre 2005, viene rilasciata la prima versione diAndroid, e viene resa nota la formazione della Open HandsetAlliance(OHA) Da ottobre 2008, Android è disponibile con licenza Apache Febbraio 2009, Android 1.5 (Cupcake) Based on LinuxKernel 2.6.27 Settembre 2009, Android 1.6 (Donut) Based on LinuxKernel 2.6.29 Ottobre 2009, Android 2.0 / 2.1 (Eclair) Based on LinuxKernel 2.6.29 Maggio 2010, Android 2.2 (Froyo) Based on Linux Kernel2.6.32
  4. 4. Open Handset Alliance Open Handset Alliance (OHA) è una formazionecommerciale composta da 78 imprese. Si occupa di sviluppare standard aperti per dispositivimobili. I membri, si contraddistinguono in 5 categorie: Mobile operators Software companies Commercialization companies Semiconductor companies Handset manufactures
  5. 5. Android/Linux Android adotta la versione 2.6 diLinux - Gestione della sicurezza - Memory Management - Process Management - Network stack - Driver Model Il kernel agisce anche da layer diastrazione fra lhardware e il resto dellostack software.
  6. 6. Architettura
  7. 7. Architettura/Linux Kernel Android adotta la versione 2.6di Linux: Gestione della sicurezza Memory Management Network Stack Driver Model Abstract Layer tra hardware esoftware stack
  8. 8. Architettura/LibrariesAndroid comprende un vasto set di librerie C/C++ : System C library- derivate BSD ottimizzata per dispositivi mobili Linux-based Media Libraries- basate su PacketVideos OpenCORE Surface Manager-accesso al sottosistema di visualizzazione LibWebCore SGL-motore grafico 2D 3D libraries-derivate da OpenGL ES 1.0 APIs FreeType SQLite
  9. 9. Architettura/Android Runtime Android include un set di librerie di base che fornisce lamaggior parte delle funzionalità disponibili nelle librerie di basedel linguaggio di programmazione Java. Ogni applicazione Android gira in un proprio processo, con lapropria istanza della macchina virtuale Dalvik. La Virtual MachineDalvik esegue file Dalvik Executable (.dex), ottimizzata perdispositivi con memoria ridotta. La VM Dalvik si basa sul kernel Linux per le funzionalità di baseofferte da questultimo, come il threading e di memoria a bassolivello di gestione.
  10. 10. Architettura/Application Framework 1/2 Android offre una piattaforma di programmazione che permetteagli sviluppatori di creare ricche e innovative applicazioni. Gli sviluppatori possono utilizzare per le loro applicazioni tuttolhardware del device: Possono accedere alle informazioni di posizione Eseguire applicazioni in background Impostare allarmi Gli sviluppatori hanno pieno accesso alle APIs usate per le applicazionicore. Qualsiasi applicazioni può pubblicare le sue “capacità” e tutte le altrepossono utilizzarle: architettura molto orientata al riuso.
  11. 11. Architettura/Application Framework 2/2 Alla base delle applicazioni cè un ricco insieme di servizi esistemi, che includono: Un ricco ed estendibile insieme di View: elenchi, griglie, caselle di testo, pulsanti e persino un browser web embeddable Content Providers, che permette di accedere i dati di altre applicazioni e di condividere i propri Resource Manager, che provvede allaccesso alle risorse “non-code” come: localized strings, graphics, e layout files Notification Manager che permette alle applicazioni di attivare avvisi nella status bar Activity Manager che gestisce il ciclo di vita delle applicazioni
  12. 12. Android Features 1/5Set di Layout- VGA- 2D Graphics- 3D Graphics basate sulle specifiche OpenGL ES 2.0- Layout tradizionali per smartphoneStorage- SQLiteConnectivity- GSM/EDGE- IDEN- CDMA- EV-DO- UMTS- Bluetooth- Wi-Fi- LTE- WiMAX
  13. 13. Android Features 2/5 Messaging - SMS - MMS Web browser - Utilizza WebKit come motore di rendering e V8 Chrome per ilmotore Javascript Java support - Possiamo scrivere le nostre applicazioni in Java, ma Android nonha una Java Virtual Machine e quindi il bytecode non saràinterpretato, e quindi eseguito. E necessario ricompilare il bytecodeJava in un eseguibile Dalvik, che sarà eseguito dallapposita virtualmachine. Dalvik è una virtual machine progettata per Android edottimizzata per sistemi alimentati a batteria con limitata memoria eCPU. Il supporto a J2ME è offerto grazie a terze parti comeJ2ME MIDP Runner.
  14. 14. Android Features 3/5Media support- H.263, H.264- MPEG-4 SP- AMR, AMR-WB- AAC, HE-AAC- MP3- MIDI- Ogg Vorbis- WAV- JPEG,PNG,GIF,BMPStreaming media support- RTP/RTSP streaming (3GPP PSS, ISMA)- HTML progressive download (HTML5 <video> tag)- Adobe Flash Streaming (RTMP)- Apple HTTP Live Streaming- Microsoft Smooth Streaming- Adobe Flash HTTP Dynamic Streaming
  15. 15. Android Features 4/5 Multi-touch - Supporto nativo al Multi-touch. Bluetooth versione 2.2+ di Android - A2DP, AVRCP - Trasferimento file OPP - Accesso alla rubrica PBAP - Invio contatti tra dispositivi Videocalling - Non supportata su tutti i dispositivi, ma ci possono essere deidispositivi con una versione personalizzata del S.O. che puòpermettere le videochiamate Multitasking - Il Multitask è supportato
  16. 16. Android Features 5/5 Voice based features - La ricerca Vocale su Google è supportato - Altre funzionalità attivabile con comendi Vocali sono supportatedalla versione 2.2 in poi Tethering - Il Tethering è supportato ufficialmente dalla versione 2.2 ,permettendo al dispositivo dotato di Android di funzionare dawireless/wired hotspot.
  17. 17. Android e JavaDalvik Virtual Machine Esegue file .dex ottenuto da bytecode Virtual Machine ottimizzata per dispositivi mobili Dalvik non elimina il Garbage Collector DVM implementa un Just In Time(JIT) solo dalla versione 2.2, inquanto molte APIs Java Android sono wrapper che incapsulano lefunzionalità alle quali accedono attraverso Java Native Interface(JNI) DVM genera codice register based a differenza di JVM che generacodice stack based Un file .dex compresso è usualmente a parità di codice Java lametà di un file .jar
  18. 18. stack based vs register basedEsempio: c=a+bJVM: push a (load,store) push b (load,store) add (load,load,store); store c (load,store)Dalvik register based: add a,b,c (load,load,store)
  19. 19. Dalvik Virtual Machine
  20. 20. Android hardware/sensori opzionale GPS AccelerometroTermometro Proximity sensor Giroscopio Touchscreen Magnetometro
  21. 21. Android oltre il mobile People of Lava Sweden has produced the first TV adopting Android 1.5, and is called Scandinavia
  22. 22. Bibliografia http://developer.android.com/index.html Wikipedia Internet Android-Guida per lo sviluppatore di MassimoCarli, Apogeo Si prega di segnalare eventuali errori al seguente indirizzo mail: gioacchinodelprete[at]gmail.com Gioachino Del Prete, Napoli

×