Introduzione ad Android
Cos'è Android Sistema operativo orientato a device mobili (non solo cellulari): smartphone, tablet, tv sistemi embedded anche una versione per pc Perchè sviluppare in Android: Creato da Google: Open source (lic. Apache 2.0) e basato su Linux e java Sviluppo in Java e XML SDK Multipiattaforma (Lin/Mac/Win) Successo crescente (850k attivaz./g)
Storia 9 Gennaio 2007 - Steve Jobs annuncia l'iPhone al Macworld 29 Giugno 2007 - Rilasciata prima versione dell' iPhone. Ottobre 2003 - La Android Inc. viene fondata a Palo Alto, California, da Andy Rubin, Rich Miner, Nick Sears e Chris White. Agosto 2005 - Google compra la Android Inc. 5 Novembre 2007 - Viene formata la Open Handset Alliance Android fu sviluppato inizialmente nel 2003 da una startup californiana di nome Android, Inc., fondata da Andy Rubin, Rich Miner, Nick Sears e Chris White. Siamo agli inizi del nuovo millennio, ogni telefonino ha il proprio sistema operativo chiuso e gli smartphone più evoluti sono quelli prodotti da Palm e quelli con a bordo Windows Mobile. In questo scenario, la visione di Andy Rubin era di creare un sistema operativo aperto, basato su Linux, conforme agli standard, con un'interfaccia semplice e funzionale che mettesse a disposizione degli sviluppatori strumenti efficaci per la creazione di applicazioni. E soprattutto, a differenza di tutti gli altri sistemi operativi sul mercato, la sua adozione doveva essere gratuita. La svolta arriva nel luglio del 2005 quando Google acquista Android, Inc. trasformandola nella Google Mobile Division con a capo sempre Andy Rubin. L'acquisizione fornì a Rubin i fondi e gli strumenti per portare avanti il suo progetto. Il passo successivo fu la fondazione nel novembre dello stesso anno della Open Handset Alliance (OHA).
Storia 12 Novembre 2007 - Rilasciato il primo Android Beta SDK 27 gennaio 2010 - Steve Jobs presenta l'iPad ad una conferenza Apple allo Yerba Buena Center for the Arts Theater di San Francisco 12 Novembre 2007 - Rilasciato il primo Android Beta SDK 23 Settembre 2008 - Primo device con android, HTC Dream (G1) con Android 1.0 Settembre 2010 - Samsung creato il suo primo tablet, il Samsung Galaxy Tab con Android 2.2 Nel giugno del 2007 è arrivato sul mercato il primo iPhone di Apple che ha rivoluzionato il modo concepire gli smartphone. In molti si aspettavano che Google rispondesse con un proprio smartphone per cui la sorpresa fu grande quando presentò un intero ecosistema, un sistema operativo capace di funzionare su molti dispositivi diversi tra loro. Al momento del lancio Android presentava un numero molto ridotto di applicazioni: un browser basato su webkit, una rubrica e un calendario sincronizzati con gmail e poco altro. Per invogliare i programmatori a cimentarsi con questa nuova piattaforma, Google istituì nel gennaio del 2008 un concorso con un montepremi di 10 milioni di dollari per le migliori 50 applicazioni.
HTC Dream (G1) Google ha annunciato la Open Handset Alliance e ha rilasciato la prima versione beta dell' SDK di android nel Novembre 2007. In un paio di mesi l'SDK ha avuto milioni di downloads e nel 2008 sul mercato americano sono stati venduti un milione di G1 nei primi 60 giorni la prima versione di android non aveva ancora una tastiera software, il G1 somigliava piu' ad un blackberry che ad uno smartphone attuale T-Mobile G1 (HTC Dream), il primo smartphone Android Ad agosto del 2008 viene presentata la versione 0.9 dell'SDK di Android sulla cui base l'operatore T-Mobile annuncia il primo smartphone con sistema operativo Android: il T-Mobile G1. Questo terminale, che in Italia sarà conosciuto come HTC Dream, raggiunse il mercato americano nel settembre del 2008: se ne vendettero 1 milione nei primi 60 giorni. Il T-Mobile G1 è uno smartphone con display TFT da 3,2 pollici touchscreen, un processore da 528 MHz, 256 MB di ROM e 192 MB di RAM. Ha una tastiera fisica QWERTY a scomparsa a 5 righe che costituisce l'unico metodo di input. La tastiera software verrà introdotta solo con Android 1.5 ad aprile del 2009. A differenza di quanto avviene con l'iPhone, Android punta da subito alla personalizzazione dell'interfaccia. Nasconde alla vista l'elenco delle applicazioni instalate lasciando libero l'utente di configurare a suo piacimento le schermate a sua disposizione con widget, shortcut a programmi e cartelle. Analogamente ad Apple anche qui è presente un'app store, l'Android Market. A differenza dell'iPhone il sistema di notifiche non è gestito tramite pop-up ma tramite un menù a tendina che scende dall'alto. Il multitasking è pienamente supportato, tenendo premuto il tasto home compare un elenco delle ultime applicazioni aperte che permette di passare dall'una all'altra.
Evoluzione Android 1.0 Mancano le API per il bluetooth, la tastiera virtuale e le API per GTalk
Evoluzione 30 Aprile 2009 - Android 1.5 (Cupcake) A partire da questa versione Google prenderà l'abitudine di assegnare ad ogni versione del suo sistema operativo il nome di un dolce, procedendo in ordine alfabetico. Tastiera virtuale Foto e filmati caricati direttamente su Picasa e Youtube Riconoscimento vocale API per Bluetooth e accelerometro
Evoluzione 15 Settembre 2009 - Android 1.6 (Donut) Release minore che migliora la funzione integrata di ricerca Aggiornamenti software fotocamera e videocamera Android 1.6 "Donut" Nel settembre del 2009 viene rilasciato Android 1.6 Donut. Si tratta di una release minore che migliora la funzione integrata di ricerca rendendola trasversale ed estendendola a tutti i dati del terminale. Su Donut viene migliorata inoltre la velocità della fotocamera e della videocamera ed aggiornata l'interfaccia della galleria e dell'app store Android Market.
Evoluzione 26 Ottobre 2009 - Android 2.0 (Eclair) 3 Dicembre 2010 - SDK 2.0 Integrazione dei contatti con Facebook e Twitter Aggiornamento fotocamera Tastiera multitouch Browser HTML5 Navigatore su Google Maps Integrazione dei contatti con Facebook e Twitter. Le immagini dei contatti vengono prese direttamente da Facebook e cliccandoci sopra appare un piccolo menù che presenta tutti i modi in cui possiamo contattare la persona. Nella fotocamera troviamo zoom digitale, scene mode, bilanciamento del bianco, effetto sui colori e macro focus. La tastiera virtuale diventa multitouch e con un dizionario più ricco. Il browser permette lo zoom con il doppio tap ed è garantita la piena adesione allo standard HTML5. Finalmente arrivano le API per utilizzare direttamente il Bluetooth all’interno delle applicazioni. Fa la sua comparsa Google Navigator, il navigatore satellitare turn by turn integrato in Google Maps. Ed ancora: supporto alla sincronizzazione di account multipli gmail; supporto ad altre dimensioni dello schermo e supporto ad Exchange. Vengono introdotti i live wallpaper.
Google Nexus One All'inizio del 2010 viene commercializzato il Nexus One il primo telefono a cui realizzazione Google abbia partecipato direttamente. Indicato come telefono di riferimento per gli svilupatori. Processore 1Ghz e 512Mb di RAM ha l'obbiettivo di elevare lo standard dell'hardware degli smartphone della futura generazione. Il debutto del Google Nexus One Il gennaio del 2010 vede la comparsa negli Stati Uniti del Nexus One, il primo telefono alla cui realizzazione Google abbia partecipato direttamente. Si tratta di un terminale SIM-free, indipendente dai vari operatori telefonici. Google ha provato a venderlo direttamente da un proprio sito Internet, scavalcando sia gli operatori che i rivenditori fisici come in sostanza avviene in Europa, ma l'operazione non ha funzionato trattandosi di una novità assoluta per il mercato statunitense. Tecniche di vendita a parte, il Nexus One è un terminale di svolta. Google lo indica come telefono di riferimento per gli sviluppatori, fornendolo anche in regalo durante il suo Bootcamp I/O. Con un processore Snapdragon da 1 GHz e 512 MB di RAM ha l'obiettivo di elevare lo standard dell'hardware degli smartphone della futura generazione. In questo riesce nel suo intento.
Evoluzione 20 Maggio 2010 - Android 2.2 (Froyo) Nuovo compilatore Dalvik con prestazioni fino a 7 volte superiori rispetto al 2.1: i programmi si aprono piu velocemente e il sistema e' molto piu fluido. Introduzione javascript engine V8 (lo stesso di Chrome) Introduzione USB e WiFi tethering Auto update applicazioni Market e installazione sulla memory card Supporto Flash player Android 2.2 "Froyo" Il 20 maggio 2010 esce l'aggiornamento a Android 2.2 FroYo. Grazie ad un nuovo compilatore Dalvik JIT si riescono ad ottenere prestazioni circa 7 volte superiori rispetto a quelli di Android 2.1 Eclair: i programmi si aprono più velocemente e il sistema è molto più fluido. Grazie all'Engine V8 Javascript, lo stesso di Chrome, la navigazione in internet è fulminea. Viene introdotto il tethering Wi-Fi e USB che trasformano gli smartphone in hotspot mobili che condividono la connessione con altri dispositivi. Le applicazioni del Market hanno la possibilità di aggiornarsi automaticamente (auto-update) e adesso possono essere installate sulla memoria card per risparmiare la memoria interna. C'è il pieno supporto ad Adobe Flash Player per tutti i siti internet che ne fanno uso. La tastiera virtuale supporta più lingue indipendentemente da quella impostata nel terminale. Viene introdotta la funzione send to phone per inviare contenuti dal browser del PC direttamente allo smartphone.
Evoluzione 6 Dicembre 2010 - Android 2.3 (Gingerbread) Ulteriori ottimizzazioni per aumentare velocita. Supporto NFC (Near Field Communication) Supporto VoIP Manca supporto dual-core
Evoluzione 22 Febbraio 2011 - SDK 3.0 10 Maggio 2011 - Android 3.0 (Honeycomb) Sviluppato appositamente per i tablet Il primo dispositivo che usa android 3.0 e' stato il Motorola XOOM Multitasking con screenshot delle applicazioni aperte Supporto processori multi-core.
Evoluzione Dicembre 2011 - Android 4.0 (Ice Cream Sandwich) Ha il compito di unificare sotto un unico sistema operativo tutti i futuri dispositivi Android siano essi smartphone, tablet o altro. Linux kernel 3.0.1. UI completamente riprogettata Face Unlock Fotocamera migliorata
Evoluzione 27 giugno 2012 - Android 4.1 (Jelly Bean) Voice typing offline Miglioramenti notevoli nella fluidità grazie a "Project Butter" Abbandono ufficiale al supporto della tecnologia Adobe flash Implementazione nativa della funzione swipe Introdotta la modalità fotografica a 360°
Open Handset Alliance L' Open Handset Alliance è un accordo di differenti compagnie con Google come capofila, ASUS, HTC, Intel, Motorola, Qualcomm, T-Mobile, e NVIDIA il cui obiettivo è sviluppare standard aperti per dispositivi mobile. L'Open Handset Alliance, capeggiata da Google, è formata da 35 membri fra cui troviamo operatori telefonici come Vodafone, T-Mobile, Telecom Italia; produttori di dispositivi mobili come HTC, Motorola, Samsung; produttori di semiconduttori come Intel, Texas Instruments, Nvidia; compagnie di sviluppo software e di commercializzazione. Il loro scopo è di creare standard aperti per dispositivi mobili.
Diffusione
Caratteristiche Framework che consente di sviluppare ed utilizzare componenti Utilizza una jvm (dalvik) per eseguire i processi Browser integrato basato sul motore open source Webkit Grafica 2D/3D ottimizzata Database SQLite Supporto per la riproduzione di formati multimediali (MPEG4, H.264, MP3, AAC, JPG, PNG, GIF)
Hardware WiFi Bluetooth Fotocamera GPS Accelerometro Bussola ..e telefono...
Software Sistema basato su kernel linux 2.6, che gestisce sicurezza, memoria, esecuzione, networking, drivers. Set di librerie scritte in C/C++ (System, Media, Graphic, WEB, SQLite) Le applicazioni girano su una java virtual machine (dalvik) Comprende un set di applicazioni di base: email client, SMS, telefonia, calendario, mappe, browser, contatti e altro... Open source http://source.android.com/ il sistema operativo Android è composto in tutto da 12 milioni di righe di codice 3 milioni di righe di XML 2,8 milioni di righe di C 2,1 milioni di righe di Java 1,75 milioni di righe di C++
Architettura Activity Manager: gestisce il ciclo di vita delle applicazioni. Lo sviluppatore si puo' agganciare a degli eventi View System: componenti che possono essere utilizzati per costruire un'applicazione, ad es: Bottoni, campi di input, menu a discesa, maschere di visualizzazione, browser, mappe Content Providers: permettono di accedere a dati condivisi da altre applicazioni (es: contatti) o di condividere i dati della propria applicazione Resource Manager: permette di accedere ad una serie di risorse esterne come xml e immagini Notification Manager: permette alle applicazioni di inviare notifiche e le mostra nella status bar
Dalvik VM Virtual machine basata su Apache Harmony Converte e ottimizza il il bytecode java per l'esecuzione su dispositivi mobile, creando dei file .dex. Un file .dex e' generalmente piu' piccolo di un .jar creato dal file .class corrispondente. Scritta in modo che un dispositivo possa eseguire VMs multiple in modo efficiente Ottimizzata per un basso consumo di memoria. In 2011, the software company Myriad Group announced "Alien Dalvik", a port of the Dalvik virtual machine to platforms other than Android. Dalvik is claimed by Google to be a clean-room implementation rather than a development on top of a standard Java runtime, which would mean it might not inherit copyright-based license restrictions from either the standard-edition or open-source-edition Java runtimes On 12 August 2010, Oracle, which acquired Sun Microsystems in April 2009 and therefore owns the rights to Java, sued Google over claimed infringement of copyrights and patents. In developing Android, it is alleged that Google knowingly, directly and repeatedly infringed Oracle's Java-related intellectual property WebRep Overall rating
Prerequisiti per sviluppare Programmazione ad oggetti Java XML C/C++ con la NDK .
A nostra disposizione: Android API Development tools Emulatore Android DDMS (Dalvik Debug Monitor Service) Tanta documentazione Tutto scaricabile da http://developer.android.com
Google Play (Android market) Per pubblicare occorre: Registrarsi su Google Play Pagare 25$ Carico del'apk con una chiave generata dallo sviluppatore ... e fatto. Gratis / A pagamento (30% per Google) In-app billing