Google Android: una nuova piattaforma Open Source per dispositivi mobili
1. Presentazione
Relatore: Luca Nardelli
lunard@gmail.com
http://www.linkedin.com/in/lunard
URL al gruppo di sviluppo:
http://groups.google.it/group/google-android-sviluppatori
Google Android: una nuova piattaforma
30/11/2008 1
Open Source per dispositivi mobili
2. Google Android: una nuova piattaforma Open Source
per dispositivi mobili
Android e’ una piattaforma Open Source composta da:
OS di base (Linux like)
un middeleware
applicazioni di sistema
Google Android: una nuova piattaforma
30/11/2008 2
Open Source per dispositivi mobili
3. Breve descrizione del middeleware
Permette gestire dati accessibili da tutte le
Permette l’accesso a risorse quali Permette alle applicazioni di
applicazioni. L’SDK fornisce un set di tipi
immagini, layout, file audio, ecc visualizzare messaggi nella status
standard di Content Provider, per la gestione
bar
Gestisce il life cycle di di diverse tipologie di dati: audio, video,
un’applicazione immagini, ecc
Liberia basata sulle API OpenGL ES 1.0;
Il motore grafico sottostante Motore leggero e ottimizzato per
queste librerie utilizzano l’accelerazione hardware se presente
Implementazione delle librerie standard C (libc appunto), la gestione di DataBase relazionali.
Un motore per la navigazione del Web, che viene sfruttato sia
Libreria basata sul progetto OpenCORE, permette
oppure un software 3D ottimizzato
derivata da BSD e pensata per device Linux‐based
Gestisce l’accesso al sottosistema video e ai layer 2D e 3D
dal Web Browser di sistema, sia dalla vista WebView
la riproduzione/registrazione di molti formati video e audio,
(una View rappresenta in Android la componente di base per la creazione
come ad esempio MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG
delle UI)
Google Android: una nuova piattaforma
30/11/2008 3
Open Source per dispositivi mobili
4. Il codice sorgente della piattaforma e’ libero!
I sorgenti sono disponibili all’URL http://source.android.com/
In generale il codice e’ fornito sotto licenza Apache 2.0
E’ stata definita una suddivisione dei progetti in 3 categorie:
• Core Projects: rappresentano le basi della piattaforma Android
• External projects: insieme di altri progetti Open Source dei quali
Android fa uso
• Packages: applicazioni e servizi di base
Google Android: una nuova piattaforma
30/11/2008 4
Open Source per dispositivi mobili
5. Illimitate possibilita’ di customizzazione
della piattaforma Android
La pubblicazione del codice sorgente apre le porte a numerose possibilità
di customizzazione della piattaforma Android, sarà in particolare possibile:
• il porting di Android su device mobili già in commercio
e’ ad esempio in corso il porting di Android sul Neo Freerunner, dispositivo nato
dal progetto OpenMoko
con il crescere della comunità Android, sarà auspicabile la realizzazione di ROM
per gli smartphone di maggior successo commerciale (es Samsung Omnia,
iPhone, HTC HD, ecc)
• creazione di librerie dedicate a compiti specifici
un esempio potrebbe essere l’implementazione di motori per il
riconoscimento automatico della voce, tracking del labbiale, analisi delle
gesti, che potrebbe alimentare e favorire lo sviluppo di applicazioni pensate ad
esempio per i portatori di handicap.
Google Android: una nuova piattaforma
30/11/2008 5
Open Source per dispositivi mobili
6. Open Handset Alliance™
Per sostenere il progetto Android, Google fonda
la Open Handset Alliance™, un gruppo di 30
compagnie suddivide in
• provider telefonici
• compagnie leader nella realizzazione di componenti elettronici
• produttori di device mobili
• Software Houses
• compagnie per la commercializzazione
Google Android: una nuova piattaforma
30/11/2008 6
Open Source per dispositivi mobili
7. Strumenti per sviluppare con Android
• Le applicazioni vengono sviluppate interamente in Java.
• I requisiti di sistema per lo sviluppo di applicazioni Android sono:
OS Windows XP/Vista, Linux, Mac OS X 10.4.8 o succ.
Eclipse IDE 3.3/3.4
JDK 5 o JDK 6
• Allo sviluppatore viene fornita una completa SDK, che comprende in particolare
Un insieme di tool utilizzabili anche da linea di comando
ADT (Android Development Tools) plugin per Eclipse
permette una comoda gestione dei progetti Android
garantisce l’integrazione e l’utilizzo dei tool offetti dall’SDK all’interno dell’ambiente Eclipse,
come ad esempio il DDMS (Dalvik Debug Monitor Service), che permette la gestione dei
processi sull’emulatore o device, la creazione di screenshot e il debugging delle applicazioni.
Android Emulator, che mette a disposizione dello sviluppatore un ambiente di run-
time completo per il design, l’esecuzione e il debugging di applicazioni
un insieme in progetti di esempio che illustrano l’utilizzo delle principali API Java di
Android.
Google Android: una nuova piattaforma
30/11/2008 7
Open Source per dispositivi mobili
8. Efficienza nella creazione di applicazioni
in ambiente Eclipse tramite ADT (1)
ADT facilita la creazione di nuove applicazioni
Il plugin ADT risulta facilmente configurabile
controllo dell’emulatore: e’ possibile ad esempio
simulare una chiamata oppure l’invio di SMS
Log di sistema: permette inoltre la gestione
creazione della corretta
dei messaggi di debug definiti tramite il metodo Log.w(..)
struttura logica struttura
definizione delle risorse necessarie
al corretto build dell’applicazione
Google Android: una nuova piattaforma
30/11/2008 8
Open Source per dispositivi mobili
9. Efficienza nella creazione di applicazioni
in ambiente Eclipse tramite ADT (2) – gestione del file Manifest
Ovviamente e’ possibile l’edit diretto
del file XML
Google Android: una nuova piattaforma
30/11/2008 9
Open Source per dispositivi mobili
10. Efficienza nella creazione di applicazioni
in ambiente Eclipse tramite ADT (3) – Editors (layout, strings, ecc)
ADT mette a disposizione dello sviluppatore
comodi editor, quali ad esempio il Graphical Layout Editor
.. oppure l’editor di risorse
Google Android: una nuova piattaforma
30/11/2008 10
Open Source per dispositivi mobili
11. Efficienza nella creazione di applicazioni
in ambiente Eclipse tramite ADT (4) – debugging & Emulator
L’emulatore e’ pensato per aiutare lo sviluppatore
a controllare i vari aspetti relativi alla corretta esecuzione
L’emulatore fornisce un ottimo ambiente run time
E’ possibile gestire facilmente le configurazioni
delle applicazioni all’interno dell’ambiente Android.
per l’esecuzione ed il debug delle applicazioni
per il debug (e l’esecuzione) delle applicazoni
Vengono quindi resi disponibili numerosi setting..
Google Android: una nuova piattaforma
30/11/2008 11
Open Source per dispositivi mobili
12. Android ed il gruppo di sviluppo italiano..
Il gruppo e’ stato fondato con l’obiettivo di fornire agli sviluppatori italiani
un “punto di incontro”, per condividere idee ed esperienze nella
programmazione sotto Android.
Ecco alcune proposte applicative nate all’interno del gruppo:
• applicazioni che contribuiscano ad abbattere il Digital Divide:
accesso/ricerca veloce ed efficiente della conoscenza distribuita in rete
(eg Wikipedia)
e-learning remoto
(si veda ad esempio http://punto-informatico.it/405031/PI/News/e-learning-contro-digital-
divide.aspx)
• applicazioni che forniscano supporto alle escursioni in montagna
sistema di previsioni meteorologiche/stato manti nevosi
ranking difficoltà percorsi
L’entusiasmo di alcuni membri del gruppo di sviluppo ha già contribuito
ad alimentare interessanti iniziative, quali
• forum italiano su Android (http://www.androidiani.com/forum)
• interessante Blog sul mondo Android (http://www.androidiani.com/)
Google Android: una nuova piattaforma
30/11/2008 12
Open Source per dispositivi mobili