Early description of the Android initiative by Google.
http://www.archive.org/details/JUGPD42_Android_Tringali
1 of 39
Downloaded 34 times
More Related Content
Io, Android
1. Il cellulare 2.0 diventa pi湛 personale Ing. Antonio Tringali < [email_address] > 29/03/2008
2. Io, android Cosa 竪 Android? Il 5/11/2007 Google annuncia Android E' un application environment per cellulari evoluti ( smartphone ) Basato su kernel Linux 2.6 (HAL) Varie librerie a corredo con licenza soprattutto BSD e Apache Tutti gli sviluppi originali di Android saranno rilasciati con licenza Apache 2.0 Prima versione non beta nel Q3 2008
3. Io, android Contestualmente annunciata la OHA Rivolta alla commercializzazione di prodotti/servizi Android-based
4. Io, android La mente di Android Andy Rubin : tra i creatori del SW alla base del Sidekick/Hiptop Ha lavorato per Apple e General Magic Ha fondato Artemis Research WebTV Ha fondato Danger, Inc. nel 2000 Dirigenti di Apple e Philips nel consiglio 2004: Brin e Page lo prendono in Google Ora Director of Mobile Platforms L'11/02/2008 Microsoft compra Danger
5. Io, android Una strategia convergente Apple iPhone: il 27% del mercato USA in 6 mesi ! Eric Schmidt, Google CEO, in consiglio di amm. Apple Nokia, Palm e RIM: i big dell'HW cellulare I concorrenti erano principalmente Microsoft, Symbian e Access (Linux) Ma Linux occupa una nicchia di mercato
6. Io, android + Guadagno = - Costi + Servizi L'HW cellulare 竪 ormai commodity Incidono i costi di licenza SW: ad esempio, Symbian e Windows Mobile Il mercato della telefonia 竪 redditizio: oltre il 30% di guadagno rispetto a un 20% di costi di marketing Obiettivo: ricreare il mercato dei PC anni '90 in ambito cellulare Subsidizing HW per accesso a Internet
7. Io, android Cosa 竪 stato rilasciato? Il 12/11/2007 竪 stato rilasciato un SDK per allenarsi a produrre applicazioni Un plug-in Eclipse semplifica lo sviluppo m3-rc22a (14/11/2007) m5-rc15 (03/03/2008)
8. Io, android Requisiti per l'SDK Rilasciato in versioni per: Windows XP o Vista Mac OS X >= 10.4.8 (Intel) Linux Ubuntu Plug-in Eclipse 3.2 o 3.3 Java Development Kit 5 o 6 Apache ANT versione >= 1.6.5 (Linux) o 1.7.0 (Windows e Mac OS X)
9. Io, android Android senza filtro aapt : crea/aggiorna .zip , .jar , .apk activityCreator.py : crea un progetto dx : .class / .jar -> .dex per Dalvik aidl : genera codice interfaccia IPC ddms : debug processi emulatore traceview , dmtracedump : visual. grafica log mksdcard : immagini FAT32 per SD card sqlite3 : SQLite per manipolare i database Eclipse plug-in versione 0.4.0
10. Io, android Emulazione, che passione! ADB : daemon che si interfaccia con un server adbd dentro il device o emulatore L'emulatore dispone le porte TCP/IP: 5554 per console, 5555 per protocollo ADB Ogni nuova istanza di emulatore alloca la coppia di porte TCP/IP successiva Eclipse + Android plug-in ADB adbd debuggerd Android Debug Bridge Emulatore
11. Io, android Android on steroids (1) Processore da 200MHz, 32MB di RAM e 32MB di flash; vari dispositivi di I/O Set di istruzioni supportati: ARMv5TEJ, Thumb e Java (Jazelle)
13. Io, android Android on steroids (3) Confronto con un kernel 2.6.23 vanilla : arch/arm/mach-goldfish : supporto per QEMU fs/yaffs2 : molto veloce, solo per flash NAND drivers/android : debug, gestione energia drivers/misc/lowmemorykiller : basta la parola! drivers/binder : per IPC, pi湛 sofisticato di COM OpenBinder usa ioctl() su /dev/binder Dianne Hackborn ora lavora per Google, dopo le esperienze di Be e PalmSource
14. Io, android Android: hardware vero La star del CES 2008... ...ma anche la gioia di vari sviluppatori Atmark-Techno Armadillo-500 (Freescale i.MX31L) Prototipo NEC
15. Io, android I processi in esecuzione (1) Poco diverso da un normale Linux
16. Io, android I processi in esecuzione (2) runtime : dispatcher degli URI app_process : lanciatore applicazioni; in particolare lancia zygote system_server : controllore dei servizi, simile a svchost.exe init system_server runtime app_process zygote zygote com.google.android.home com.google.process.content com.google.android.phone Istanzia i servizi AudioFlinger SurfaceFlinger USB activity activity.providers activity.receivers activity.services alarm battery checkin content hardware isms location meminfo notification org.bluez.bluetooth org.bluez.bluetooth_service package phone power search simphonebook statusbar volume window
17. Io, android I processi in esecuzione (3) La VM Java-like condivide il bytecode:
19. Io, android Cosa 竪 Dalvik? (1) Un villaggio dell'Islanda ( Dan Bornstein ) Il modo preferito per sviluppare le applicazioni Android 竪 tramite Java JRE ritagliato da Java SE (Harmony Classlib) + package con licenza Apache Google non afferma che Dalvik sia una Java VM, aggira elegantemente la licenza Dalvik 竪 solo interprete del bytecode Pi湛 efficiente di Sun JVM solo interprete
20. Io, android Cosa 竪 Dalvik? (2) Il risultato della compilazione non 竪 bytecode in standard JVM ( .dex ) Formato ottimizzato per la condivisione Una istanza di Dalvik VM per processo Basata su registri anzich辿 su stack?! Stringhe estratte da libdvm.so
21. Io, android Cosa 竪 Dalvik? (3) dalvikvm/libdvm.so compilate per Thumb! Per嘆 nessuna traccia di istruzioni Jazelle E' possibile scrivere applicazioni native, ma non sarebbero sicure Demo di Quake www.youtube.com/AndroidDevelopers Un cellulare 竪 un computer!
22. Io, android Activity e riposo Le Activity possono essere passivate Fonte: www.anddev.org Fonte: www.youtube.com/AndroidDevelopers
24. Io, android Androidologia Activity : singola schermata d'applicazione Intent : per spostarsi fra le schermate; i dati sono espressi come URI IntentReceiver : listener Intent, GUI opzionale Service : in background, senza GUI Content Provider : consente di condividere dati con altre applicazioni AndroidManifest.xml : dichiara i componenti di un'applicazione e i loro prerequisiti
25. Io, android Il modello degli oggetti Di solito, un'applicazione 竪 una Activity Capostipite di tutti gli oggetti grafici della GUI contents://contacts/1 ... Hanno una GUI Nessuna GUI
26. Io, android Configurazione applicazioni In DB SQLite, molto Google- oriented ;-) Le config. di lancio in file XML Il resto sono file di config. Linux
34. Io, android Developers^3 Per stimolare l'estro degli sviluppatori Google ha lanciato un concorso da $10M Sono esclusi i paesi canaglia: Iran, ... ... e anche Quebec e Italia per via della burocrazia, anche se qualcuno ne dubita Nonostante gli incentivi, sviluppare per Android 竪 semplice e divertente Operativi pochi minuti dopo aver effettuato l'installazione dell'SDK
35. Io, android Il futuro prossimo 竪 remoto I PDA hanno mostrato il 40% di declino nelle vendite tra il 2006 e 2007 Nel 2008 si stima saranno venduti oltre un miliardo di nuovi cellulari Ci sono gi oltre tre miliardi di cellulari In molti posti del mondo l'unico telefono che conoscono 竪 in tecnologia cellulare Molti fruiranno Internet attraverso il telefono: cambio di paradigma
36. Io, android Ritorno al mondo nuovo La 4G di telefonia cellulare 竪 su IPv6 E' probabile che gli operatori spingano un canone fisso per servizi all-IP, con A/V Finalmente la realizzazione del sogno di The Dawn of the Stupid Network Nuove forme di introiti: acquisto di canzoni on-line o in dotazione con il telefono, giochi, servizi innovativi (?) Una connessione sociale pervasiva
37. Io, android A ovest niente di nuovo Motorola DynaTAC 8000x (Dr. Martin Cooper, 1983)
38. Io, android Riferimenti http://code.google.com/android/ Il sito principale di Android: download SDK, documentazione e forum http://www.youtube.com/AndroidDevelopers Video sull'architettura e le possibilit di Android ( Androidology Parti 1, 2, 3 ) http://www.dalvikvm.com Reverse-engineering del formato dei file .dex http://www.openhandsetalliance.com Il sito ufficiale della Open Handset Alliance http://www.anddev.org Scoperte su Android e numerosi tutorial http://www.linuxdevices.com/news/NS4262102607.html Esempi di installazione di Android su vario hardware http://isen.com/papers/Dawnstupid.html The Dawn of the Stupid Network , David S. Isenberg, ACM Networker 2.1, February/March 1998