Top Banner
Presentazione 26/06/22 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
15
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Presentazione+Android

Presentazione

12/04/23 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: Presentazione+Android

Google Android: una nuova piattaforma Open Source per dispositivi mobili

12/04/23 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: Presentazione+Android

Breve descrizione del middeleware

12/04/23 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 PNG

Gestisce l’accesso al sottosistema video e ai layer 2D e 3DGestisce l’accesso al sottosistema video e ai layer 2D e 3DUn 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: Presentazione+Android

Il codice sorgente della piattaforma e’ libero!

12/04/23 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: Presentazione+Android

Illimitate possibilita’ di customizzazione della piattaforma Android

12/04/23 5Google 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 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: Presentazione+Android

Recentemente: nuovi porting

12/04/23 6Google Android: una nuova piattaforma Open Source per dispositivi mobili

Nokia n810

NetbookAsus eeePC

Page 7: Presentazione+Android

Programmazione nativa sotto Android

12/04/23 7Google Android: una nuova piattaforma Open Source per dispositivi mobili

Dopo aver scaricato I sorgenti (2,4 Gbyte) e’ possibile compilare l’intera piattaforma (circa 5 Gbyte)

In linea del tutto generale e’ possibile compilare una libreria (*.so) e renderla accessibile allo strato applicativo tramite JNI (Java Native Interface)

API Java

JNIJNI custom APImyLibrary.somyLibrary.so ApplicationApplication

Page 8: Presentazione+Android

Open Handset Alliance™

12/04/23 8Google 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 9: Presentazione+Android

Strumenti per sviluppare con Android

12/04/23 9Google 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.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.

Page 10: Presentazione+Android

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

12/04/23 10Google 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 11: Presentazione+Android

12/04/23 11Google 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 12: Presentazione+Android

12/04/23 12Google 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 13: Presentazione+Android

12/04/23 13Google Android: una nuova piattaforma Open Source per dispositivi mobili

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

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 14: Presentazione+Android

Aspettiamoci molte novita’..

12/04/23 14Google Android: una nuova piattaforma Open Source per dispositivi mobili

Dal 16 al 19 Febbraio si terra’ a Barcellona il congresso GSMA,durante il quale verranno presentati molti nuovi smartphone basati su Android

Page 15: Presentazione+Android

12/04/23 15Google 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 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/)