Android
Android è un sistema operativo per dispositivi mobili costituito da uno stack software che include un sistema operativo di base, i middleware per le comunicazioni e le applicazioni di base[3]. Ciò che lo contraddistingue dagli altri sistemi per dispositivi mobili è la sua natura open source [4][5]: infatti è basato su kernel Linux.
| Android sistema operativo | |
|---|---|
| [[File: | |
| Sviluppatore | Google Inc. Open Handset Alliance |
| Famiglia | mobile operating systems |
| Release corrente | 15.0.0 r12 (7 gennaio 2025) |
| Tipo di kernel | Linux kernel (monolitico) |
| Metodo di aggiornamento | OTA (disponibile dalla OS 1)[1] e PC |
| Licenza | Apache 2.0 |
| Stadio di sviluppo | in produzione, corrente |
| Sito web | android.com |
La piattaforma usa il database SQLite, la libreria dedicata SGL per la grafica bidimensionale e supporta lo standard OpenGL ES 2.0 per la grafica tridimensionale [3]. Le applicazioni vengono eseguite tramite la Dalvik virtual machine, una macchina virtuale adattata per l'uso su dispositivi mobili. Android è fornito di una serie di applicazioni preinstallate: un browser, basato su WebKit, una rubrica e un calendario.
Storia
Fu inizialmente sviluppato da Startup Android Inc., acquisita[6] nel 2005 da Google Inc.. I cofondatori di Android Inc., Andy Rubin (a sua volta cofondatore di Danger),[7] Rich Miner (cofondatore di Wildfire Communications, Inc.),[8] Nick Sears (vicepresidente di T-Mobile)[9] e Chris White (principale autore dell'interfaccia grafica di WebTV),[10] iniziarono a lavorare per Google e svilupparono una piattaforma basata sulla versione 2.6 del kernel Linux. Il 5 novembre 2007 il consorzio di produttori Open Handset Alliance (di cui Google è capofila) presentò pubblicamente Android [11].
SDK
Il 12 novembre 2007 l'OHA ha rilasciato il software development kit (SDK) che include: gli strumenti di sviluppo, le librerie, un emulatore del dispositivo, la documentazione (in inglese), alcuni progetti di esempio, tutorial e altro. È installabile su qualsiasi computer x86 compatibile che usi come sistema operativo Windows XP, Vista, Mac OS X, dalla versione 10.4.8, o Linux. L'IDE ufficialmente supportato per lo sviluppo di applicazioni per Android è Eclipse,[12] per cui è fornito un plug-in.
L'SDK fu aggiornato alla versione 1.1 il 9 febbraio 2009; questa nuova versione sostituiva la versione 1.0_r2 e manteneva la retro compatibilità con i sorgenti creati tramite le vecchie release dell'SDK (1.0_r1 e 1.0_r2) ed aggiunge nuove caratteristiche alle API.[13]
La versione dell'SDK uscita il 13 aprile 2009 è la 1.5, divenuta famosa soprattutto con il suo secondo nome Cupcake. C'è retrocompatibilità con le vecchie versioni e implementa le nuove API 3.[14]
Fu poi aggiornato e il 16 settembre 2009 venne rilasciata la 1.6 chiamata anche Donut. C'è retrocompatibilità con le vecchie versioni e implementa nuove funzioni e tecnologie come il supporto alle reti CDMA, diverse risoluzioni di schermo e una ricerca globale interna nel telefono e su internet contemporaneamente. I primi cellulari con Android 1.6 nativo sono sul mercato da ottobre 2009.[15]
Il 27 ottobre 2009 Google pubblica la versione 2.0 del suo sistema operativo Open Source,[16] seguita da una minor release dell'SDK, la versione 2.0.1, il 4 dicembre 2009.[17]
Il 12 gennaio 2010 è stato rilasciato l'Android SDK 2.1.
Il 20 maggio 2010 al Google I/O conference è stato rilasciato l'Android SDK 2.2, nome in codice Froyo. Sono stati rilasciati importanti aggiornamenti: nuovo kernel linux 2.6.32, nuovo compilatore JIT, V8 Engine per il javascript, Tethering Wi-fi Nativo per utilizzare il terminale come Hotspot Wireless, nuove Icone per la Home, Telefono (Sinistra) e Browser (Destra). Adobe Flash Player 10.1 e Adobe AIR Integrato. Possibilità di installare le apps sulla memoria SD, feature molto attesa dalla community mondiale. Aggiornamento automatico Over-the-Air delle Applicazioni. Nuove Api per gli sviluppatori, tra cui le OpenGL ES 2.0. Il tutto si è tradotto in 2-3X di velocità maggiore, performance e fluidità rispetto alla precedente versione 2.1 Eclair.
Il 9 luglio 2010 l'Android SDK 2.2[18] è stato revisionato e aggiornato con gli ultimi file.img del sistema Android 2.2.
Il 7 dicembre 2010 l'Android SDK 2.3[19] è stato rilasciato
IL 27 gennaio 2011 viene rilasciata la preview dell'Android SDK 3.0[20] la versione di Android per i dispositivi Tablet. La versione definitiva dell'SDK 3.0 è stata invece ufficializzata solo il 23 febbraio 2011[21].
App Inventor
È un semplice ambiente di sviluppo basato su piattaforma Java per coloro i quali non hanno basi di programmazione; con questo strumento si possono scrivere semplici applicazioni, per uso esclusivamente personale, tramite una interfaccia grafica. [22]
App Inventor fa parte di Google Labs, luogo virtuale ove gli ingegneri di Google sviluppano le nuove applicazioni sperimentali.
Le Apps sviluppate con App Inventor non possono andare sull'Android Market.
Il 10 agosto 2011 Google ha comunicato che App Inventor verrà chiuso tre mesi dopo e diventerà un applicativo Open Source. La scelta è probabilmente dovuta o al mancato successo dello stesso oppure a causa di una denuncia da parte di Oracle per violazione dei diritti della piattaforma Java,(che Oracle detiene), su cui è sviluppato App Inventor.
Le Applicazioni
Le applicazioni sono la forma più generica per indicare dei software installabili su Android. Dato che nell' Android Market tali applicazioni vengono definite "apps", questo termine è ampiamente diffuso nella comunità di utilizzatori.
Per motivi di sicurezza informatica, le apps possono essere scaricate e utilizzate mediante un servizio di distribuzione fidato, quindi un sito internet che fornisca sia l'applicazione stessa che le relative certificazioni (software). Per venire in contro alle necessità degli sviluppatori, è stata però prevista la possibilità di disattivare il controllo di tali certificati, attraverso una voce presente nel menu "Impostazioni" (Android versione 2.2) .
Gestione delle installazioni e App2SD
Quando si vuole aggiungere all'ambiente Android una funzionalità non presente, come ad esempio un software per l'ufficio, un videogioco o una immagine di sfondo (wallpaper), si usa ricercarla nel Market e "installarla", ossia copiarla all'interno del dispositivo affinchè sia sempre presente e utilizzabile.
Dalla versione 2.2 di Android è possibile installare una app, oltre che nella memoria interna del dispositivo, su una card esterna. Questa nuova feature viene spesso chiamata dalla community "app2sd" (o "apps2sd"), derivata dai nomi dei primi esperimenti effettuati da programmatori indipendenti: attraverso del software nativo (scripts in linguaggio shell), spostavano su card esterna sia i software installati che alcune cartelle di sistema, utilizzando poi dei link simbolici per i collegamenti e facendo anche delle copie di riserva per poter ripristinare la situazione precedente in sicurezza.
Ufficialmente però, in fase di installazione, la scelta del supporto di destinazione (memoria interna o card) è lasciata allo sviluppatore del software e non all'utente finale.
Al riguardo, alcuni produttori di dispositivi hanno messo a disposizione degli utenti, nel menu "Impostazioni -> Applicazioni", una "casella di spunta" chiamata "App2sd". Questa permette di scegliere se direzionare tutte le nuove installazioni sulla card oppure sulla memoria interna del dispositivo.
In assenza di tale opzione, si può installare l' app prima sulla memoria interna (se sufficiente) e poi trasferirla sulla card, aprendo la voce di menu "Impostazioni -> Applicazioni -> Gestisci applicazioni", selezionando l' app appena installata e premendo il bottone "Sposta su scheda SD".
Su Android Market sono presenti varie apps, talune omonime di app2sd, che permettono di semplificare ulteriormente la gestione delle applicazioni installate, aggiungendo varie funzionalità come ad esempio la possibilità di scegliere, in fase di installazione, quale sia il supporto di destinazione (memoria interna oppure card).
Android Market
Per volere della stessa Google Inc., è stato allestito un sito di E-commerce destinato a creare un punto di incontro tra gli utilizzatori dei dispositivi che cercano software per Android e gli sviluppatori che vogliono diffonderli a pagamento o gratuitamente. Si chiama Android Market.
Tutti o quasi i dispositivi Android hanno preinstallata una icona denominata "Market". Per accedere al Market, bisogna eseguire tale applicazione e registrarsi gratuitamente al servizio. La registrazione è sia per scopi di fatturazione che di prevenzione a eventuali abusi del servizio stesso. All'interno del Market si possono visionare le ultime novità oppure fare una ricerca di software o altro materiale (come ad esempio i wallpaper o le suonerie) per termine, tipologia (applicazione, videogioco, altro) o di costo (gratuito o a pagamento).
Al fine di agevolare la diffusione del servizio, non è necessario depositare subito i dati contabili. Inoltre non è prevista la possibilità di addebitare l'acquisto su una scheda telefonica SIM. L'acquisto di un prodotto nel Market può essere effettuato tramite Google Checkout, con una carta di credito.
Uso corretto delle memorie esterne
Android ha la caratteristica di accettare i dispositivi di memorizzazione esterni (SD card, pennine USB, ecc...) al pari di molti sistemi operativi per PC.
Mentre non c'è bisogno di alcuna precauzione per il collegamento di questa memoria esterna al dispositivo Android, bisogna effettuare una certa procedura prima di scollegarla. Su Android 2.2 , bisogna cliccare sulla voce di menu "Impostazioni -> Scheda SD e memoria" e da qui scegliere la voce "Smonta scheda SD" oppure "Unmount U-disk" (Smonta disco USB). A questo punto può essere scollegata dal dispositivo.
Il motivo della necessità di effettuare la procedura di smontaggio è che all'interno di tali memorie potrebbero esserci ad esempio documenti o software che l'utente sta utilizzando; appena una app richiede di accedere ai dati di tali file e questi non sono più disponibili, Android la chiude forzatamente.
Un altro problema della rimozione "a caldo" di una memoria esterna, è che il salvataggio dei dati di una applicazione non avviene immediatamente ma dopo un certo tempo. Il rischio è quindi che quel salvataggio (ad esempio un documento scritto dall'utente) venga memorizzato in maniera parziale (divenendo spesso inutilizzabile) o che il file vada perso.
Programmazione
Ai fini della programmazione, il team di Android ha specificato nella documentazione ufficiale vari termini per definire i vari tipi di applicazioni.
Attività (activity)
Le attività sono quelle applicazioni destinate a una interazione diretta con l'utente. Un esempio sono i videogiochi, le applicazioni per l'ufficio e i visualizzatori (reader) di E-book. Le attività vengono generalmente distribuite sotto forma di file .APK , vengono poi installate in delle cartelle nella memoria del dispositivo (o in una card estraibile), infine viene creata una icona per l'utente, che gli permetterà di eseguirla in qualsiasi momento. E' anche possibile disinstallare le attività mediante una utility integrata con Android.
Servizio (service)
I servizi sono, al contrario, quelle applicazioni che per loro natura svolgono delle operazioni autonome e che vengono richiamati dalle attività al bisogno. Il sistema operativo fornisce alle applicazioni vari servizi già pronti all'uso, per ottenere l'accesso all'hardware o a risorse esterne (ad esempio dei web services di messaggistica). Un esempio di servizio è com.android.inputmethod.latin , ossia il componente che fa comparire la tastiera quando si seleziona (con i tasti o con un "tocco" sul touch-screen) un campo di input testuale. I servizi possono essere eseguiti o interrotti direttamente dall'utente, sebbene siano eventualità alquanto rare.
Kit di sviluppo (SDK e NDK)
I kit di sviluppo rendono possibile la creazione di applicazioni per Android anche da parte di programmatori esterni al team di Android.
Frammento (fragment)
Il frammento è quella porzione di codice (quindi di applicazione) che gestisce la parte grafica, in base alle possibilità del dispositivo su cui è stato installato. Il problema dello sviluppatore è evidente quando si trova a dover sviluppare una applicazione che funzioni, ad esempio, sia su un tablet (generalmente questi hanno uno schermo touch-screen di grandi dimensioni) che su alcuni tipi di smartphone (che possono avere 2 schermi e non è detto che entrambi siano touch-screen). E' stato allora deciso, dal team di Android, di creare il concetto di "fragments", ossia una classe tanto generica da permettere lo sviluppo di una applicazione con la parte grafica slegata a quella "decisionale", in modo da rendere agevole l'adattamento dell'applicazione alle varie situazioni. Il programmatore creerà vari frammenti della parte grafica e poi Android la ridisegnerà correttamente per il dispositivo in uso. L'alternativa per il programmatore sarebbe stato di scriversi da solo un framework che facesse lo stesso lavoro (e l'avrebbe dovuto fare per tutti i suoi progetti) oppure avrebbe dovuto creare più versioni, ognuna destinata a una tipologia di dispositivo, quindi costringendolo a riscrivere diverse parti del proprio software.
Il kernel e le librerie di base
Questi componenti non sono sostituibili; al massimo sono aggiornabili alcune parti per correggere eventuali problemi di sicurezza. Quando viene rilasciata una nuova versione di Android, significa che alcune di queste parti sono state aggiornate o sostituite.
Il file APK
Il software viene solitamente distribuito sotto forma di pacchetto autoinstallante, quindi un file con estensione .APK . Questo non è altro che un file compresso, contenente il software (file con estensione .dex) le sue risorse (immagini, suoni ecc...) e alcuni file XML. L'utente medio non ha necessariamente bisogno di conoscere tale tipologia di file, dato che il dispositivo gestisce tutta la parte di installazione mediante web services come Android Market.
All'interno di questo file c'è anche un certificato che permette l'installazione di un pacchetto .APK su un dispositivo Android se questo non è stato compromesso o revocato. Il certificato deve essere presente in qualsiasi pacchetto, altrimenti Android non installerà l'applicazione al suo interno. Il certificato viene creato dallo sviluppatore dell'applicazione, che può scegliere di crearne uno di "debugging" (quindi a uso interno) o di "mercato" (per la distribuzione) e può deciderne la sua diffusione delle copie (libera o limitata). Il distributore (per esempio Android Market) ci aggiungerà poi una sua chiave, che potrà successivamente revocare, se necessario. In caso di revoca, l'applicazione non è più installabile né eseguibile in nessun dispositivo Android. Se uno sviluppatore indipendente vuole poter distribuire un suo software con pacchetto .APK , senza passare per un web service certificato, può autocertificarsi il certificato. In tal caso, l'utente riceverà un avviso che sta installando un software di questo tipo ("self-signed"); a questo punto potrà annullare l'installazione o farla proseguire a suo rischio.
Le classi
La classe è un concetto della programmazione a oggetti. Per semplificare, consiste nella suddisione di un software in "componenti", questo per evitare di usare il vecchio paradigma della programmazione lineare, che consiste nello stilare una lista di istruzioni sequenziali che possono essere poco adattabili per l'aggiunta di ulteriori funzionalità in futuro. Su Android tutti i componenti sono catalogati come classi e richiamabili da altri componenti se il programmatore ne permette questa possibilità.
Per fare qualche esempio, nella versione 3.0 livello 11 delle API di Android, le classi del package android.bluetooth permettono a uno sviluppatore indipendente di includere nella sua applicazione la possibilità di comunicare con la sua stessa applicazione (oppure un'altra) installata su un altro dispositivo mobile, senza i cavi ma solo via radio. Esiste anche il package android.gesture , con al suo interno le classi che permettono a una applicazione di ricevere le "gestures", ossia i tracciamenti di un dito che sfiora il touch-screen.
Internamente, tutti i processi dei servizi in esecuzione vengono eseguiti con tali nomi e sono visibili, su Android 2.2, nel menu Impostazioni.
Android SDK
Le applicazioni di Android sono sviluppate all'interno di un framework, ossia di una struttura dati specifica. La struttura del framework è molto chiara se si utilizza l'ambiente di sviluppo (SDK) con Eclipse;
il mancato utilizzo di Eclipse, tuttavia, non ci impedisce di scrivere applicazioni Android funzionanti.
Le applicazioni Android sono caratterizzate da una certa dualità: parti dinamiche scritte in Java e parti statiche scritte in XML. Tipico delle parti statiche possono essere quelle caratteristiche che non cambiano durante l'esecuzione dell'applicazione, come per esempio il colore dello sfondo. Tipico delle parti dinamiche sono gli aspetti programmatici come per esempio la gestione degli eventi. Questa dualità è però solo apparente. Durante l'esecuzione, infatti, la Dalvik Virtual Machine (DVM) esegue sempre un programma. Per lo sviluppo delle applicazioni è disponibile una completa documentazione [23] la quale, anche graficamente, riprende la struttura tipica della documentazione Java [24] del sito Oracle.
La Dalvik Virtual Machine
Tramite l'SDK (o meglio: tramite gli strumenti utilizzati mediante l'SDK) trasformiamo la nostra applicazione Android in un codice intermedio chiamato bytecode; questo è esattamente quello che accade abitualmente in Java, ossia:
Codice Java: compilazione: bytecode: VM -> esecuzione reale del programma
Questo bytecode viene eseguito dal un programma chiamato macchina virtuale (Virtual Machine, VM). Negli ambienti Android non viene utilizzata la Macchina virtuale Java: è stata scritta una nuova VM chiamata Dalvik Virtual Machine (DVM). Ogni terminale Android ha la sua DVM, come descritto nell'architettura del sistema; il suo compito è solo questo: eseguire il bytecode. Avremo quindi la seguente catena di esecuzione:
Applicazione Android: compilazione: bytecode: DVM -> esecuzione reale dell'applicazione Android
L'idea è questa: essendo la DVM uguale per tutti i dispositivi Android, ogni applicazione può essere eseguita su ogni terminale, indipendentemente dal costruttore e dall'implementazione. La conseguenza di questa idea, che è anche una visione, è stata questa: molti costruttori di dispositivi mobili scelgono Android; in questo modo possono fornire ai propri utenti un ambiente condiviso da moltissimi altri utenti.
Creazione, compilazione, emulazione
Tramite l'SDK possiamo passare dalla descrizione della nostra applicazione alla sua effettiva esecuzione sia in emulazione, sia su un dispositivo concreto. Per descrivere l'applicazione al dispositivo prescelto si utilizza il file Manifest.xml Possiamo quindi affermare che un'applicazione è descritta completamente da una tripletta:
- Codice Java
- Risorse statiche xml
- Manifest.xml
Il codice Java viene compilato insieme all'xml per generare un file con estensione .apk: esso contiene il bytecode per la DVM. I passi successivi servono per installare il bytecode nel dispositivo (ed eseguirlo in emulazione).
Java
Si afferma che il linguaggio Java per applicazioni Android sia il Java standard: esistono delle contestazioni a questa affermazione. Un dato di fatto: la virtual machine è diversa (Dalvik). Dal punto di vista del programmatore l'approccio cambia: stiamo programmando un terminale mobile che risponde necessariamente ad eventi (touch schermo, azioni da tastiera).
Nella tipica applicazione Android non c'è un entry point (metodo "main") da dove normalmente un programma comincia a caricare le sue parti software e avviarsi: tutto è pensato per essere un "componente" pilotato dagli eventi ("Event Driven") dell'hardware o di altri componenti. Questo paradigma fa sì che il programmatore sviluppi per ogni hardware delle routine il più possibile indipendenti. Un vantaggio è che il sistema operativo potrà ottimizzare le risorse, ad esempio rinunciando a caricare componenti (e hardware) non supportati o non prioritari perché inutilizzati. Inoltre, i componenti possono condividere le loro funzionalità: se ad esempio un videogioco trova installato nel dispositivo un programma che ritocca le fotografie appena scattate con la webcam, può avviarlo (se l'utente glielo consente) per permettere all'utente di ritoccare tali foto, sceglierne una e "farsela passare" per scopi ludici. Il tutto con una interfaccia grafica perfettamente integrata e quindi senza tante aperture e chiusure di programmi. Ma soprattutto, il programmatore di videogiochi è così sollevato dall'onere di dover creare un sottoprogetto per implementare una funzionalità già esistente sotto altra forma.[25]
Risorse XML
Parte dichiarativa contenente varie informazioni:
- informazioni di layout
- supporto multilingue
Android Manifest XML
File che descrive l'applicazione al dispositivo.
I dispositivi
Smartphone
Il primo dispositivo mobile dotato della piattaforma Android è stato il T-Mobile G1, prodotto dalla società taiwanese HTC e commercializzato dal carrier telefonico T-Mobile. Il prodotto è stato presentato il 23 settembre 2008 a New York, mentre la data di uscita nel mercato è stata il 22 ottobre 2008. Le caratteristiche principali del dispositivo sono: tastiera QWERTY, schermo touchscreen da 3.2 pollici con risoluzione di 320x480 pixel, supporto per la connettività 3G UMTS/HSDPA a 7,2 Mbps, 192 MB di RAM e 256 MB di memoria flash.
Il prezzo di lancio era di 179 $ negli Stati Uniti, con obbligo di sottoscrizione ad un contratto biennale con il carrier T-Mobile, mentre in Italia il dispositivo è noto con il nome di HTC Dream ed il prezzo iniziale fu di 450 € senza contratto. Il dispositivo è stato inizialmente distribuito negli USA il 22 ottobre 2008 e nel Regno Unito il 30 dello stesso mese. In seguito è stato commercializzato in Italia HTC Magic, un dispositivo con caratteristiche simili a quelle del T-Mobile G1, seppur non dotato di una tastiera a livello hardware; in seguito è stato introdotto da parte di Samsung il dispositivo Galaxy dotato di schermo AMOLED in seguito il Galaxy S dotato di una fotocamera senza flash, presente però nel suo successore Galaxy S II.
Il primo dispositivo dotato di Android 2.0 è il Motorola Milestone, presentato nell'ultima parte del 2009 e commercializzato in Italia intorno ai 499 euro. Il 4 gennaio 2010 è stato rilasciato il nuovo Nexus One, dotato di Android 2.1, prodotto da HTC e Google. A stretto giro di posta, la versione 2.1 diventa disponibile anche per gli altri dispositivi Android quali HTC, Motorola e altri.
Nel 2010 sono stati poi presentati e messi in commercio una nuova generazione di smartphone con sistema operativo Android che spinti dal Nexus One hanno caratteristiche tecniche di livello superiore (processore da 1 GHz e RAM fino a 512MB). Tra questi troviamo l'HTC Desire e il Samsung Galaxy S.
Il 16 dicembre 2010 è stato rilasciato il successore di Nexus One: il Nexus S, prodotto da Samsung, è il primo terminale Android a montare in partenza la release 2.3 dell'OS, denominata Gingerbread.
Il 31 gennaio 2011 viene ufficialmente dichiarato che Android è il sistema operativo di smartphone e tablet più diffuso nel mondo: infatti nell'ultimo trimestre del 2010 Android è riuscito a superare Symbian, l'incontrastato sistema operativo di Nokia per oltre 10 anni, vendendo nel mondo ben 32,9 milioni di smartphone contro i 30,6 milioni di Symbian. Dal 2008 Android è cresciuto, anno su anno, del 615.1%.
Tablet
Nel 2009 la Toshiba ha presentato il tablet journ.e Touch, con schermo da 7 pollici e sistema Android 2.0.
Durante il 2010 sono stati presentati molti tablet che utilizzano Android come sistema operativo. Quello che ha ricevuto più interesse dei media è stato sicuramente il Samsung Galaxy Tab con la versione 2.2 Froyo, che si è posto in diretta concorrenza con l'iPad di Apple. Il prodotto è stato presentato durante l'IFA di Berlino 2010 ed è stato messo in commercio a partire dalla fine di settembre 2010.[26]
La nuova versione di Android dedicata ai tablet è la versione 3.0 Honeycomb e il primo tablet ufficializzato con questa versione dell'OS è stato il Motorola Xoom[27], che si aggiorna automaticamente con il 3.1. Il primo tablet a montare HoneyComb 3.1 è stato il Samsung Galaxy Tab 10.1 Slim.
I firmware
Molti telefoni che utilizzano Android come OS possono ottenere (grazie al lavoro di alcune comunità, come quella di XDA) i permessi di root, essendo Android basato su kernel linux. Questo "sblocco" permette ai dispositivi di accedere a funzioni avanzate altrimenti inaccessibili e soprattutto permettono all'utente di cambiare il firmware del telefono (senza avere i permessi aggiuntivi è comunque possibile installare eventuali aggiornamenti firmware ufficiali del produttore del telefono, senza perdere la garanzia).
Inizialmente tutto il lavoro si è concentrato sull'HTC Dream con firmware come Mikhael,[28] JacHero, TheDudes e altri.
Ad oggi la potenza dei firmware preinstallati solitamente non spinge gli utenti a sostituire i loro firmware con altri creati dalle comunità online, ma rimane comunque molto popolare il firmware CyanogenMod[29] compatibile con molti terminali fra cui il Nexus One, l'HTC Magic e l'HTC Desire. Esistono raccolte di firmware come quella di AndroidPedia.[30]
Concorso a premi
Al fine di favorire lo sviluppo di applicazioni per la piattaforma l'azienda Google ha indetto un concorso a premi legato allo sviluppo di applicazioni per Android. Il concorso a premi assegnerà una serie di premi e incentivi alle applicazioni, la scelta delle applicazioni vincenti verrà effettuata internamente da Google e la somma dei premi è di 10 milioni di dollari. Dal concorso risultano esclusi i programmatori residenti a Cuba, Iran, Siria, Nord Corea, Sudan, Burma (Myanmar), Quebec e Italia.[31] Le nazioni sono state escluse per adempiere alla legislazione statunitense contro il terrorismo o per impedimenti burocratici locali. L'Italia risulta esclusa per via della legislazione locale sulle vincite a premi sebbene la sua esclusione sia ancora in discussione.[32]
Commercializzazione in Italia
Il primo telefonino con Android venduto in Italia è stato Htc Dream con l'operatore mobile TIM al prezzo di 429 € senza contratto oppure a un prezzo minore con contratto. Il dispositivo è stato privato di alcune funzionalità da parte della TIM stessa. A seguire anche Vodafone ha venduto il telefonino. Il secondo "Googlephone" nato dalla collaborazione tra Google, HTC e Vodafone è HTC Magic, commercializzato dal 5 maggio da Vodafone e dal 1 maggio in colorazione nera e poi anche bianca. Entrambi gli operatori lo vendono a 450 € ma Vodafone include una micro sd da 8 GB mentre TIM una da 1 GB, quest'ultima inoltre include nel dispositivo la versione di Android 1.5 di HTC e non di Google. Da luglio 2009 arriva con l'operatore Wind il Samsung Galaxy, primo smartphone dotato di sistema operativo Android della casa coreana al costo di 399 €.
Il 4 settembre 2009 Google, dopo aver annunciato lo sviluppo di un nuovo applicativo dell'Android Market, ha confermato che sarà possibile inserire le Applicazioni a Pagamento anche per sviluppatori Italiani.[33]
Critiche e polemiche
Un team di sviluppatori si è visto rigettare un'applicazione regolarmente inserita nell'Android Market. L'applicazione in questione, "WiFi Tether for Root Users", è dedicata al tethering (permette ai dispositivi di funzionare come veri e propri router WiFi per girare connettività su altri apparecchi). La motivazione è che T-Mobile (primo carrier ufficiale di Android) vieta il tethering, e quindi le applicazioni ad esso dedicate creano un conflitto di interessi.
Le notizie hanno scatenato pesanti polemiche tra gli utenti, indignati dalla poca flessibilità dimostrata da Google, che fa pensare che il sistema non sia in realtà tanto "open" come viene presentato[34].
Va detto comunque che, cambiando il sistema operativo del telefono, seppur andando incontro a possibili problemi legati soprattutto alla garanzia, diventa perfettamente possibile l'uso del suddetto tethering wi-fi.
In ogni caso il tethering wi-fi è stato introdotto nella versione 2.2 di Android, denominata anche "Froyo".[35]
Note
- ^ Software Update Available for the Android Developer Phone
- ^ Announcing the Android 1.0 SDK, release 1
- ^ a b What is Android? da http://developer.android.com
- ^ 5 Reasons Why Android May Take Half the Netbook Market
- ^ Edmondo Lopez e Diego Magnani, Cos'è Android? La storia del sistema operativo mobile di Google, su androiditaly.com, Android Italy, 4 aprile 2011.
- ^ Ben Elgin, Google Buys Android for Its Mobile Arsenal, su businessweek.com, Business Week, 17 agosto 2005. URL consultato il 7 novembre 2007.
- ^ John Markoff, I, Robot: The Man Behind the Google Phone, New York Times, 4 novembre 2007. URL consultato il 14 ottobre 2008.
- ^ Scott Kirsner, Introducing the Google Phone, in The Boston Globe. URL consultato il 24 ottobre 2008.
- ^ T-Mobile Brings Unlimited Multiplayer Gaming to US Market with First Launch of Nokia N-Gage Game Deck, su nokia.com, Nokia, 23 September 2003. URL consultato il 5 aprile 2009.
- ^ Ben Elgin, Google Buys Android for Its Mobile Arsenal, in BusinessWeek, 17 agosto 2005. URL consultato il 23 aprile 2009.
- ^ Industry Leaders Announce Open Platform for Mobile Devices, su openhandsetalliance.com, Open Handset Alliance, 5 novembre 2007. URL consultato il 5 novembre 2007.
- ^ In other IDEs
- ^ Android SDK 1.1
- ^ Android SDK 1.5
- ^ Android SDK 1.6
- ^ Android SDK 2.0 è qui
- ^ Android SDK 2.0.1
- ^ Android SDK 2.2
- ^ Android SDK 2.3
- ^ Android SDK 3.0 Preview
- ^ SDK 3.0 rilasciata ufficialmente
- ^ http://www.youtube.com/watch?v=4XSY70hSLgw App Inventor Tutorial
- ^ http://developer.android.com/reference/packages.html
- ^ http://download.oracle.com/javase/7/docs/api/
- ^ http://developer.android.com/guide/topics/fundamentals.html
- ^ Samsung Galaxy Tab, foto e video del tablet disponibile a metà Settembre.
- ^ Motorola Xoom presentato ufficialmente
- ^ Mikhael Android Build
- ^ CyanogenMod 6 stabile per Nexus One e HTC Magic
- ^ AndroidPedia
- ^ Concorso Android, Google cancella l'Italia
- ^ Android in Italia, Google ci pensa troppo? 16 novembre 2007
- ^ Esempio di applicazione a Pagamento sviluppata da un italiano
- ^ Google: Android non è un router 02 aprile 2009
- ^ http://www.zdnet.com/blog/gadgetreviews/google-android-22-froyo-tethering-wi-fi-hotspot-support/14760
Voci correlate
Altri progetti
- Wikimedia Commons contiene immagini o altri file su Android
- Wikinotizie contiene l'articolo Nokia leader nelle vendite, ma è Android il più usato, 1 febbraio 2011