Google Android: una nuova piattaforma Open Source per dispositivi mobili

12
Presentazione 30/11/2008 1 Google Android: una nuova piattaforma Open Source per dispositivi mobili Relatore: Luca Nardelli [email protected] http://www.linkedin.com/in/lunard URL al gruppo di sviluppo: http://groups.google.it/group/google-android-sviluppatori

description

Intervento di Luca Nardelli

Transcript of Google Android: una nuova piattaforma Open Source per dispositivi mobili

Page 1: Google Android: una nuova piattaforma Open Source per dispositivi mobili

Presentazione

30/11/2008 1Google Android: una nuova piattaforma 

Open Source per dispositivi mobili

Relatore: Luca Nardelli

[email protected]

http://www.linkedin.com/in/lunard

URL al gruppo di sviluppo:

http://groups.google.it/group/google-android-sviluppatori

Page 2: Google Android: una nuova piattaforma Open Source per dispositivi mobili

Google Android: una nuova piattaforma Open Source per dispositivi mobili

30/11/2008 2Google 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

Page 3: Google Android: una nuova piattaforma Open Source per dispositivi mobili

Breve descrizione del middeleware

30/11/2008 3Google Android: una nuova piattaforma 

Open Source per dispositivi mobili

Implementazione delle librerie standard C (libc appunto), derivata da BSD e pensata per device Linux‐basedImplementazione delle librerie standard C (libc appunto), derivata da BSD e pensata per device Linux‐basedLibreria basata sul progetto OpenCORE, permette la riproduzione/registrazione di molti formati video e audio,come ad esempio MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG

Libreria basata sul progetto OpenCORE, permette la riproduzione/registrazione di molti formati video e audio,come ad esempio MPEG4, H.264, MP3, AAC, AMR, JPG, and PNGGestisce l’accesso al sottosistema video e ai layer 2D e 3DGestisce l’accesso al sottosistema video e ai layer 2D e 3D

Un motore per la navigazione del Web, che viene sfruttato siadal Web Browser di sistema, sia dalla vista WebView (una View rappresenta in Android la componente di base per la creazionedelle UI)

Un motore per la navigazione del Web, che viene sfruttato siadal Web Browser di sistema, sia dalla vista WebView (una View rappresenta in Android la componente di base per la creazionedelle UI)

Il motore grafico sottostanteIl motore grafico sottostanteLiberia basata sulle API OpenGL ES 1.0; queste librerie utilizzano l’accelerazione hardware se presenteoppure un software 3D ottimizzato

Liberia basata sulle API OpenGL ES 1.0; queste librerie utilizzano l’accelerazione hardware se presenteoppure un software 3D ottimizzato

Motore leggero e ottimizzato per la gestione di DataBase relazionali.Motore leggero e ottimizzato per la gestione di DataBase relazionali.

Gestisce il life cycle di un’applicazione Gestisce il life cycle di un’applicazione 

Permette alle applicazioni di visualizzare messaggi nella status bar

Permette alle applicazioni di visualizzare messaggi nella status bar

Permette l’accesso a risorse quali immagini, layout, file audio, eccPermette l’accesso a risorse quali immagini, layout, file audio, ecc

Permette gestire dati accessibili da tutte le applicazioni. L’SDK fornisce un set di tipi standard di Content Provider, per la gestione di diverse tipologie di dati: audio, video, immagini, ecc

Permette gestire dati accessibili da tutte le applicazioni. L’SDK fornisce un set di tipi standard di Content Provider, per la gestione di diverse tipologie di dati: audio, video, immagini, ecc

Page 4: Google Android: una nuova piattaforma Open Source per dispositivi mobili

Il codice sorgente della piattaforma e’ libero!

30/11/2008 4Google Android: una nuova piattaforma 

Open Source per dispositivi mobili

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

Page 5: Google Android: una nuova piattaforma Open Source per dispositivi mobili

Illimitate possibilita’ di customizzazione della piattaforma Android

30/11/2008Google Android: una nuova piattaforma 

Open Source per dispositivi mobili

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

5

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.

Page 6: Google Android: una nuova piattaforma Open Source per dispositivi mobili

Open Handset Alliance™

30/11/2008 6Google Android: una nuova piattaforma 

