Post on 01-May-2015
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
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
9 Gennaio 2007 - Steve Jobs annuncia l'iPhone al Macworld 29 Giugno 2007 - Rilasciata prima versione dell' iPhone.
Storia
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
27 gennaio 2010 - Steve Jobs presenta l'iPad ad una conferenza Apple allo Yerba Buena Center for the Arts Theater di San Francisco
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
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 virtualeFoto 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
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
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.
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
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.010 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 - Ice Cream Sandwich
Durante la conferenza Google I/O 2011, all'inizio di maggio del 2011, è stato annunciato il prossimo sistema operativo Android, denominato Ice Cream Sandwich
Avrà il compito di unificare sotto un unico sistema operativo tutti i futuri dispositivi Android siano essi smartphone, tablet o altro
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.
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 ottimizzataDatabase 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/
Architettura
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.
Prerequisiti per sviluppare
1.Programmazione ad oggetti2.Java3.XML
4.C/C++ con la NDK .
A nostra disposizione:
1. Android API2. Development tools3. Emulatore Android4. DDMS (Dalvik Debug Monitor Service)5. Tanta documentazione
Tutto scaricabile da http://developer.android.com
Google Play (Android market)
Per pubblicare occorre:
1. Registrarsi su Google Play2. Pagare 25$3. Carico del'apk con una chiave generata dallo sviluppatore4. ... e fatto.
• Gratis / A pagamento (30% per Google)• In-app billing