The information contained in this document is the property of NTT DATA Italia S.p.A. and the addressee of the document. The information is
closely linked to the oral comments accompanying the same, and may be used only by those attending the presentation. Copying,
publishing or divulging the material contained in this document is forbidden and may be illegal.
Panoramica mobile development con Android
ITIS A. Monaco
Cosenza, 25 Marzo 2014
© Copyright NTT DATA Italia – All Rights Reserved
M052 - 04
Sommario
►
Il progetto Android
►
L’architettura di Android
►
Ecosistema e ambiente di sviluppo
►
La documentazione per gli sviluppatori
© Copyright NTT DATA Italia – All Rights Reserved
1
M052 - 04
Il progetto Android: la storia
2003: Andy Rubin fonda ―
Android
mobile devices that are ……………
more aware
Primo
mese Inc. “...smarter
Secondo mese
of its owners location and preferences.”
2004: Apple avvia ― Project Purple, un progetto segreto con AT&T.
2005: Google acquisisce Android Inc e continua lo sviluppo del sistema.
2007, jan: Apple rilascia il primo iPhone.
2007, nov: Google, HTC, Samsung rivelano l‘Open Handset Alliance e Android.
2008: primo telefono Android: HTC Dream (G1).
© Copyright NTT DATA Italia – All Rights Reserved
2
M052 - 04
Il progetto Android: le versioni
Primo mese
Anno
Versione
Nome in codice
2008
1.0
n/a
2009
1.1
Petit Four
1.5
Cup Cake
1.6
Donut
2.0
Eclair
2.2
Froyo (Frozen Yogurt)
2.4
Gingerbread
3.0
Honeycomb
4.0
Ice Cream Sandwitch
2012
4.1
Jelly Bean
2013
4.4
KitKat
2010
2011
……………
http://it.wikipedia.org/wiki/Android#Versioni
© Copyright NTT DATA Italia – All Rights Reserved
3
M052 - 04
Il progetto Android: le versioni
Primo mese
© Copyright NTT DATA Italia – All Rights Reserved
Secondo mese
……………
4
M052 - 04
Il progetto Android: le versioni
Primo mese
© Copyright NTT DATA Italia – All Rights Reserved
Secondo mese
……………
5
M052 - 04
Il progetto Android: progetto open source
Il codice di Android è disponibile
sotto licenze
“free”
Primo mese
Secondo
mesee “open source”.
……………
Linux kernel (Open Handset Alliance):
GNU GPL v2, pubblico.
Android system (Google):
Rete, telefonia, market, apps.
Apache License v2.0, privato.
Produzione di un «flagship phone» da parte di Google (Nexus), seguito da rilascio del
codice (OEM).
© Copyright NTT DATA Italia – All Rights Reserved
6
M052 - 04
L’architettura di Android
Primo mese
© Copyright NTT DATA Italia – All Rights Reserved
Secondo mese
……………
7
M052 - 04
L’architettura di Android: il kernel Linux
……………
© Copyright NTT DATA Italia – All Rights Reserved
8
M052 - 04
L’architettura di Android: il kernel Linux
Kernel 2.6+
……………
Utilizzato per la gestione dei processi e dei thread, per la gestione a basso livello della
memoria, per lo stack di rete, per la sicurezza, per il modello dei driver.
© Copyright NTT DATA Italia – All Rights Reserved
9
M052 - 04
L’architettura di Android: le librerie native
……………
© Copyright NTT DATA Italia – All Rights Reserved
10
M052 - 04
L’architettura di Android: le librerie native
Librerie C/C++ eseguite sopra al kernel Linux ed utilizzate in diversi ambiti ……………
dal sistema
Android.
Espongono inoltre funzionalità agli sviluppatori tramite l’application framework.
© Copyright NTT DATA Italia – All Rights Reserved
11
M052 - 04
L’architettura di Android: il runtime Android
……………
© Copyright NTT DATA Italia – All Rights Reserved
12
M052 - 04
L’architettura di Android: il runtime Android
E’ composto dalla Dalvik Virtual Machine e dalle Core Libraries e rende possibile
il
……………
funzionamento delle applicazioni Android.
Dalvik virtual machine. Macchina virtuale che esegue file .dex (Dalvik Executable).
Sorgente Java compilato in file .class e trasformato in formato .dex. Ogni applicazione
Android viene eseguita in un processo separato con la propria istanza della Dalvik virtual
machine. JIT compiler (versione 2.2).
Dalvik < JVM però ha altri vantaggi:
• Efficiente con più VMs.
• Footprint minimo in memoria.
• Startup time ridotto.
Core libraries.
Dalvik non rispetta la specifica J2SE, né quella J2ME. Le core libraries forniscono la
maggior parte delle funzionalità disponibili nelle librerie Java standard, così come librerie
specifiche per Android.
© Copyright NTT DATA Italia – All Rights Reserved
13
M052 - 04
L’architettura di Android: l’application framework
……………
© Copyright NTT DATA Italia – All Rights Reserved
14
M052 - 04
L’architettura di Android: l’application framework
……………
Fornisce servizi importanti, incapsulati in oggetti Java, alle applicazioni di livello
sovrastante.
Sono disponibili alla stessa maniera sia per applicazioni di sistema che per applicazioni
di terze parti.
© Copyright NTT DATA Italia – All Rights Reserved
15
M052 - 04
L’architettura di Android: le applicazioni
Primo mese
© Copyright NTT DATA Italia – All Rights Reserved
Secondo mese
……………
16
M052 - 04
L’architettura di Android: le applicazioni
Primo mese
Secondo mese
……………
Applicazioni a livello utente scritte in linguaggio Java.
App di sistema = App terze parti
© Copyright NTT DATA Italia – All Rights Reserved
17
M052 - 04
Ecosistema e ambiente di sviluppo
Android SDK Tools
AVD Manager
SDK Manager
LogCat
Lint
Proguard
Debug monitor
Primo mese
Secondo mese
……………
Integrated Development Environment (IDE)
Eclipse e ADT (a breve anche Android Studio)
Application Programming Interface (API)
© Copyright NTT DATA Italia – All Rights Reserved
18
M052 - 04
Ecosistema e ambiente di sviluppo: installazione (1)
JDK
Primo mese
Secondo mese
http://www.oracle.com/technetwork/java/javase/downloads/index.html
……………
Eclipse IDE for Java Developers
http://www.eclipse.org/downloads/packages/eclipse-ide-java-developers/keplersr1
Android SDK Tools
http://dl.google.com/android/android-sdk_r22.3-windows.zip
ADT (Android Developer Tools) plugin for Eclipse
Eclipse > Help > Install New Software : https://dl-ssl.google.com/android/eclipse/
© Copyright NTT DATA Italia – All Rights Reserved
19
M052 - 04
Ecosistema e ambiente di sviluppo: installazione (2)
JDK
Primo mese
Secondo mese
http://www.oracle.com/technetwork/java/javase/downloads/index.html
……………
SDK ADT Bundle
Alternativa messa a disposizione da Google, da un po’ di tempo.
Pacchetto di installazione pre-configurato che semplifica l’installazione.
Download
http://developer.android.com/sdk/index.html
Istruzioni
http://developer.android.com/sdk/installing/bundle.html
© Copyright NTT DATA Italia – All Rights Reserved
20
M052 - 04
Ecosistema e ambiente di sviluppo: installazione (3)
JDK
Primo mese
Secondo mese
http://www.oracle.com/technetwork/java/javase/downloads/index.html
……………
Android Studio
Nuovo ambiente integrato di sviluppo fornito da Google.
Ancora in versione EARLY ACCESS PREVIEW !!!
http://developer.android.com/sdk/installing/studio.html
© Copyright NTT DATA Italia – All Rights Reserved
21
M052 - 04
Ecosistema e ambiente di sviluppo: AVD Manager
AVD: Android Virtual Device
Primo mese
Secondo mese
……………
Android SDK contiene un emulatore
software che emula il funzionamento e
l’aspetto di una configurazione hardware
virtuale.
© Copyright NTT DATA Italia – All Rights Reserved
22
M052 - 04
Ecosistema e ambiente di sviluppo: AVD Manager
Interfaccia user-friendly per
la mese
configurazione
deimese
propri AVD.
Primo
Secondo
© Copyright NTT DATA Italia – All Rights Reserved
……………
23
M052 - 04
Ecosistema e ambiente di sviluppo: SDK Manager
SDK Manager permette diPrimo
gestire
mese gli aggiornamenti
Secondo mesedelle varie versioni di Android
……………
© Copyright NTT DATA Italia – All Rights Reserved
24
M052 - 04
Ecosistema e ambiente di sviluppo: Tools
LogCat
Primo mese
raccoglie log di un device Android
Secondo mese
……………
Lint
analisi statica per ottimizzazione e rilevazione errori comuni
Proguard
riduce la dimensione, ottimizzaed offusca il codice prodotto. Lo rende piùrapido e
resistente al reverse engineering
Dalvik Debug Monitor Server (DDMS)
strumento per il debug di dispositivi Android, con raccolta di informazioni su processi,
thread, heap, logcat ed emulazione di eventi.
© Copyright NTT DATA Italia – All Rights Reserved
25
M052 - 04
Ecosistema e ambiente di sviluppo: Eclipse e ADT
Eclipse è un ambiente di sviluppo open-source, multi-piattaforma e multi-linguaggio.
……………
È la piattaforma di riferimento per Android.
Alternative: Android Studio, NetBeans, …
© Copyright NTT DATA Italia – All Rights Reserved
26
M052 - 04
Ecosistema e ambiente di sviluppo: Eclipse e ADT
ADT: Android Developer Tools
……………
Plugin per IDE Eclipse.
Semplifica creazione, compilazione e mantenimento di progetti.
Integra tool di sviluppo.
Include editor grafici e documentazione.
© Copyright NTT DATA Italia – All Rights Reserved
27
M052 - 04
Ecosistema e ambiente di sviluppo: API
Android Distribution Numbers
Update for January
2014 – Jelly Bean Closing
in on 60%
Primo mese
Secondo mese
……………
© Copyright NTT DATA Italia – All Rights Reserved
28
M052 - 04
Ecosistema e ambiente di sviluppo: API
Android 1.5, API 3.
Primo mese
Secondo mese
……………
Riproduzione e cattura audio/video. Riconoscimento vocale. Widget. Notifiche. WebView.
Android 1.6, API 4.
Gestures. Sintesi vocale. Supporto CDMA. Supporto per dimensioni e densità di schermi
variabili.
Android 2.1, API 7.
Supporto Bluetooth 2.1. Live Wallpapers.
Android 2.2, API 8.
JIT compiler. Supporto installazione in SD card. Miglioramento del riconoscimento vocale
ed apertura a terze parti. Supporto alla tecnologia Flash.
Android 2.3, API 9/10.
Supporto nativo a Voip (SIP). Supporto a NFC. Garbage Collector concorrente. Supporto
ad altri formati multimediali.
© Copyright NTT DATA Italia – All Rights Reserved
29
M052 - 04
Ecosistema e ambiente di sviluppo: API
Android 3.0, API 11.
Primo mese
Secondo mese
……………
Fragments. ActionBar. Nuove API per il drag and drop. Supporto per l’accelerazione
hardware 2D. Nuovo framework 3D renderscript. Supporto multimediale migliorato.
Android 3.1, API 12.
Supporto a periferiche USB. Widget ridimensionabili. Supporto multimediale migliorato.
Android 4.0.1, API 14.
Merge tra versione tablet e smartphone. Linux kernel 3.x. UI riprogettata per maggior
coerenza ed unificazione. Notifiche più potenti. Supporto per riconoscimento vocale
continuo. API sociali. API di basso livello per lo streaming.
Android 4.1.3, API 16.
Project Butter. Notifiche espandibili. Social API migliorate. Riconoscimento vocale
avanzato. Sintesi vocale migliorata. Google Now. Abbandono ufficiale della tecnologia
Flash.
http://en.wikipedia.org/wiki/Android_version_history
© Copyright NTT DATA Italia – All Rights Reserved
30
M052 - 04
La documentazione Android per gli sviluppatori
Primo mese
Secondo mese
……………
http://developer.android.com
© Copyright NTT DATA Italia – All Rights Reserved
31
M052 - 04
[email protected]
© Copyright NTT DATA Italia – All Rights Reserved
32
Scarica

Panoramica mobile development con Android