Open Source per dispositivi mobili

Per sostenere il progetto Android, Google fondala Open Handset Alliance™, un gruppo di 30compagnie suddivide in

• provider telefonici

• compagnie leader nella realizzazione di componenti elettronici

• produttori di device mobili

• Software Houses

• compagnie per la commercializzazione

Page 7: Google Android: una nuova piattaforma Open Source per dispositivi mobili

Strumenti per sviluppare con Android

30/11/2008 7Google Android: una nuova piattaforma 

Open Source per dispositivi mobili

• 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.4JDK 5 o JDK 6

• Allo sviluppatore viene fornita una completa SDK, che comprende in particolareUn insieme di tool utilizzabili anche da linea di comandoADT (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 applicazioniun insieme in progetti di esempio che illustrano l’utilizzo delle principali API Java di Android.

Page 8: Google Android: una nuova piattaforma Open Source per dispositivi mobili

Efficienza nella creazione di applicazioni in ambiente Eclipse tramite ADT (1)

30/11/2008 8Google Android: una nuova piattaforma 

Open Source per dispositivi mobili

Il plugin ADT risulta facilmente configurabileADT facilita la creazione di nuove applicazioni

creazione della corretta struttura logica struttura creazione della corretta struttura logica struttura definizione delle risorse necessarie 

al corretto build dell’applicazionedefinizione delle risorse necessarie al corretto build dell’applicazione

controllo dell’emulatore: e’ possibile ad esempio simulare una chiamata oppure l’invio di SMScontrollo dell’emulatore: e’ possibile ad esempio simulare una chiamata oppure l’invio di SMS

Log di sistema: permette inoltre la gestionedei messaggi di debug definiti tramite il metodo Log.w(..)Log di sistema: permette inoltre la gestionedei messaggi di debug definiti tramite il metodo Log.w(..)

Page 9: Google Android: una nuova piattaforma Open Source per dispositivi mobili

30/11/2008 9Google Android: una nuova piattaforma 

Open Source per dispositivi mobili

Efficienza nella creazione di applicazioni in ambiente Eclipse tramite ADT (2) – gestione del file Manifest

Ovviamente e’ possibile l’edit direttodel file XMLOvviamente e’ possibile l’edit direttodel file XML

Page 10: Google Android: una nuova piattaforma Open Source per dispositivi mobili

30/11/2008 10Google Android: una nuova piattaforma 

Open Source per dispositivi mobili

Efficienza nella creazione di applicazioni in ambiente Eclipse tramite ADT (3) – Editors (layout, strings, ecc)

ADT mette a disposizione dello sviluppatorecomodi editor, quali ad esempio il Graphical Layout EditorADT mette a disposizione dello sviluppatorecomodi editor, quali ad esempio il Graphical Layout Editor

.. oppure l’editor di risorse.. oppure l’editor di risorse

Page 11: Google Android: una nuova piattaforma Open Source per dispositivi mobili

30/11/2008Google Android: una nuova piattaforma 

Open Source per dispositivi mobili

Efficienza nella creazione di applicazioni in ambiente Eclipse tramite ADT (4) – debugging & Emulator

11

E’ possibile gestire facilmente le configurazioni per il debug (e l’esecuzione) delle applicazoniE’ possibile gestire facilmente le configurazioni per il debug (e l’esecuzione) delle applicazoni

L’emulatore fornisce un ottimo ambiente run timeper l’esecuzione ed il debug delle applicazioniL’emulatore fornisce un ottimo ambiente run timeper l’esecuzione ed il debug delle applicazioni

L’emulatore e’ pensato per aiutare lo sviluppatorea controllare i vari aspetti relativi alla corretta esecuzionedelle applicazioni all’interno dell’ambiente Android.Vengono quindi resi disponibili numerosi setting..

L’emulatore e’ pensato per aiutare lo sviluppatorea controllare i vari aspetti relativi alla corretta esecuzionedelle applicazioni all’interno dell’ambiente Android.Vengono quindi resi disponibili numerosi setting..

Page 12: Google Android: una nuova piattaforma Open Source per dispositivi mobili

30/11/2008Google Android: una nuova piattaforma 

Open Source per dispositivi mobili

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

12

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 nevosiranking 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/)